a friendly smoothed analysis of the simplex method
play

A Friendly Smoothed Analysis of the Simplex Method Daniel Dadush - PowerPoint PPT Presentation

A Friendly Smoothed Analysis of the Simplex Method Daniel Dadush (CWI) Sophie Huiberts (CWI) Aussois, January 2019 Linear Programming (LP) and the Simplex Method maximize c T x subject to Ax b d variables n constraints Simplex


  1. A Friendly Smoothed Analysis of the Simplex Method Daniel Dadush (CWI) Sophie Huiberts (CWI) Aussois, January 2019

  2. Linear Programming (LP) and the Simplex Method maximize c T x subject to Ax ≤ b ◮ d variables ◮ n constraints

  3. Simplex method: A short history Dantzig: simplex method. 1947 2004

  4. Simplex method: A short history Dantzig: simplex method. 1947 Hirsch: maximal distance n − d ? 1957 2004

  5. Simplex method: A short history Dantzig: simplex method. 1947 Hirsch: maximal distance n − d ? 1957 Klee, Minty: exponential worst case instance. 1970 2004

  6. Simplex method: A short history Dantzig: simplex method. 1947 Hirsch: maximal distance n − d ? 1957 Klee, Minty: exponential worst case instance. 1970 Borgwardt: polynomial average case complexity. 1977 2004

  7. Simplex method: A short history Dantzig: simplex method. 1947 Hirsch: maximal distance n − d ? 1957 Klee, Minty: exponential worst case instance. 1970 Borgwardt: polynomial average case complexity. 1977 Kalai, Kleitman: paths of length n log d +2 exist. 1992 Kalai: sub-exponential pivot rule. 2004

  8. Simplex method: A short history Dantzig: simplex method. 1947 Hirsch: maximal distance n − d ? 1957 Klee, Minty: exponential worst case instance. 1970 Borgwardt: polynomial average case complexity. 1977 Kalai, Kleitman: paths of length n log d +2 exist. 1992 Kalai: sub-exponential pivot rule. Spielman-Teng: polynomial smoothed complexity. 2004

  9. Average-case analysis maximize c T x subject to Ax ≤ b x ≥ 0 ◮ b = 1, Rows of A sampled from a rotationally symmetric distribution (RSD). O ( n 1 / d d 3 ). [Borgwardt ’77,’82,’87,’99]

  10. Average-case analysis maximize c T x subject to Ax ≤ b x ≥ 0 ◮ b = 1, Rows of A sampled from a rotationally symmetric distribution (RSD). O ( n 1 / d d 3 ). [Borgwardt ’77,’82,’87,’99] ◮ Rows of A , b , c sampled independently from an RSD. [Smale ’83, Megiddo ’86]

  11. Average-case analysis maximize c T x subject to Ax ≤ b x ≥ 0 ◮ b = 1, Rows of A sampled from a rotationally symmetric distribution (RSD). O ( n 1 / d d 3 ). [Borgwardt ’77,’82,’87,’99] ◮ Rows of A , b , c sampled independently from an RSD. [Smale ’83, Megiddo ’86] ◮ Fixed data. Flip signs of constraints at random. O (min { n 2 , d 2 } ). [Adler ’83, Haimovich ’83 Adler, Megiddo ‘85, Todd ‘86, Adler,Karp,Shamir ‘87]

  12. Random is Not Typical

  13. Random is Not Typical Smoothed Complexity (Spielman, Teng ’ 01) � �� � � �� � Worst case, σ = 0 Smoothed analysis, σ variable

  14. Defining polynomial smoothed complexity ◮ c ∈ R d , ¯ A ∈ R n × d , ¯ b ∈ R n . Rows of ( ¯ A , ¯ b ) norm at most 1.

  15. Defining polynomial smoothed complexity ◮ c ∈ R d , ¯ A ∈ R n × d , ¯ b ∈ R n . Rows of ( ¯ A , ¯ b ) norm at most 1. ◮ ˆ A , ˆ b : entries iid N (0 , σ 2 ). ◮ A = ¯ A + ˆ A , b = ¯ b + ˆ b .

  16. Defining polynomial smoothed complexity ◮ c ∈ R d , ¯ A ∈ R n × d , ¯ b ∈ R n . Rows of ( ¯ A , ¯ b ) norm at most 1. ◮ ˆ A , ˆ b : entries iid N (0 , σ 2 ). ◮ A = ¯ A + ˆ A , b = ¯ b + ˆ b . ◮ Smoothed Linear Program: c T x maximize subject to Ax ≤ b .

  17. Defining polynomial smoothed complexity ◮ c ∈ R d , ¯ A ∈ R n × d , ¯ b ∈ R n . Rows of ( ¯ A , ¯ b ) norm at most 1. ◮ ˆ A , ˆ b : entries iid N (0 , σ 2 ). ◮ A = ¯ A + ˆ A , b = ¯ b + ˆ b . ◮ Smoothed Linear Program: c T x maximize subject to Ax ≤ b . Polynomial smoothed complexity: expected poly( n , d , σ − 1 ) pivots.

  18. Results: smoothed complexity bounds ◮ d variables. ◮ n constraints. ◮ N (0 , σ 2 ) Gaussian noise. Works Expected Number of Pivots O ( n 86 d 55 σ − 30 + n 86 d 70 ) � Spielman, Teng ’04 O ( d 3 ln 3 n σ − 4 + d 9 ln 7 n ) Vershynin ’09 O ( d 2 √ ln n σ − 2 + d 3 ln 3 / 2 n ) Dadush, H. ’18

  19. 9 out of 10 Theoreticians recommend: Shadow Vertex rule 1. Start at vertex x optimizing an objective c ′ ∈ R d . 2. c λ := λ c + (1 − λ ) c ′ . 3. Increase λ from 0 to 1, tracking optimal vertex for c λ . Gass, Saaty ’55: shadow vertex rule.

  20. 9 out of 10 Theoreticians recommend: Shadow Vertex rule 1. Start at vertex x optimizing an objective c ′ ∈ R d . 2. c λ := λ c + (1 − λ ) c ′ . 3. Increase λ from 0 to 1, tracking optimal vertex for c λ . Gass, Saaty ’55: shadow vertex rule.

  21. 9 out of 10 Theoreticians recommend: Shadow Vertex rule 1. Start at vertex x optimizing an objective c ′ ∈ R d . 2. c λ := λ c + (1 − λ ) c ′ . 3. Increase λ from 0 to 1, tracking optimal vertex for c λ . Gass, Saaty ’55: shadow vertex rule.

  22. 9 out of 10 Theoreticians recommend: Shadow Vertex rule 1. Start at vertex x optimizing an objective c ′ ∈ R d . 2. c λ := λ c + (1 − λ ) c ′ . 3. Increase λ from 0 to 1, tracking optimal vertex for c λ . Gass, Saaty ’55: shadow vertex rule.

  23. 9 out of 10 Theoreticians recommend: Shadow Vertex rule 1. Start at vertex x optimizing an objective c ′ ∈ R d . 2. c λ := λ c + (1 − λ ) c ′ . 3. Increase λ from 0 to 1, tracking optimal vertex for c λ . Gass, Saaty ’55: shadow vertex rule.

  24. 9 out of 10 Theoreticians recommend: Shadow Vertex rule 1. Start at vertex x optimizing an objective c ′ ∈ R d . 2. c λ := λ c + (1 − λ ) c ′ . 3. Increase λ from 0 to 1, tracking optimal vertex for c λ . Gass, Saaty ’55: shadow vertex rule.

  25. 9 out of 10 Theoreticians recommend: Shadow Vertex rule 1. Start at vertex x optimizing an objective c ′ ∈ R d . 2. c λ := λ c + (1 − λ ) c ′ . 3. Increase λ from 0 to 1, tracking optimal vertex for c λ . Gass, Saaty ’55: shadow vertex rule. Why work with shadow vertex rule? Can locally determine if a vertex is on the path. Borgwardt ’77

  26. Fundamental estimate: number of shadow edges ◮ P = { x : Ax ≤ 1 } . ◮ A smoothed. ◮ RHS 1 fixed. ◮ W fixed 2D plane. Shadow bound := Expected # vertices in projection of P onto W .

  27. Results: shadow size ◮ Shadow of P = { x : Ax ≤ 1 } on fixed 2D plane W . ◮ d variables. ◮ n constraints. ◮ σ standard deviation. Works Expected Number of Vertices O ( d 3 n σ − 6 + d 6 n ln 3 n ) Spielman, Teng ’04 O ( dn 2 ln n σ − 2 + d 2 n 2 ln 2 n ) Deshpande, Spielman ’05 O ( d 3 σ − 4 + d 5 ln 2 n ) Vershynin ’09 O ( d 2 √ ln n σ − 2 + d 2 . 5 ln 3 / 2 n (1 + σ − 1 )) Dadush, H. ’18 Ω( d 3 / 2 √ Borgwardt ’87 ln n ) ( E [ A ] = 0)

  28. Polyhedral duality P := { x : a T i x ≤ 1 ∀ i ≤ n } . Q : = ConvexHull( a 1 , . . . , a n ) number of vertices in π W ( P ) ≤ number of edges in Q ∩ W .

  29. Counting polyhedron edges: comparing lengths perimeter #edges ≤ minimum edge length

  30. Counting polyhedron edges: comparing lengths perimeter #edges ≤ minimum edge length

  31. Counting polyhedron edges: comparing lengths perimeter #edges ≤ minimum edge length

  32. Counting polyhedron edges: comparing lengths E [perimeter] E [#edges] ≤ minimum E [ edge length ]

  33. Counting shadow edges: proof of lemma Let E ( B ) be the event that conv( B ) ∩ W forms an edge of Q ∩ W . � E [perimeter( Q ∩ W )] = E [length(conv( B ) ∩ W ) | E ( B )] Pr[ E ( B )] B ⊂{ a 1 ,..., a n } | B | = d

  34. Counting shadow edges: proof of lemma Let E ( B ) be the event that conv( B ) ∩ W forms an edge of Q ∩ W . � E [perimeter( Q ∩ W )] = E [length(conv( B ) ∩ W ) | E ( B )] Pr[ E ( B )] B ⊂{ a 1 ,..., a n } | B | = d � Pr[ E ( B ′ )] ≥ min | B | = d E [length(conv( B ) ∩ W ) | E ( B )] | B ′ | = d

  35. Counting shadow edges: proof of lemma Let E ( B ) be the event that conv( B ) ∩ W forms an edge of Q ∩ W . � E [perimeter( Q ∩ W )] = E [length(conv( B ) ∩ W ) | E ( B )] Pr[ E ( B )] B ⊂{ a 1 ,..., a n } | B | = d � Pr[ E ( B ′ )] ≥ min | B | = d E [length(conv( B ) ∩ W ) | E ( B )] | B ′ | = d = min | B | = d E [length(conv( B ) ∩ W ) | E ( B )] E [#edges]

  36. Counting shadow edges: proof of lemma Let E ( B ) be the event that conv( B ) ∩ W forms an edge of Q ∩ W . � E [perimeter( Q ∩ W )] = E [length(conv( B ) ∩ W ) | E ( B )] Pr[ E ( B )] B ⊂{ a 1 ,..., a n } | B | = d � Pr[ E ( B ′ )] ≥ min | B | = d E [length(conv( B ) ∩ W ) | E ( B )] | B ′ | = d = min | B | = d E [length(conv( B ) ∩ W ) | E ( B )] E [#edges] E [perimeter( Q ∩ W )] So E [#edges] ≤ min | B | = d E [length(conv( B ) ∩ W ) | E ( B )] .

  37. High-level ideas E [perimeter( Q ∩ W )] E [#edges( Q ∩ W )] ≤ minimum E [ edge length ]

  38. High-level ideas E [perimeter( Q ∩ W )] E [#edges( Q ∩ W )] ≤ minimum E [ edge length ]

  39. High-level ideas E [perimeter( Q ∩ W )] E [#edges( Q ∩ W )] ≤ minimum E [ edge length ] E [perimeter( Q ∩ W )] ≤ 2 π E [ max x ∈ Q ∩ W � x � ] ≤ 2 π E [max � π W ( a i ) � ] √ ≤ O (1 + σ ln n )

  40. High-level ideas E [perimeter( Q ∩ W )] E [#edges( Q ∩ W )] ≤ minimum E [ edge length ]

  41. High-level ideas E [perimeter( Q ∩ W )] E [#edges( Q ∩ W )] ≤ minimum E [ edge length ] W a 1 a 2 l a 3

  42. High-level ideas E [perimeter( Q ∩ W )] E [#edges( Q ∩ W )] ≤ minimum E [ edge length ] W a 1 a 2 l a 3

  43. High-level ideas E [perimeter( Q ∩ W )] E [#edges( Q ∩ W )] ≤ minimum E [ edge length ] W a 1 a 2 l a 3

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