polynomiality for bin packing with a constant number of
play

Polynomiality for Bin Packing with a Constant Number of Item Types - PowerPoint PPT Presentation

Polynomiality for Bin Packing with a Constant Number of Item Types Michel X. Goemans & Thomas Rothvo MIP 2013, Madison Bin Packing / Cutting Stock Input: item 1 . . . item d Bin Packing / Cutting Stock Input: Item sizes s 1 , . . .


  1. Polynomiality for Bin Packing with a Constant Number of Item Types Michel X. Goemans & Thomas Rothvoß MIP 2013, Madison

  2. Bin Packing / Cutting Stock Input: item 1 . . . item d

  3. Bin Packing / Cutting Stock Input: ◮ Item sizes s 1 , . . . , s d ∈ [0 , 1] Input: s 1 item 1 . . . item d

  4. Bin Packing / Cutting Stock Input: ◮ Item sizes s 1 , . . . , s d ∈ [0 , 1] ◮ Multiplicities a 1 , . . . , a d ∈ N a 1 many Input: s 1 item 1 . . . item d

  5. Bin Packing / Cutting Stock Input: ◮ Item sizes s 1 , . . . , s d ∈ [0 , 1] ◮ Multiplicities a 1 , . . . , a d ∈ N Goal: Pack items into minimum number of bins of size 1. a 1 many Input: s 1 item 1 . . . item d Solution: 1 bin 1 . . .

  6. Bin Packing / Cutting Stock Input: ◮ Item sizes s 1 , . . . , s d ∈ [0 , 1] ◮ Multiplicities a 1 , . . . , a d ∈ N Goal: Pack items into minimum number of bins of size 1. a 1 many Input: s 1 item 1 . . . item d Solution: 1 bin 1 . . .

  7. Bin Packing / Cutting Stock Input: ◮ Item sizes s 1 , . . . , s d ∈ [0 , 1] ◮ Multiplicities a 1 , . . . , a d ∈ N Goal: Pack items into minimum number of bins of size 1. a 1 many Input: s 1 item 1 . . . item d Solution: 1 bin 1 . . .

  8. Bin Packing / Cutting Stock Input: ◮ Item sizes s 1 , . . . , s d ∈ [0 , 1] ◮ Multiplicities a 1 , . . . , a d ∈ N Goal: Pack items into minimum number of bins of size 1. a 1 many Input: s 1 item 1 . . . item d Solution: 1 bin 1 . . .

  9. Polynomial time algorithms For general d : ◮ NP -hard to distinguish OPT ≤ 2 or OPT ≥ 3 [Garey & Johnson ’79]

  10. Polynomial time algorithms For general d : ◮ NP -hard to distinguish OPT ≤ 2 or OPT ≥ 3 [Garey & Johnson ’79] ◮ Asymptotic FPTAS OPT + O (log 2 d ) [Karmarkar & Karp ’82] OPT + O (log d · log log d ) [R. ’13] (running time poly( � d i =1 a i ))

  11. Polynomial time algorithms For general d : ◮ NP -hard to distinguish OPT ≤ 2 or OPT ≥ 3 [Garey & Johnson ’79] ◮ Asymptotic FPTAS OPT + O (log 2 d ) [Karmarkar & Karp ’82] OPT + O (log d · log log d ) [R. ’13] (running time poly( � d i =1 a i )) ◮ ∈ NP [Eisenbrand & Shmonin ’06]

  12. Polynomial time algorithms For general d : ◮ NP -hard to distinguish OPT ≤ 2 or OPT ≥ 3 [Garey & Johnson ’79] ◮ Asymptotic FPTAS OPT + O (log 2 d ) [Karmarkar & Karp ’82] OPT + O (log d · log log d ) [R. ’13] (running time poly( � d i =1 a i )) ◮ ∈ NP [Eisenbrand & Shmonin ’06] For constant d :

  13. Polynomial time algorithms For general d : ◮ NP -hard to distinguish OPT ≤ 2 or OPT ≥ 3 [Garey & Johnson ’79] ◮ Asymptotic FPTAS OPT + O (log 2 d ) [Karmarkar & Karp ’82] OPT + O (log d · log log d ) [R. ’13] (running time poly( � d i =1 a i )) ◮ ∈ NP [Eisenbrand & Shmonin ’06] For constant d : ◮ Polytime for d = 2 [McCormick, Smallwood, Spieksma ’97]

  14. Polynomial time algorithms For general d : ◮ NP -hard to distinguish OPT ≤ 2 or OPT ≥ 3 [Garey & Johnson ’79] ◮ Asymptotic FPTAS OPT + O (log 2 d ) [Karmarkar & Karp ’82] OPT + O (log d · log log d ) [R. ’13] (running time poly( � d i =1 a i )) ◮ ∈ NP [Eisenbrand & Shmonin ’06] For constant d : ◮ Polytime for d = 2 [McCormick, Smallwood, Spieksma ’97] ◮ OPT + 1 in time 2 2 O ( d ) · poly [Jansen & Solis-Oba ’10]

  15. Polynomial time algorithms For general d : ◮ NP -hard to distinguish OPT ≤ 2 or OPT ≥ 3 [Garey & Johnson ’79] ◮ Asymptotic FPTAS OPT + O (log 2 d ) [Karmarkar & Karp ’82] OPT + O (log d · log log d ) [R. ’13] (running time poly( � d i =1 a i )) ◮ ∈ NP [Eisenbrand & Shmonin ’06] For constant d : ◮ Polytime for d = 2 [McCormick, Smallwood, Spieksma ’97] ◮ OPT + 1 in time 2 2 O ( d ) · poly [Jansen & Solis-Oba ’10] Open problem [ES’06, MSS’97, F’07] Solvable in poly-time for d = 3?

  16. b b b b b b b b b b b b b b b b b b b b b b b b b A geometric view ◮ Define P = { x ∈ R d ≥ 0 | s T x ≤ 1 } a R d s T x ≤ 1 P

  17. b b b b b b b b b b b b b b b b b b b b b b b b b A geometric view ◮ Define P = { x ∈ R d ≥ 0 | s T x ≤ 1 } a R d s T x ≤ 1 1 2 P

  18. b b b b b b b b b b b b b b b b b b b b b b b b b A geometric view ◮ Define P = { x ∈ R d ≥ 0 | s T x ≤ 1 } a R d s T x ≤ 1 1 2 P

  19. b b b b b b b b b b b b b b b b b b b b b b b b b A geometric view ◮ Define P = { x ∈ R d ≥ 0 | s T x ≤ 1 } a R d s T x ≤ 1 1 2 P

  20. b b b b b b b b b b b b b b b b b b b b b b b b b A geometric view ◮ Define P = { x ∈ R d ≥ 0 | s T x ≤ 1 } a R d s T x ≤ 1 1 2 P Problems: ◮ Points in P exponentially many

  21. b b b b b b b b b b b b b b b b b b b b b b b b b A geometric view ◮ Define P = { x ∈ R d ≥ 0 | s T x ≤ 1 } a R d s T x ≤ 1 1 2 P Problems: ◮ Points in P exponentially many ◮ Weights can be exponential

  22. Main results Theorem (Goemans, R. ’13) Bin Packing with d = O (1) item sizes can be solved in poly-time . Solves question by ◮ [McCormick, Smallwood, Spieksma ’97]: “ might be NP -hard for d = 3” ◮ [Eisenbrand & Shmonin ’06] ◮ [Filippi ’07]: “ hard open problem for general d ”

  23. Main results (2) ◮ Def.: int.cone( X ) := { � x ∈ X λ x · x | λ x ∈ Z ≥ 0 }

  24. b b b b b b b b b b b Main results (2) ◮ Def.: int.cone( X ) := { � x ∈ X λ x · x | λ x ∈ Z ≥ 0 } Theorem (Goemans, R. ’13) For fixed-dim. polytopes P, Q ⊆ R d , testing int.cone( P ∩ Z d ) ∩ Q � = ∅ is doable in poly-time (actually inputlength 2 O ( d ) ). Q P 0

  25. b b b b b b b b b b b Main results (2) ◮ Def.: int.cone( X ) := { � x ∈ X λ x · x | λ x ∈ Z ≥ 0 } Theorem (Goemans, R. ’13) For fixed-dim. polytopes P, Q ⊆ R d , testing int.cone( P ∩ Z d ) ∩ Q � = ∅ is doable in poly-time (actually inputlength 2 O ( d ) ). Q P 2 0 1

  26. b b b b b b b b b b b Main results (2) ◮ Def.: int.cone( X ) := { � x ∈ X λ x · x | λ x ∈ Z ≥ 0 } Theorem (Goemans, R. ’13) For fixed-dim. polytopes P, Q ⊆ R d , testing int.cone( P ∩ Z d ) ∩ Q � = ∅ is doable in poly-time (actually inputlength 2 O ( d ) ). Q P 2 0 1

  27. b b b b b b b b b b b Main results (2) ◮ Def.: int.cone( X ) := { � x ∈ X λ x · x | λ x ∈ Z ≥ 0 } Theorem (Goemans, R. ’13) For fixed-dim. polytopes P, Q ⊆ R d , testing int.cone( P ∩ Z d ) ∩ Q � = ∅ is doable in poly-time (actually inputlength 2 O ( d ) ). Q P 2 0 1

  28. b b b b b b b b b b b Main results (2) ◮ Def.: int.cone( X ) := { � x ∈ X λ x · x | λ x ∈ Z ≥ 0 } Theorem (Goemans, R. ’13) For fixed-dim. polytopes P, Q ⊆ R d , testing int.cone( P ∩ Z d ) ∩ Q � = ∅ is doable in poly-time (actually inputlength 2 O ( d ) ). Q P 2 0 1 ◮ For Bin Packing: � x � � a � P := { | s T x ≤ 1 , x ≥ 0 } and Q := { } 1 OPT

  29. b b b b b b b b b b b b b b Int. conic combinations Theorem (Eisenbrand & Shmonin ’06) If P ⊆ R d convex, then any integer conic combination � a = λ x · x x ∈ P ∩ Z d needs at most 2 d points. P

  30. b b b b b b b b b b b b b b Int. conic combinations Theorem (Eisenbrand & Shmonin ’06) If P ⊆ R d convex, then any integer conic combination � a = λ x · x x ∈ P ∩ Z d needs at most 2 d points. ◮ Suppose | supp( λ ) | > 2 d P

  31. b b b b b b b b b b b b b b Int. conic combinations Theorem (Eisenbrand & Shmonin ’06) If P ⊆ R d convex, then any integer conic combination � a = λ x · x x ∈ P ∩ Z d needs at most 2 d points. ◮ Suppose | supp( λ ) | > 2 d P x ◮ Take points x, y ∈ supp( λ ) of same parity y

  32. b b b b b b b b b b b b b b Int. conic combinations Theorem (Eisenbrand & Shmonin ’06) If P ⊆ R d convex, then any integer conic combination � a = λ x · x x ∈ P ∩ Z d needs at most 2 d points. ◮ Suppose | supp( λ ) | > 2 d P x ◮ Take points x, y ∈ supp( λ ) of same parity z ◮ Midpoint z = 1 2 ( x + y ) ∈ P ∩ Z d y

  33. b b b b b b b b b b b b b b Int. conic combinations Theorem (Eisenbrand & Shmonin ’06) If P ⊆ R d convex, then any integer conic combination � a = λ x · x x ∈ P ∩ Z d needs at most 2 d points. ◮ Suppose | supp( λ ) | > 2 d P x ◮ Take points x, y ∈ supp( λ ) of same parity − 1 z ◮ Midpoint z = 1 2 ( x + y ) ∈ P ∩ Z d +2 y ◮ Move weight from x, y to z − 1

  34. b b b b b b b b b b b b b b Int. conic combinations Theorem (Eisenbrand & Shmonin ’06) If P ⊆ R d convex, then any integer conic combination � a = λ x · x x ∈ P ∩ Z d needs at most 2 d points. ◮ Suppose | supp( λ ) | > 2 d P x ◮ Take points x, y ∈ supp( λ ) of same parity − 1 z ◮ Midpoint z = 1 2 ( x + y ) ∈ P ∩ Z d +2 y ◮ Move weight from x, y to z − 1 ◮ Potential function � x λ x f ( x ) decreases ( f strictly convex)

Recommend


More recommend