linear programming in low dimensions
play

Linear Programming in Low Dimensions (most slides by Nati Srebro) - PowerPoint PPT Presentation

Linear Programming in Low Dimensions (most slides by Nati Srebro) September 11, 2003 Lecture 3: Linear Programming in Low Dimensions Linear Programming + + + Maximize : c x c x c x 1 1 2 2 d d + + + Subject to : a


  1. Linear Programming in Low Dimensions (most slides by Nati Srebro) September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  2. Linear Programming + + + Maximize : c x c x c x 1 1 2 2 d d + + + ≤ Subject to : a x a x a x b 1 , 1 1 1 , 2 2 1 , d d 1 + + + ≤ a x a x a x b 2 , 1 1 2 , 2 2 2 , d d 2 + + + ≤ a x a x a x b n , 1 1 n , 2 2 n , d d n September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  3. Linear Programming in 2D + Maximize : c x c y x y + ≤ Subject to : a x a y b 1 , x 1 , y 1 + ≤ a x a y b 2 , x 2 , y 2 + ≤ a x a y b n , x n , y n September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  4. Linear Programming in 2D September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  5. Non-unique solution September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  6. An Infeasible Linear Program September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  7. An Unbounded LP September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  8. An Unbounded LP September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  9. Types of LPs • Unique optimum � Find the optimum • Optimal edge � Find an optimum • Unbounded � Find unbounded ray • Infeasible � Declare as unfeasible September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  10. September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  11. September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  12. Adding a New Constraint If its not broken don ’ t fix it ! September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  13. Adding a New Constraint September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  14. Adding a New Constraint September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  15. Adding a New Constraint September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  16. Adding a New Constraint September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  17. Adding a New Constraint September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  18. Adding a New Constraint September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  19. September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  20. Adding a New Constraint September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  21. Adding a New Constraint September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  22. Adding a New Constraint September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  23. Adding a New Constraint Is a bad sign … . September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  24. Summary O(1) • Check is optimum is feasible • Optimum is feasible: We ’ re fine, don ’ t do anything • Optimum isn ’ t feasible: O(n) Find optimum on new constraint (line) No feasible points on new constraint: LP isn ’ t feasible September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  25. Incremental Algorithm • Choose two constraints and initialize the solution • Add new constraints one by one, keeping track of current optimum September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  26. Initialization Find two constraints that together bound the LP September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  27. Initialization • Choose the constraint h defined by a vector that is the closest to “ up ” September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  28. Initialization • Choose the constraint h defined by a vector that is the closest to “ up ” • For every other constraint, check if it bounds the LP with h • If no constraint is good--- LP is unbounded or unfeasible because of parallel constraints September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  29. Incremental Algorithm • Find two constraints that bound LP – If none exist, LP is unbounded O(n) • Add all other constraints one by one, keeping track of current O(n 2 ) optimum September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  30. Adding a New Constraint O(1) • Check is optimum is feasible • Optimum is feasible: We ’ re fine, don ’ t do anything • Optimum isn ’ t feasible: O(n) Find optimum on new constraint (line) No feasible points on new constraint: LP isn ’ t feasible Maybe we only rarely have to update optimum ? September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  31. September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  32. September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  33. September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  34. September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  35. September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  36. September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  37. O(n) updates … September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  38. But … September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  39. Use a random permutation ! Expected time spent updating. Let T i be the time spent at time i. � � n n n � � � = = Update at E T E [ T ] � � P ( ) O ( i ) i i � � round i = = = i 3 i 3 i 3 September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  40. Probability of update at round i Fix first i constraints: Update only if the i th 2 constraint is one of the 2 P ≤ = i = i two defining constraints P − − non-initial 2 2 constraints September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  41. Expected Run-Time Analysis Expectation is over algorithm randomness, not over input Expected time spent updating: � � n n n � � � = = Update at E T E [ T ] � � P ( ) O ( i ) i i � � round i = = = i 3 i 3 i 3 n � 2 ≤ = O ( i ) O ( n ) − i 2 = i 3 September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  42. What about d>2 ? • Incrementally add new constraints • Probability of update: d/(i-d) • On update: solve d-1 dimensional LP n � d ≤ + − − T ( d , n ) O ( dn ) T ( d 1 , i 1 ) − i d = + i d 1 = T ( d , n ) O ( d ! n ) September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  43. Further results • O(d!n) is not optimal: – O(d 2 n + d 2 d!) [Clarkson] – n O( √ d) [Kalai, Matousek-Sharir-Welzl] – O(d 2 n + d O( √ d) ) [combined] • Same time for finding minimum enclosing ball of n points • First algorithms of this type were due to Meggido • Weakly polynomial-time algorithms known [Khachiyan,Karmarkar] September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Recommend


More recommend