
Harvard University · 1:24:57 · Watch on YouTube
Summary
This lecture closes out the simplex algorithm and then surveys the polynomial-time alternatives for linear programming. It completes the reduced-cost pivot step, patches the degenerate case with Bland's rule, and uses the shadow price vector to derive strong duality and complementary slackness as corollaries of simplex terminating. The second half explains why simplex is exponential in the worst case but fast in practice (vertex counts, the polytope-diameter question and the fall of the Hirsch conjecture, and Spielman–Teng smoothed analysis), sketches the ellipsoid algorithm and its separation-oracle superpower, and previews path-following interior point methods with the log barrier.
flowchart TD
subgraph S["Simplex track"]
A["Vertices, bases,<br/>reduced costs"] --> B["Bland's rule<br/>(termination)"]
B --> C["Strong duality<br/>via shadow prices"]
C --> D["Complementary<br/>slackness"]
B --> E["Runtime, vertex counts,<br/>polytope diameter"]
E --> F["Smoothed analysis:<br/>why it's fast in practice"]
end
subgraph P["Polynomial-time track"]
G["Ellipsoid<br/>(Khachiyan, 1970s)"] --> H["Interior point<br/>(Karmarkar, 1984)"]
end
S --> P
Topics
- Introduction — where LP algorithms stand
- Simplex — vertices, bases, and reduced costs
- Bland's rule — a pivoting rule that terminates
- Strong duality out of simplex (plus a Q&A aside on rank)
- Complementary slackness
- Simplex running time and the polytope-diameter question
- Smoothed analysis — why simplex is fast in practice
- The ellipsoid algorithm
- Interior point methods — preview
Full source text: transcript.md
Key takeaways
- Simplex halts exactly when the reduced cost
c̃_N = c_N − A_Nᵀ A_B⁻ᵀ c_Bis non-negative, and that condition certifies global optimality becausex_N ≥ 0throughout the polytope, so the objective can only rise from the current vertex (15:43,16:41). - Bland's rule is the pivoting rule that provably terminates — enter the smallest-index
jminimizing a negativec̃_j, leave the firstkminimizing the ratiomin_i { (A_B⁻¹b)_i / (A_B⁻¹A)_{ij} : (A_B⁻¹A)_{ij} > 0 }— where other rules can cycle forever on degenerate bases (19:44,21:43,22:35). - Strong duality falls out of simplex for free via the shadow price vector
y = A_B⁻ᵀc_B: at every iteratecᵀv_B = bᵀy, and the halting conditionc̃_N ≥ 0is precisely dual feasibility ofy, since the dual slack satisfiesr_B = 0andr_N = c̃_N(28:15,31:09,31:55). - Complementary slackness follows in three lines: the gap
cᵀx − bᵀy = Σ_i x_i r_iis zero at optimality and every term is non-negative, so for eachieitherx_i = 0or the dual slackr_i = 0(36:39,37:08). - The Hirsch conjecture (1957, diameter ≤
m − d) was disproved by Santos in the Annals of Mathematics, 2011, with an explicit polytope atd = 43,m = 86and diameter ≥ 44 — off by one — plus an infinite family with diameter ≥(1 + ε)m; these near-linear lower bounds still leave apoly(m, d)diameter bound, the necessary (not sufficient) condition for poly-time simplex, wide open (43:47,44:31,45:12,46:12). - Spielman and Teng's smoothed analysis explains simplex's practical speed: on a worst-case LP perturbed by independent mean-zero Gaussian noise on every entry of
A,b, andc, simplex with a specific pivot rule runs in expected polynomial time (polynomial in the variance too) (49:07,49:29,50:57). - Ellipsoid needs only a separation oracle, not the LP itself — each step shrinks volume by a factor
e^(−1/(2n)), it makes polynomially many oracle calls, and it therefore solves exponentially sized LPs and general convex programs (via the separating hyperplane / Hahn–Banach theorem) (53:58,54:39,1:03:02,1:03:49). - Zero-volume polytopes are handled by inflating to
P' = { Ax ≤ b + 2^(−L)𝟙, −2^L ≤ x_j ≤ 2^L }, which has exponentially small but non-zero volume and satisfies "Pinfeasible iffP'infeasible", giving ellipsoid a concrete stopping threshold (1:06:59,1:07:52). - Interior point (Karmarkar, STOC/Combinatorica 1984) needs at least
Literations; the best known bound wasL·√m, improved that year toL·√(rank of the constraint matrix)— and no strongly polynomial-time LP algorithm is known (1:15:14,1:19:16,1:19:40).