linear optimization
Simplex Method
You should know: linear programming, gaussian elimination
Overview
The simplex method is an iterative algorithm for solving linear programs by traversing the vertices (extreme points) of the feasible polytope, moving along edges to improve the objective at each step. Invented by George Dantzig in 1947, it remains the most widely used LP algorithm in practice despite having exponential worst-case complexity — its average-case performance on practical problems is excellent.
Intuition
Think of the feasible polytope as a multifaceted gem. The simplex method starts at any corner (vertex), looks at neighbouring corners connected by an edge, and moves to whichever neighbour improves the objective. It keeps moving until no improvement is possible — that vertex is optimal.
Formal Definition
The algorithm works on the standard form LP: min cᵀx, Ax=b, x≥0. A basis B is a set of m linearly independent columns of A; the basic feasible solution (BFS) is xB = B⁻¹b ≥ 0, xN = 0.
Notation
| Notation | Meaning |
|---|---|
| Basis matrix (m×m invertible submatrix of A) | |
| Basic and non-basic variables | |
| Reduced cost vector for non-basic variables | |
| Step direction when entering column j |
Properties
Finite termination (non-degenerate case)
Bland's rule prevents cycling
Complexity
Worked Examples
- 1
Introduce slacks s₁,s₂: min -x₁-2x₂, s.t. x₁+x₂+s₁=4, x₁+s₂=3, all ≥ 0.
- 2
Initial BFS: x₁=x₂=0, s₁=4, s₂=3. Objective = 0. Basis B = {s₁,s₂}.
- 3
Reduced costs: c̄₁ = -1, c̄₂ = -2. Most negative is x₂ (index 2): enters.
- 4
Minimum ratio test: s₁ row gives 4/1=4; s₂ has no x₂ coefficient (0), so only s₁ can leave.
- 5
New BFS: x₂=4, x₁=0, s₁=0, s₂=3. Objective = -8.
✓ Answer
After one pivot, x₂ enters the basis, objective improves from 0 to -8.
Practice Problems
Explain why Bland's rule guarantees finite termination of the simplex method.
Common Mistakes
Thinking the simplex method always terminates quickly
The worst-case complexity is exponential. The Klee-Minty cube shows it can visit 2ⁿ vertices. However, in practice and under smoothed analysis, average performance is polynomial.
Quiz
Historical Background
Dantzig developed the simplex method in 1947, inspired by his work on optimising logistics for the US military. The method's name comes from Dantzig's advisor John von Neumann's suggestion, as the algorithm moves along the boundary of the feasible simplex. Despite Khachian's 1979 polynomial-time ellipsoid method and Karmarkar's 1984 interior-point method, the revised simplex method (with proper pivoting rules) remains the algorithm of choice for large-scale LP.
- 1947
Dantzig invents the simplex method
George Dantzig
- 1954
Bland's pivoting rule introduced to prevent cycling
Robert Bland
- 1977
Klee-Minty example shows exponential worst-case for naive simplex
Victor Klee, George Minty
Summary
- The simplex method moves between adjacent vertices of the feasible polytope, improving the objective at each step.
- A pivot selects an entering variable (negative reduced cost) and leaving variable (minimum ratio test).
- Bland's rule or perturbation techniques prevent cycling in degenerate cases.
- Worst-case exponential but excellent average-case performance; widely used in practice.
References
- BookDantzig, G.B. — Linear Programming and Extensions (1963), Princeton University Press
- WebsiteMathWorld — Simplex Method
Mathematics