In 1947, George Dantzig invented an algorithm that would quietly run inside airlines, oil refineries, logistics networks, and financial models for the rest of the century — and still does. He called it the simplex method.
The problem it solves is called linear programming: maximize (or minimize) a linear objective function subject to a set of linear inequality constraints. Picture a factory deciding how many units of two products to make, constrained by limited labour and materials, trying to maximize profit. Every constraint carves away a half-space; what remains is a convex polytope — the feasible region. The optimum, if one exists, always sits at a corner (vertex) of that polytope.
Simplex exploits this: start at any corner, check whether any neighboring corner improves the objective, and pivot to the better one. Repeat until no neighbor is better — that corner is the global optimum. The logic is clean because linear functions are convex: there are no local optima to trap you.
What makes this story interesting for complexity theory is the gap between theory and practice. In the worst case, simplex visits an exponential number of corners (Klee and Minty proved this in 1972). Yet on real-world instances it typically takes only pivots for a problem with m constraints — a number that barely grows with problem size. Understanding why is one of the open questions in the field.
Comments
Loading comments...