Klee–Minty: Dantzig's rule takes pivots
ProvedSmaleNinth.klee_minty_dantzig_exponentialThe simplex method moves between adjacent vertices of the feasible region, at each step admitting some column with negative reduced cost into the basis and expelling a row determined by the ratio test. A pivoting rule resolves the remaining freedom; Dantzig's rule — the historical and still most familiar choice — enters a column of most negative reduced cost.
This theorem states that on the -dimensional Klee–Minty cube in standard form, with equality constraints and nonnegative variables, that rule can be made to traverse the entire cube. Precisely: for every there is a sequence of basis-and-point pairs
such that is the all-slack basis together with its basic feasible solution (every original variable , every slack ); every with is a legitimate simplex state, meaning the chosen columns are linearly independent, the point is feasible, and it vanishes off the basis; each of the consecutive transitions is a Dantzig pivot; and the terminal basis is optimal, in the sense that every nonbasic column has nonnegative reduced cost, so no further pivot is available.
Why the statement is existential. A worst-case lower bound is a claim about some run, not about every run: Dantzig's rule leaves ties unresolved, and the assertion is that a run consistent with the rule attains the full length , which is one less than the number of vertices of the cube. Since the instance has constraints and variables, the number of pivots is exponential in the size of the input, so the simplex method under Dantzig's rule is not a polynomial-time algorithm.
Scope. The result is about this rule on this family only. Exponential families are known for essentially every other classical deterministic rule, and subexponential lower bounds for the randomized ones; none of that is asserted here, and each would be a separate statement over the same simplex development.
Convention. Bases are recorded as injections from row indices into column indices and points as vectors in , with -based indexing; the optimality of the terminal state is a condition on the reduced costs at , not a separate claim that minimizes the objective, which follows from it by the standard optimality criterion.
import Definitions.Def_Polyhedron import Definitions.Def_LinearOptimization_SimplexPivot import Definitions.Def_SmaleNinth_KleeMinty /-! The Klee–Minty exponential lower bound for Dantzig's pivoting rule. Source: V. Klee, G.J. Minty, *How good is the simplex algorithm?*, in: Inequalities III (O. Shisha, ed.), Academic Press 1972, pp. 159–175; presentation of V. Chvátal, *Linear Programming*, Freeman 1983, Chapter 4: on problem (4.6) — here `kleeMintyA/b/c` in standard form — the simplex method with Dantzig's largest-coefficient entering rule, started from the all-slack dictionary, performs exactly `2ⁿ − 1` iterations. Formalized as the worst-case lower bound: there exists an admissible trajectory of `2ⁿ − 1` consecutive Dantzig pivots from the all-slack basic feasible solution whose final state is optimal-terminal. (Together with the platform's simplex development this witnesses that Dantzig's rule is not polynomial: the instance has `2n` variables, `n` constraints, and forces `2ⁿ − 1` pivots.) -/ open Matrix LinearOptimization /-- **Klee–Minty 1972** (Chvátal, Chapter 4). On the `n`-dimensional Klee–Minty cube in standard form, Dantzig's rule admits a run of `2ⁿ − 1` simplex pivots from the all-slack basic feasible solution, ending in an optimal terminal state — the simplex method with Dantzig's entering rule takes exponentially many iterations in the worst case. -/
theorem SmaleNinth.klee_minty_dantzig_exponential (n : ℕ) (hn : 1 ≤ n) :
∃ f : ℕ → (Fin n ↪ Fin (2 * n)) × (Fin (2 * n) → ℝ),
(f 0).1 = kleeMintySlackBasis n ∧
(f 0).2 = kleeMintySlackSolution n ∧
(∀ k ≤ 2 ^ n - 1,
IsSimplexState (kleeMintyA n) (kleeMintyb n) (f k).1 (f k).2) ∧
(∀ k < 2 ^ n - 1,
IsDantzigPivot (kleeMintyA n) (kleeMintyc n) (f k).1 (f k).2
(f (k + 1)).1 (f (k + 1)).2) ∧
IsSimplexOptimalTerminal (kleeMintyA n) (kleeMintyc n)
(f (2 ^ n - 1)).1 := by sorryRead-back
What the Lean code literally says, in plain math · claude-fable-5
Read-back: SmaleNinth.klee_minty_dantzig_exponential
What the statement asserts. For every natural number with , there exists a function
defined on all of (write , where is an injective map from row indices into column indices , thought of as a choice of basic columns, and ), such that the following five conjuncts hold. Only the values are constrained; the values of at are completely arbitrary. The trajectory is existentially quantified: the theorem claims that some such sequence exists, not that every sequence satisfying the pivot rule behaves this way.
The fixed data (all indices 0-based). Throughout, is the real matrix with entries, for row and column :
(The exponent is natural-number subtraction, but it is only used when , so it equals the ordinary difference.) The right-hand side is with
so in particular . The cost vector is with
again with natural-number subtraction in the exponent, which for equals the ordinary ; e.g. and .
The initial state (conjuncts 1 and 2). is the specific injection (each basic column is the slack column ), and is the specific vector
Conjunct 3 (simplex states). For every with (an inclusive bound, so this covers the indices , including the final one), the pair is a simplex state for , meaning the conjunction of:
- the columns of are linearly independent over ;
- lies in the standard-form polyhedron: and componentwise;
- for every column index not in the image of .
Conjunct 4 (Dantzig pivots). For every with (a strict bound, so this covers the steps ), the pair passes to by a Dantzig pivot with respect to . Unfolded, this says: there exist a column index and a row index such that, writing for the matrix whose columns are the basic columns (in that order), for the pivot column, and
for the reduced cost of column (where and is the -th column of ; the matrix inverse here is a total operation that returns the zero matrix when is singular — no invertibility hypothesis appears inside this predicate itself), all of the following hold:
- is not in the image of (the entering column is nonbasic);
- ;
- ;
- for every , and ;
- , where is the -th basic direction: -component minus placed at position — i.e. contribution, receives , and all other components are (formally );
- the ratio test: for every row with , ;
- Dantzig's rule: for every column index — the quantifier ranges over all columns, basic ones included, not only nonbasic ones — ; that is, the entering column attains the minimum reduced cost over all columns. Ties are not further constrained.
(In items 5 and 6, the divisions are real-number division, which is a total operation; item 3 guarantees for the step size itself.)
Conjunct 5 (optimal-terminal final basis). The basis (the first component of ; the exponent uses natural-number subtraction, and since one has ) is an optimal terminal state for : for every column index not in the image of , the reduced cost satisfies . This final conjunct constrains only the basis , not the vector , and asserts nonnegativity of reduced costs — it does not itself assert that minimizes over the feasible set.
Bookkeeping of the index ranges. The state condition holds for (inclusive: states ), while the pivot condition holds for (strict: pivots, connecting state to state for ). The hypothesis rules out ; for all natural-number subtractions above coincide with the ordinary ones in the ranges where they are used. The whole assertion is a single existential over : one admissible trajectory with these properties exists.
Confirmed by the mission captain (proposal self-audit).