Optimality criterion — a tableau with gives an optimal basic feasible solution
ProvedMatousekLP.Simplex.optimality_criterionlinear-programmingp2o-batch-b23bp2o-gran-per-chapterp2o-plan-bookp2o-v1simplex-method
Let be a real matrix of rank with , , , and let be a feasible basis of "maximize subject to , ". Let be the last row of its simplex tableau . If
then the basic feasible solution of (the with and for all ) is an optimal solution.
This is the stopping test of the simplex method: when no nonbasic variable has a positive coefficient in the objective row, the current basic feasible solution is optimal.
Formalization Note Indices are 0-based. The basic feasible solution is described by the two properties that determine it (, zero outside ). Optimality is stated against every feasible solution; no supremum is used. The standing assumption of §4.2 is a hypothesis.
Preamble
import Mathlib import Definitions.Def_MatousekLP_Simplex_Tableau open Matrix Filter
Formal statement
namespace MatousekLP.Simplex
/-- Optimality criterion (§5.6, p. 67, boxed). If `B` is a feasible basis and the last row of
the simplex tableau `T(B)` has `r ≤ 0`, then the basic feasible solution of `B` is optimal.
Standing assumption of §4.2 (p. 44): `n ≥ m` and `A` has rank `m`. -/
theorem optimality_criterion {m n : ℕ} (A : Matrix (Fin m) (Fin n) ℝ) (b : Fin m → ℝ)
(c : Fin n → ℝ) (hmn : m ≤ n) (hrank : A.rank = m) (B : Finset (Fin n)) (hB : B.card = m)
(hfeas : IsFeasibleBasisOf A b B hB) (hr : tableauR A c B hB ≤ 0) (x : Fin n → ℝ)
(hx : IsBasicSolutionFor A b B x) :
MatousekLP.BFS.IsOptimal A b c x := by sorry
end MatousekLP.Simplex
Source
Matoušek & Gärtner, Understanding and Using Linear Programming, Springer 2007, §5.6, p. 67, optimality criterion (boxed, unnumbered)
Human review
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.