Round and Approx: A technique for packing problems Nikhil Bansal (IBM Watson) Maxim Sviridenko (IBM Watson) Alberto Caprara (U. Bologna, Italy)
Problems Bin Packing: Given n items, sizes s 1,…,s n, s.t. 0 < s i · 1. Pack all items in least number of unit size bins. D-dim Bin Packing (with & without rotations)
Problems d-dim Vector Packing: Each item d-dim vector. Packing valid if each co-ordinate wise sum · 1 Set Cover: Items i 1, …, i n Sets C 1,…,C m. Choose fewest sets s.t. each item covered. All three bin packing problems, can be viewed as set cover. Sets implicit: Any subset of items that fit feasibly in a bin. Valid Invalid Bin: machine with d resources Item: job with resource requiremts.
Short history of bin-packing Bin Packing: NP-Hard if need 2 or 3 bins? (Partition Prob.) Does not rule out Opt + 1 Asymptotic approximation: OPT + O(1) Several constant factors in 60-70’s APTAS: For every >0, (1+ ) Opt + O(1) [de la Vega, Leuker 81] Opt + O(log 2 OPT) [Karmarkar Karp 82] Outstanding open question: Can we get Opt + 1 No worse integrality gap for a natural LP known
Short history of bin-packing 2-d Bin Packing: APTAS ) P=NP [B, Sviridenko 04] Best Result: Without rotations: 1.691… [Caprara 02] With rotations: 2 [Jansen, van Stee 05] d-dim Vector Packing: No APTAS for d=2 [Woeginger 97] Best Result: O(log d) for constant d [Chekuri Khanna 99] If d part of input, d 1/2 - ) P=NP Best for d=2 is 2 approx.
Our Results 1) 2-d Bin Packing : ln = 1.52 Both with and without rotations (previously & 2) 2) d-Dim Vector Packing: 1 + ln d (for constant d) For d=2: get 1+ ln 2 = (previously 2)
General Theorem Given a packing problem, items i 1,…,i n 1) If can solve set covering LP min C x C s.t. C: i 2 C x C ¸ 1 8 items i 2) approximation : Subset Oblivious Then (ln + 1) approximation d subset oblivious approximation for vector packing algorithm of Caprara for 2d bin packing is subset ob. Give subset ob. approx for rotation case (new)
Subset Oblivious Algorithms Given an instance I, with n items (I) = all 1’s vector S) incidence vector for subset of items S. There exist k weight (n - dim) vectors w 1, w 2,…,w k For every subset of items S µ I, and > 0 1) OPT (I) ¸ max i ( w i ¢ (I) ) 2) Alg (S) · max i (w i ¢ (S)) + OPT(I) + O(1)
An (easy) example Any-Fit Bin Packing algorithm: Consider items one by one. If current item does not fit in any existing bin, put it in a brand new bin. No two bins filled · 1/2 (implies ALG · 2 OPT + 1 ) Also a subset oblivious 2 approx K=1: w(i) = s i (size of item i) 1) OPT(I) ¸ i 2 I s i = w ¢ (I) [Volume Bound] 2) Alg(S) · 2 w ¢ (S) + 1 [ # bins · 2 ( total volume of S) + 1 ]
Non-Trivial Example Asymptotic approx scheme of de la Vega, Leuker For any > 0, Alg · (1+ ) OPT + O(1/ 2 ) We will show it is subset oblivious
1-d: Algorithm 0 1 I
0 1 I bigs
1-d: Algorithm Partition bigs into 1/ 2 = O(1) groups, with equal objects 0 1 0 1 I’ I... I’ ¸ I
1-d: Algorithm Partition bigs into 1/ 2 = O(1) groups, with equal objects 0 1 0 1 I’ I... I’ ¸ I I’ – { } · I I’ ¼ I I’ has only O(1/ 2 ) distinct sizes
LP for the big items 1/ 2 items types. Let n i denote # of items of type i in instance. LP: min C x C s.t. C a i,C x C ¸ n i 8 size types i C indexes valid sets (at most (1/ 2 ) (1/ ) ) a i,C number of type i items in set C At most 1/ 2 variables non-zero. Rounding: x ! d x e Solution (big) · Opt (big) + 1/ 2
Filling in smalls Take solution on bigs. Fill in smalls (i.e. < ) greedily. 1)If no more bins need, already optimum. 2)If needed, every bin (except maybe one) filled to 1- Alg(I) · Volume(I)/(1- ) +1 · Opt/(1- ) +1 We will now show this is a subset oblivious algorithm !
Subset Obliviousness LP: min x C C a i,C x C ¸ n i 8 item types i Dual: max n i w i i a i,C w i · 1 for each set C If consider dual for subset of items S Dual: max |type i items in S| w i i a i,C w i · 1 for each set C Dual polytope independent of S: Only affects objective function.
Subset Obliviousness LP: min x C C a i,C x C ¸ n i 8 item types i Dual: max n i w i i a i,C w i · 1 for each set C. Define vector W v for each vertex of polytope (O(1) vertices) LP * (S) = max v W v ¢ (S) (LP Duality) Alg(S) · LP * (S) + 1/ 2 = max v W v ¢ (S) + 1/ 2 Opt(I) ¸ LP(I) = max v W v ¢ (I) Handling smalls: Another vector w, where w(i) = s i
General Algorithm Theorem: Can get ln + 1 approximation, if 1) Can solve set covering LP 2) approximate subset oblivious alg. Algorithm: Solve set covering LP, get soln x *. Randomized Rounding with parameter > 0, i.e. choose set C independently with prob x C * Residual instance: Apply subset oblivious approx.
Proof of General Theorem After randomized rounding, Prob. element i left uncovered · e - Pf: Prob = C: i 2 C (1- x C ) · e - ( as C: i 2 C x C ¸ 1 ) E ( w i ¢ (S)) · e - w i ¢ (I) w i ¢ (S) sharply concentrated (variance small: proof omitted) max i (w i ¢ (S)) ¼ e - max i (w i ¢ (I) ) · e - OPT(I) But subset oblivious algorithm implies Alg(S) · max i (w i ¢ (S)) · e - OPT(I)
Proof of General Algorithm Expected cost = Randomized Rounding + Residual instance cost ¼ LP cost + e - Opt Gives + e - approximation Optimizing , gives 1 + ln approx.
Wrapping up d-dim vector packing: Partition Instance I into d parts I 1,…,I d I j consists of items for which j th dim is largest Solving I j is just a bin packing problem 1+ for bin packing gives d+ subset oblivious algorithm 2-d bin Packing: Harder Framework for incorporating structural info. into set cover. Other Problems?
Questions?