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.

A linear program seeks to maximize or minimize a linear function over a feasible region defined by linear constraints , . Because both objective and constraints are linear, the feasible region is a convex polyhedron, and the objective increases in straight directions — making the problem tractable yet enormously expressive. LP matters because a vast range of real decisions (what to produce, ship, blend, or schedule) become solvable exactly and at scale. The surprising fact: although the Simplex Method can in pathological cases visit exponentially many vertices, in practice it is so fast and reliable that it powered industrial optimization for decades before polynomial-time interior-point methods even existed.

The Core Insight

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

Standard Form Linear Program

A linear program in standard form is written

1
⟳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.

Basic Feasible Solution

Assume has full row rank with . Partition columns into a basis (an invertible submatrix) and nonbasis . Setting nonbasic variables gives the basic solution

2
⟳ splits as ; set and invert .

If , it is a basic feasible solution (BFS). BFSs correspond exactly to vertices of .

Fundamental Theorem of Linear Programming

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.

Reduced Costs and Optimality

Given a BFS with basis , define the reduced cost vector for nonbasic variables

3
⟳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

The Simplex Method Improves at Every Step

Setup. Start at a BFS with basis . The objective written in nonbasic variables is
4
⟳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:
5
⟳only column enters, so the perturbation direction is .

To keep , the maximum step is

6
⟳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.

Degeneracy and Cycling

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 Dantzig | 1914–2005

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.

Simplex walking along vertices of a 2-D feasible polygon toward the optimum

x₁ x₂ cᵀx ↑ start optimum feasible region

Worked Examples

Carpenter's Production Mix

A carpenter makes tables () and chairs (). Profit: \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: \boxed{x_1 = 14 \text{ tables}, \; x_2 = 4 \text{ chairs}, \; z = 500}$

Diet Problem (Minimization)

Minimize cost of a diet meeting nutrient minimums using Food A (, \x_23/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: \boxed{x_1 = 2.8, \; x_2 = 3.6, \; z = 16.40}$ (both constraints binding; check other vertices give higher cost).

Common Misconceptions

Pitfalls

  • "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.

Klee–Minty Cube

Consider the LP over the perturbed unit cube in :

7
⟳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

  1. Airline crew scheduling & fleet assignment — American Airlines and others save hundreds of millions yearly assigning crews and aircraft via LP/IP.
  2. Petroleum refining (blending) — refineries blend crude streams to meet octane and sulfur specs at minimum cost; one of LP's earliest industrial uses (1950s).
  3. Diet & nutrition planning — Stigler's 1945 diet problem; still used in agriculture and institutional food service.
  4. Supply chain & transportation — minimizing shipping cost from warehouses to demand points (the classic transportation problem).
  5. Portfolio optimization — linear approximations to risk/return tradeoffs in finance.
  6. Telecommunications & energy networks — routing flow and dispatching power generation (economic dispatch) under capacity limits.
  7. Manufacturing production planning — product mix, machine loading, and inventory across multi-period horizons.

Historical Development

  • 1939 — Leonid Kantorovich formulates LP-type problems for Soviet production planning; later shares the 1975 Nobel in Economics.
  • 1941 — Frank Hitchcock poses the transportation problem.
  • 1945 — George Stigler poses and approximately solves the diet problem by hand.
  • 1947 — George Dantzig develops the Simplex Method for U.S. Air Force planning (Project SCOOP).
  • 1947 — John von Neumann conjectures and outlines LP duality in a conversation with Dantzig.
  • 1951 — Tjalling Koopmans advances activity analysis; shares 1975 Nobel with Kantorovich.
  • 1972 — Klee & Minty publish the cube showing Simplex's exponential worst case.
  • 1979 — Leonid Khachiyan proves LP solvable in polynomial time via the ellipsoid method.
  • 1984 — Narendra Karmarkar introduces a practical polynomial-time interior-point method, sparking the modern era.

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

Before this

Where this leads