Theorem 5.2 — Strong Duality Theorem
ProvedVanderbeiLP.StrictComp.strong_dualitydualitylinear-programmingp2o-batch-b23ap2o-gran-per-chapterp2o-plan-bookp2o-v1
Consider the standard-form linear program "maximize subject to , " with , , , and its dual "minimize subject to , ". If the primal has an optimal solution , then the dual also has an optimal solution such that
There is no gap between the optimal primal and dual values. Together with weak duality this makes a pair of feasible points with equal objective values a certificate of optimality for both.
Formalization Note Optimality is attainment: is primal feasible with for every primal feasible , and the conclusion asserts a dual feasible with for every dual feasible .
Preamble
import Mathlib import Definitions.Def_VanderbeiLP_StrictComp_PrimalDualPair open Matrix
Formal statement
namespace VanderbeiLP.StrictComp
/-- **Vanderbei, Theorem 5.2 (p. 57).** Strong duality: if the primal has an optimal solution
`x*`, then the dual has an optimal solution `y*` with `Σⱼ cⱼx*ⱼ = Σᵢ bᵢy*ᵢ` (5.2). -/
theorem strong_duality {m n : ℕ} (A : Matrix (Fin m) (Fin n) ℝ) (b : Fin m → ℝ)
(c : Fin n → ℝ) (xstar : Fin n → ℝ) (hx : PrimalOptimal A b c xstar) :
∃ ystar : Fin m → ℝ, DualOptimal A b c ystar ∧ c ⬝ᵥ xstar = b ⬝ᵥ ystar := by sorry
end VanderbeiLP.StrictComp
Source
Vanderbei, Linear Programming: Foundations and Extensions, 4th ed., Springer 2014, p. 57, Theorem 5.2, Eq. (5.2) (PDF p. 73)
Human review
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.