Theorem 4.2.3 — optimal solutions exist and can be taken basic
ProvedMatousekLP.BFS.optimal_bfs_existslinear-programmingp2o-batch-b23bp2o-gran-per-chapterp2o-plan-bookp2o-v1polyhedra
Let be a real matrix of rank (so ), let and , and consider the linear program in equational form
- If there is at least one feasible solution and the objective function is bounded from above on the set of all feasible solutions, then there exists an optimal solution.
- If an optimal solution exists, then there is a basic feasible solution that is optimal.
Part 1 says that optimal solutions fail to exist only when the program is infeasible or unbounded. Part 2 reduces the search for an optimum to the finitely many basic feasible solutions, which is the principle behind the simplex method.
Formalization Note The standing assumption of §4.2 (p. 44), and , is a hypothesis. "Optimal" means feasible with for every feasible , and "bounded from above" means for some real and all feasible ; no supremum is used. Both parts are stated as one conjunction, as in the book.
Preamble
import Mathlib import Definitions.Def_MatousekLP_BFS_EquationalForm open Matrix
Formal statement
namespace MatousekLP.BFS
/-- Theorem 4.2.3 (p. 46). Standing assumption of §4.2 (p. 44): `A` has `m` rows, `n` columns,
`n ≥ m`, and rank `m`.
(i) A feasible LP whose objective is bounded above on the feasible set has an optimal solution.
(ii) If an optimal solution exists, some basic feasible solution is optimal. -/
theorem optimal_bfs_exists {m n : ℕ} (A : Matrix (Fin m) (Fin n) ℝ)
(b : Fin m → ℝ) (c : Fin n → ℝ) (hmn : m ≤ n) (hrank : A.rank = m) :
((∃ x, IsFeasible A b x) → IsBoundedAbove A b c → ∃ x, IsOptimal A b c x) ∧
((∃ x, IsOptimal A b c x) → ∃ x, IsOptimal A b c x ∧ IsBasicFeasible A b x) := by sorry
end MatousekLP.BFS
Source
Matoušek & Gärtner, Understanding and Using Linear Programming, Springer 2007, p. 46, Theorem 4.2.3 (standing assumption of §4.2 on p. 44)
Human review
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.