integer linear programming and bin packing in fixed
play

Integer Linear Programming and Bin Packing in fixed Dimension - PowerPoint PPT Presentation

Integer Linear Programming and Bin Packing in fixed Dimension Thomas Rothvoss 10th Carg` ese Workshop on Combinatorial Optimization (2019) b b b b b b b b b b b b b b b b b b b b Motivation and Outline Integer Linear


  1. Integer Linear Programming and Bin Packing in fixed Dimension Thomas Rothvoss 10th Carg` ese Workshop on Combinatorial Optimization (2019)

  2. b b b b b b b b b b b b b b b b b b b b Motivation and Outline Integer Linear Programming max { c T x | Ax ≤ b, x ∈ Z n } P = { x | Ax ≤ b }

  3. b b b b b b b b b b b b b b b b b b b b Motivation and Outline Integer Linear Programming max { c T x | Ax ≤ b, x ∈ Z n } c P = { x | Ax ≤ b }

  4. b b b b b b b b b b b b b b b b b b b b Motivation and Outline Integer Linear Programming max { c T x | Ax ≤ b, x ∈ Z n } c P = { x | Ax ≤ b } ◮ Part I: Solve ILPs in time f ( n ) · poly(input length) [Lenstra ’83], [Lenstra, Lenstra, Lov´ asz ’82]

  5. b b b b b b b b b b b b b b b b b b b b Motivation and Outline Integer Linear Programming max { c T x | Ax ≤ b, x ∈ Z n } c P = { x | Ax ≤ b } ◮ Part I: Solve ILPs in time f ( n ) · poly(input length) [Lenstra ’83], [Lenstra, Lenstra, Lov´ asz ’82] ◮ Part II: Solve Bin Packing with O (1) different item types in poly-time [Goemans, R.’ 14]

  6. Part I Solving ILPs in fixed dimension

  7. 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 b b b b b Recursive approach for ILP P

  8. 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 b b b b b Recursive approach for ILP ◮ Idea 1: Take coordinate i ∈ [ n ] and recurse on P ∩ { x i = k } for k ∈ Z P

  9. 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 b b b b b Recursive approach for ILP ◮ Idea 1: Take coordinate i ∈ [ n ] and recurse on P ∩ { x i = k } for k ∈ Z But: no bound on number of ( n − 1)-dim. slices! P

  10. 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 b b b b b Recursive approach for ILP ◮ Idea 1: Take coordinate i ∈ [ n ] and recurse on P ∩ { x i = k } for k ∈ Z But: no bound on number of ( n − 1)-dim. slices! ◮ Idea 2: Branch on general direction c ∈ Z n P c

  11. 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 b b b b b b b b b b The flatness theorem Theorem (Khintchine 1948, Lenstra 1983) For polytope P ⊆ R n in polynomial time one can find ◮ either a point x ∈ P ◮ a direction c ∈ Z n with max {� c, x − y � | x, y ∈ P } ≤ 2 O ( n 2 ) P

  12. 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 b b b b b b b b b b The flatness theorem Theorem (Khintchine 1948, Lenstra 1983) For polytope P ⊆ R n in polynomial time one can find ◮ either a point x ∈ P ◮ a direction c ∈ Z n with max {� c, x − y � | x, y ∈ P } ≤ 2 O ( n 2 ) ≤ 2 O ( n 2 ) hyperplanes c P

  13. 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 b b b b b b b b b b The flatness theorem Theorem (Khintchine 1948, Lenstra 1983) For polytope P ⊆ R n in polynomial time one can find ◮ either a point x ∈ P ◮ a direction c ∈ Z n with max {� c, x − y � | x, y ∈ P } ≤ 2 O ( n 2 ) ≤ 2 O ( n 2 ) hyperplanes c P ◮ Best current non-algo bounds: Ω( n ) ≤ .. ≤ ˜ O ( n 4 / 3 )

  14. 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 b b b b b Lattices A lattice is Λ = { � n i =1 λ i · b i | λ i ∈ Z } where b 1 , . . . , b n ∈ R n are linearly independent vectors b 1 b 2 0

  15. 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 b b b b b Lattices A lattice is Λ = { � n i =1 λ i · b i | λ i ∈ Z } where b 1 , . . . , b n ∈ R n are linearly independent vectors b 2 0 b 1

  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 b b b b b Lattices A lattice is Λ = { � n i =1 λ i · b i | λ i ∈ Z } where b 1 , . . . , b n ∈ R n are linearly independent vectors b 2 0 b 1

  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 b b b b b Lattices b ∗ 2 b 2 0 b 1 = b ∗ 1 Theorem (Lenstra, Lenstra, Lov´ asz ’82) In poly-time one can find a basis b 1 , . . . , b n so that the orthogonality defect is � n i =1 � b i � 2 ≤ 2 n 2 / 2 � n i =1 � b ∗ i � 2 ◮ Here b ∗ 1 , . . . , b ∗ n is the Gram-Schmidt orthogonalization .

  18. b b b b b b b b b b b b b b b b b b b b Proof of Flatness Theorem P 0

  19. b b b b b b b b b b b b b b b b b b b b Proof of Flatness Theorem P 0 ◮ Rescale P so that B ( a, 1) ⊆ P ⊆ B ( a, n ) and Z n → Λ

  20. b b b b b b b b b b b b b b b b b b b b Proof of Flatness Theorem 1 P n a 0 ◮ Rescale P so that B ( a, 1) ⊆ P ⊆ B ( a, n ) and Z n → Λ

  21. b b b b b b b b b b b b b b b b b b b b Proof of Flatness Theorem 1 a 0 ◮ Rescale P so that B ( a, 1) ⊆ P ⊆ B ( a, n ) and Z n → Λ

  22. b b b b b b b b b b b b b b b b b b b b Proof of Flatness Theorem 1 a 0 ◮ Rescale P so that B ( a, 1) ⊆ P ⊆ B ( a, n ) and Z n → Λ ◮ Compute lattice basis with orthogonality defect ≤ 2 n 2 / 2 ; sort vectors s.t. � b 1 � 2 ≤ . . . ≤ � b n � 2

  23. b b b b b b b b b b b b b b b b b b b b Proof of Flatness Theorem 1 a 0 ◮ Rescale P so that B ( a, 1) ⊆ P ⊆ B ( a, n ) and Z n → Λ ◮ Compute lattice basis with orthogonality defect ≤ 2 n 2 / 2 ; sort vectors s.t. � b 1 � 2 ≤ . . . ≤ � b n � 2 Case � b n � 2 ≤ 1 n :

  24. b b b b b b b b b b b b b b b b b b b b Proof of Flatness Theorem 1 a 0 ◮ Rescale P so that B ( a, 1) ⊆ P ⊆ B ( a, n ) and Z n → Λ ◮ Compute lattice basis with orthogonality defect ≤ 2 n 2 / 2 ; sort vectors s.t. � b 1 � 2 ≤ . . . ≤ � b n � 2 Case � b n � 2 ≤ 1 n : ◮ Then � b i � 2 ≤ 1 n for i = 1 , . . . , n

  25. b b b b b b b b b b b b b b b b b b b b Proof of Flatness Theorem 1 a 0 ◮ Rescale P so that B ( a, 1) ⊆ P ⊆ B ( a, n ) and Z n → Λ ◮ Compute lattice basis with orthogonality defect ≤ 2 n 2 / 2 ; sort vectors s.t. � b 1 � 2 ≤ . . . ≤ � b n � 2 Case � b n � 2 ≤ 1 n : ◮ Then � b i � 2 ≤ 1 n for i = 1 , . . . , n ◮ Write a = � n i =1 λ i b i for λ i ∈ R .

  26. b b b b b b b b b b b b b b b b b b b b Proof of Flatness Theorem 1 a 0 ◮ Rescale P so that B ( a, 1) ⊆ P ⊆ B ( a, n ) and Z n → Λ ◮ Compute lattice basis with orthogonality defect ≤ 2 n 2 / 2 ; sort vectors s.t. � b 1 � 2 ≤ . . . ≤ � b n � 2 Case � b n � 2 ≤ 1 n : ◮ Then � b i � 2 ≤ 1 n for i = 1 , . . . , n ◮ Write a = � n i =1 λ i b i for λ i ∈ R . ◮ Return � n i =1 ⌈ λ i ⌋ · b i ∈ P

  27. b b b b b b b b b b b b b b b b b b b b Proof of Flatness Theorem 1 a 0 ◮ Rescale P so that B ( a, 1) ⊆ P ⊆ B ( a, n ) and Z n → Λ ◮ Compute lattice basis with orthogonality defect ≤ 2 n 2 / 2 ; sort vectors s.t. � b 1 � 2 ≤ . . . ≤ � b n � 2 Case � b n � 2 > 1 n .

  28. b b b b b b b b b b b b b b b b b b b b Proof of Flatness Theorem 1 a b n b ∗ n 0 ◮ Rescale P so that B ( a, 1) ⊆ P ⊆ B ( a, n ) and Z n → Λ ◮ Compute lattice basis with orthogonality defect ≤ 2 n 2 / 2 ; sort vectors s.t. � b 1 � 2 ≤ . . . ≤ � b n � 2 Case � b n � 2 > 1 n . n � 2 ≥ 2 − n 2 / 2 � b n � 2 ≥ 2 − Θ( n 2 ) ◮ Then � b ∗

  29. b b b b b b b b b b b b b b b b b b b b Proof of Flatness Theorem 1 a b n b ∗ n 0 ◮ Rescale P so that B ( a, 1) ⊆ P ⊆ B ( a, n ) and Z n → Λ ◮ Compute lattice basis with orthogonality defect ≤ 2 n 2 / 2 ; sort vectors s.t. � b 1 � 2 ≤ . . . ≤ � b n � 2 Case � b n � 2 > 1 n . n � 2 ≥ 2 − n 2 / 2 � b n � 2 ≥ 2 − Θ( n 2 ) ◮ Then � b ∗ b ∗ ◮ Use c := 2 . Hyperplanes intersect B ( a, 1) at most n n � 2 � b ∗ 2 O ( n 2 ) times

  30. Part II Solving Bin Packing with a fixed number of item types

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

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

  33. 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

  34. 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 . . .

  35. 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 . . .

  36. 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 . . .

  37. 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 . . .

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend