Linear Programming and the Simplex Method
Linear Programming (LP) optimizes a linear objective function subject to linear equality and inequality constraints. Key result: the optimum, if it exists, occurs at a vertex of the feasible polytope; the Simplex Method (Dantzig, 1947) finds it by walking vertex-to-vertex along edges of improving objective value. Applies to resource allocation, logistics, diet, scheduling, network flow, and game theory. Developed by George Dantzig at the U.S. Air Force; theoretical foundations by Kantorovich, von Neumann, and others.
The feasible region of an LP is a convex polyhedron. A linear objective attains its extreme value on a vertex (extreme point) of that polyhedron. Since there are finitely many vertices, optimization reduces to searching among them — and the Simplex Method does this intelligently, never moving to a worse vertex, by exploiting the algebraic correspondence between vertices and basic feasible solutions.
Formal Statement
A linear program in standard form is written
Derivation hint: any inequality becomes equality by adding a nonnegative slack variable : , . Symbols:
- — the decision variables (quantities to choose).
- — the cost/profit vector; is the objective.
- — the constraint matrix ( constraints, variables).
- — the right-hand side (resource availabilities).
- — componentwise nonnegativity.
The feasible region is , a convex polyhedron.
Assume has full row rank with . Partition columns into a basis (an invertible submatrix) and nonbasis . Setting nonbasic variables gives the basic solution
Derivation hint: splits as ; set and invert . If , it is a basic feasible solution (BFS). BFSs correspond exactly to vertices of .
For an LP in standard form with nonempty feasible region : 1. If , there exists at least one basic feasible solution (vertex). 2. If an optimal solution exists, then there exists an optimal solution that is a basic feasible solution. Consequently, optimizing a linear objective reduces to searching a finite set of vertices.
Given a BFS with basis , define the reduced cost vector for nonbasic variables
Derivation hint: substitute into to express the objective in terms of nonbasic variables. For a maximization problem, the current BFS is optimal iff (no nonbasic variable can be increased to improve the objective). The vector is the vector of dual variables.
Why It Holds / Derivation
Setup. Start at a BFS with basis . The objective written in nonbasic variables is
Derivation hint: substitute into .
Step 1 — Pricing. Compute via [3]. If all , equation [4] shows increasing any cannot raise , so we are optimal. Stop.
Step 2 — Entering variable. Otherwise choose with . Increasing from increases at rate .
Step 3 — Ratio test. As increases by , the basic variables change:
Derivation hint: only column enters, so the perturbation direction is . To keep , the maximum step is
Derivation hint: the first basic variable to hit zero determines the binding ratio.
Step 4 — Pivot. The variable achieving the minimum leaves the basis; enters. This yields a new BFS (adjacent vertex) with objective increased by .
Step 5 — Termination. If (no positive component) in Step 3, can increase without bound and : the LP is unbounded. Otherwise, since there are finitely many bases and (under nondegeneracy) the objective strictly increases, no basis repeats, so the algorithm terminates at an optimum.
∎When some basic variable equals zero (), the ratio test may give : a pivot changes the basis but not the vertex or objective. Repeated zero-step pivots can cycle forever. Anti-cycling rules — Bland's rule (choose smallest-index entering/leaving variable) or the lexicographic method — guarantee termination.
George Bernard Dantzig formulated the Simplex Method in 1947 while working for the U.S. Air Force on planning and logistics (Project SCOOP). He recognized that the "programming" of interdependent military activities could be cast as linear optimization, and devised the vertex-walking algorithm to solve it. A famous anecdote: as a graduate student he arrived late to a statistics class, copied two problems from the board thinking they were homework, and solved them — only later learning they were two famous unsolved problems. Dantzig also championed LP duality and contributed to large-scale decomposition methods. He is widely regarded as the father of linear programming.
Building Intuition
Picture the feasible region as a many-faceted gemstone (a convex polytope) sitting in space. The objective defines a direction; imagine pushing a flat plane (a level set ) in that direction as far as it will go while still touching the gem. The last point of contact is a vertex (or, in ties, an edge or face). The Simplex Method doesn't search the interior — it crawls along the edges of the gem, from corner to corner, always moving so the plane advances. Each pivot is one edge-walk. Because there are finitely many corners and we never go backward, we must reach the highest one.
Worked Examples
A carpenter makes tables () and chairs (). Profit: $30/table, $20/chair. Constraints:
- Wood: board-feet
- Labor: hours
Objective: maximize .
Standard form (add slacks ): , .
Iteration 0. Basis , , . Reduced costs , . Choose (largest). Ratio test: , . Min is → leaves. New .
Iteration 1. Pivot on row 1. New objective row gives . Enter . Updated column and RHS: ratio test yields enters, leaves. Solving the system at the vertex , : , .
Check optimality: all reduced costs . Profit:
Boxed answer:
Minimize cost of a diet meeting nutrient minimums using Food A (, $2/unit) and Food B (, $3/unit):
- Protein:
- Vitamins:
Objective: minimize . Convert to for Simplex by subtracting surplus variables (or use the dual / Big-M). Geometrically the optimum lies at the intersection of the two binding constraints:
Solving: from the second, . Substitute: . Then . Cost:
Boxed answer: (both constraints binding; check other vertices give higher cost).
Common Misconceptions
- "The optimum is unique." Not necessarily — if the objective is parallel to a binding constraint, an entire edge or face is optimal (alternative optima).
- "Simplex is polynomial-time." No. Klee–Minty (1972) constructed cubes where Simplex with Dantzig's pivot rule visits all vertices. Worst-case behavior is exponential, though typical behavior is excellent.
- "More constraints means harder." Adding redundant constraints doesn't change the optimum; complexity scales with the geometry, not raw count.
- "Integer answers come for free." LP allows fractional . Requiring integers makes it Integer Programming, which is NP-hard.
Consider the LP over the perturbed unit cube in :
Derivation hint: the small -skew distorts a cube so the objective direction threads through every one of the corners. Starting at the origin, Simplex with the steepest-ascent (Dantzig) pivot rule visits all vertices before reaching the optimum. This proves the method has exponential worst-case complexity, motivating polynomial alternatives like the ellipsoid and interior-point methods.
Connections
LP sits at a crossroads of several fields. The Simplex Method is fundamentally an exercise in Convex Geometry — walking the vertices of a polytope. Every LP has a paired dual LP, and Linear Programming Duality gives the powerful strong duality theorem: primal and dual optima coincide, and the dual variables are exactly the shadow prices (marginal values of resources). LP generalizes to Convex Optimization and specializes to Network Flow Problems (where Simplex becomes the highly efficient network Simplex). Game theory connects deeply: von Neumann's minimax theorem for Zero-Sum Games is equivalent to LP duality. Modern competitors are Interior-Point Methods, which traverse the polytope's interior rather than its edges.
Real-World Applications
Historical Development
Subtleties & Limits
A famous gap remains between LP theory and practice. Is there a pivot rule for the Simplex Method that runs in polynomial time? Despite decades of effort, no such rule is known, and many natural rules (Dantzig, steepest-edge, Bland) have superpolynomial or exponential worst cases (the Hirsch conjecture on polytope diameters, long thought to bound this, was disproved by Santos in 2010). Relatedly, whether LP can be solved in strongly polynomial time — a number of arithmetic operations bounded by a polynomial in alone, independent of the bit-size of the data — is one of Smale's 18 open problems for the 21st century. Interior-point methods are weakly polynomial; a strongly polynomial algorithm remains undiscovered.
See Also
Linear Programming Duality · Integer Programming · Interior-Point Methods · Network Flow Problems · Convex Optimization · Zero-Sum Games · Convex Geometry