빈 덮개 문제
Bin covering problem| 덮개/포장-문제 쌍 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
빈 덮개 문제에서, 크기가 다른 항목은 최소한 특정한 총 크기를 포함해야 하는 한정된 수의 빈이나 용기에 포장되어야 하며, 각각의 빈은 사용된 빈의 수를 최대화하는 방법으로, 각각의 빈은 최소한 특정한 총 크기를 포함해야 한다.
이 문제는 빈 포장 문제의 이중적 문제인데, 빈 덮개에서는 빈 크기가 아래로부터 경계되고 목표는 숫자를 최대화하는 것이다. 빈 패킹에서는 빈 크기가 위로부터 경계되고, 목표는 빈 크기를 최소화하는 것이다.[1]
문제는 NP-hard이지만 다음과 같은 다양한 효율적인 근사 알고리즘이 있다.
- 최적 빈 카운트의 1/2, /3 또는 3/4를 포함하는 알고리즘으로, 각각 시간 , ) O(n(n) 및 O에서 실행된다.[1][2]
- 점근성 PTAS, 일부 이산형 분포에 대해 예상 동작이 점근성적으로 최적인 경계 최악의 경우 동작이 있는 알고리즘 및 모든 이산형 분포에 대해 점근성적으로 최적의 예상 동작을 갖는 학습 알고리즘.[3]
- 점근성 FPTAS.[4]
양방향 빈 채우기 알고리즘
Csirik, Frenk, Lebbe, Zhang은[2]: 16–19 2/3 근사치를 위해 다음과 같은 간단한 알고리즘을 제시한다.빈 크기가 1이고 항목이 n개라고 가정합시다.
- 가장 큰(1) 항목부터 가장 작은 항목(n)까지 정렬한다.
- 가장 큰 항목인 1, 2, ..., m으로 빈을 채우십시오. 여기서 m은 항목 1, ..., m의 합이 1보다 작은 가장 큰 정수입니다.
- 값이 1 이상으로 올라갈 때까지 가장 작은 항목(n, n-1, ...)을 이 상자에 추가하십시오.
임의의 경우, ( I) { 최적 용액의 빈 수를 나타내고, ( I) { 양방향 채우기 알고리즘의 전체 빈 수를 나타낸다.Then , or equivalently, .
그 증명에는 다음과 같은 용어가 사용된다.
- ( )= 알고리즘으로 채워진 빈의 수입니다.
- ,… , 알고리즘에 의해 채워진 t 빈.
- 초기 항목 - 각 t bin에 먼저 삽입되는 t 항목.
- 최종 항목 - 각 t bin에 마지막으로 삽입되는 t 항목.
- 중간 항목 - 초기 항목도 최종 항목도 아닌 모든 항목.
- :=최대 1/2인 최종 항목의 수( t- 은 1/2보다 큰 최종 항목의 수입니다.
각 빈 B ,…, 의 합은 최소 1이지만, 최종 품목을 그 안에서 제거하면 나머지 합은 1보다 작다.처음 bins 1,…, B 각각 초기 항목, 일부 중간 항목 및 최종 항목이 포함되어 있다.마지막 - + 1 , B {\는 모두 1/2보다 크고 합은 이미 1보다 크기 때문에 초기 항목과 최종 항목만 포함한다.
그 증거는 두 가지 경우를 고려한다.
쉬운 경우는 = 즉 모든 최종 항목이 1/2보다 작다.그러면 채워진 의 합은 최대 3/2이고, 나머지 항목의 합은 최대 이므로 모든 항목의 합은 최대 3 t/ + 이다On the other hand, in the optimal solution the sum of every bin is at least 1, so the sum of all items is at least . Therefore, as required.
하드 케이스는 < 즉 일부 최종 항목이 1/2보다 크다.We now prove an upper bound on by presenting it as a sum where:
- 초기/최종 항목이 없는 최적의 빈(중간 항목만)
- 초기/최종 항목(및 일부 중간 항목)이 정확히 한 개 있는 최적의 빈.
- 초기/최종 항목(및 일부 중간 항목)이 두 개 이상인 최적의 빈.
우리는 먼저 K 과 }의 최적 빈에 초점을 맞추고 그러한 빈의 각 항목들 간의 편차를 , …, 의 일부 항목에 제시한다.
- 빈의 단일 초기/최종 항목은 B , 1{\} 의 초기 항목에 매핑된다 이러한 항목이 가장 큰 초기 항목임을 유의하십시오.
- 과 빈의 중간 항목은 B , 의 중간 항목에 매핑되어 있다 이 빈에는 중간 항목이 모두 포함되어 있다는 점에 유의하십시오.
- Therefore, all items in and are mapped to all non-final items in , plus all middle items in .
- 최종 품목이 없는 각 빈 ,…, 의 합계는 1보다 작다.더구나 초기 항목이 1/2 이상이라 중간 항목만 합한 금액이 1/2 미만이다.Therefore, the sum of all non-final items in , plus all middle items in , is at most 스타일 } } }
- 각 최적 빈의 합은 최소 1이다.따라서: + K ( + w)/ + 1} + K_{1 즉 + 1 + K + t 2 +
현재 는 K }와 2}}의 최적 빈에 초점을 맞추고 있다
- 및 2 }}개의빈에 있는 초기/최종 항목의 총 수는 1 + K 2 {\1 +K_2}}}}이지만, 각 빈에는 정확히 두 의 초기/최종 항목이 있으므로 총 개수 또한 2 이다.따라서 1+ 2 t 2.
- 후자의 두 불평등을 합산하면 P ( ) {을 의미하며, 이는 ( I) t/ 을 의미한다
BDF의 경우 2/3 인자가 팽팽하다.다음 인스턴스(여기서 > 이(가) 충분히 작을 경우)를 고려하십시오.
3등급 빈필링 알고리즘
Csirik, Frenk, Lebbe, Zhang은[2]: 19–24 3/4 근사치를 달성하는 또 다른 알고리즘을 제시한다.알고리즘은 항목을 큰 항목에서 작은 항목으로 정렬하고 세 가지 클래스로 분할한다.
- X: 크기가 1/2 이상인 항목
- Y: 크기가 1/2 미만이고 1/3 이상인 항목
- Z: 크기가 1/3 미만인 항목.
알고리즘은 두 단계로 작동한다.1단계:
- X에서 가장 큰 항목 또는 Y에서 가장 큰 항목 두 개 중 더 큰 항목으로 새 빈을 초기화하십시오.두 경우 모두 초기 빈 합계가 1보다 작다는 점에 유의하십시오.
- 값 오름차순으로 새 빈에 Z의 항목을 채우십시오.
- X U Y 또는 Z 중 하나가 비워질 때까지 반복하십시오.
2단계:
- X U Y가 비어 있는 경우 단순 다음 적합 규칙으로 Z의 항목으로 빈을 채우십시오.
- Z가 비어 있는 경우, 남은 아이템을 쌍으로 X로, Y로 남은 아이템을 세 쌍씩 포장한다.
위의 예에서 BDF의 조임성을 보여 주는 세트는 다음과 같다.
모든 경우 I는 T( ) { 최적 용액의 빈 수를 나타내고, T ( I) (을(를) 3-classes 채우기 알고리즘의 전체 빈 수를 나타낸다.그런 다음 T ( ) ( / 4)( O T( )- 4)
TCF의 경우 3/4 인자가 팽팽하다.다음 인스턴스(여기서 > 이(가) 충분히 작을 경우)를 고려하십시오.
TCF는 첫 번째 빈을 가장 큰 두 개의 항목으로 초기화하고, 12 개의 가장 작은 항목으로 채운다.그런 다음 항목은 4인 1조로만 빈을 커버할 수 있으므로 + }개의빈이 모두 채워진다.그러나 OPT에서는 빈을 채울 수 있으며, 각각의 빈에는 3개의 중간 크기의 항목과 3개의 작은 항목이 들어 있다.
다항식 시간 근사 체계
Csirik, Johnson, Kenyon은[3] 증상이 없는 PTAS를 제시한다.모든 ε> 0,;,을 채우는 알고리즘 적어도 ⋅ OPT− 4{\displaystyle(1-5\varepsilon)\cdot \mathrm{오피티}(나는)(1− 5ε)(나는)-4}통 만약 모든 항목의 합은 13B/ϵ 3{\displaystyle 13B/\epsilon ^{3}}, 그리고 최소한 ⋅ OPT(나는)1{\displaystyle(1-2\varepsilon)\cdot \m −(1− 2ε).에서그렇지 {)-1시간 ( n / ) 에 실행된다알고리즘은 n / n}}변수와 1+ 1 / 2 }}개의 제약조건으로 구성 선형 프로그램의 변형을 해결한다.이 알고리즘은 이론적으로만 흥미로운데, 3/4 근사치보다 나아지기 위해서는 < 1/ 을를) 복용해야 하고, 그 다음에는 수가n {\ n을 초과하기 때문이다
그들은 또한 문제의 온라인 버전에 대한 알고리즘을 제시한다.온라인 설정에서는 1/2보다 좋은 점증적 최악의 경우 근사치를 얻을 수 없다.그러나 평균적인 경우에서 좋은 성능을 발휘하는 알고리즘이 있다.
얀센과 솔리스-오바가[4] 점근증 FPTAS를 제시한다.모든 ε> 0,;, 적어도(1− ε)을 채우는 알고리즘 ⋅ OPT(나는)− 1{\displaystyle(1-\varepsilon)\cdot \mathrm{오피티}(나는)-1}통 만약 물품의 액수 그것보다는 적어 만약 모든 항목의 합은 13B/ϵ 3{\displaystyle 13B/\epsilon ^{3}}(들 때문은 대부분 13/ϵ 3∈에 O(1. / ) OIt runs in time , where is the runtime complexity of the best available algorithm for matrix inversion (currently, around ).이 알고리즘은 < / 이 경우 상수는 약 2 10n 2 + 2에 이미 3/ 근사치보다 좋아지고 있다
관련 문제
공정품목 배분 문제에서는 각 품목을 다른 가치로 귀속시키는 사람이 각각 다르다.각 빈의 가치가 최소한 일정한 상수이고 가능한 한 많은 사람이 빈을 받도록 한 사람에게 아이템이 가득 찬 '빈'을 할당하는 것이 목표다.이 문제에는 빈 커버의 많은 기술들이 또한 사용된다.
참조
- ^ a b Assmann, S. F; Johnson, D. S; Kleitman, D. J; Leung, J. Y. -T (1984-12-01). "On a dual version of the one-dimensional bin packing problem". Journal of Algorithms. 5 (4): 502–525. doi:10.1016/0196-6774(84)90004-X. ISSN 0196-6774.
- ^ a b c Csirik, János; J. B. G. Frenk and M. Labbé and S. Zhang (1999-01-01). "Two simple algorithms for bin covering". Acta Cybernetica. 14 (1): 13–25. ISSN 2676-993X.
- ^ a b Csirik, Janos; Johnson, David S.; Kenyon, Claire (2001-01-09). "Better approximation algorithms for bin covering". Proceedings of the twelfth annual ACM-SIAM symposium on Discrete algorithms. SODA '01. Washington, D.C., USA: Society for Industrial and Applied Mathematics: 557–566. ISBN 978-0-89871-490-6.
- ^ a b Jansen, Klaus; Solis-Oba, Roberto (2002-11-21). "An Asymptotic Fully Polynomial Time Approximation Scheme for Bin Covering". Proceedings of the 13th International Symposium on Algorithms and Computation. ISAAC '02. Berlin, Heidelberg: Springer-Verlag: 175–186. ISBN 978-3-540-00142-3.