Central-path duality gap
ProvedConvexOptimization.central_path_duality_gapThe central path has duality gap .
Consider minimizing a convex differentiable subject to , with each convex and differentiable, and let be the logarithmic barrier on the strictly feasible set. Fix and let be a strictly feasible minimizer of — the central point for the parameter . Then for every feasible ,
i.e. is at most -suboptimal.
The bound comes from reading the stationarity condition of the centering problem as a dual feasible point: the multipliers are dual feasible and yield exactly the gap . Its consequences organize the whole method: to reach accuracy it suffices to follow the path to , and since the outer loop multiplies by each round, the number of centering steps is logarithmic in .
Formalization Note The central point is given as a hypothesis — a strictly feasible point minimizing over {x | ∀ i, fc i x < 0} — rather than constructed, so no existence or uniqueness argument is packed into the statement; appears as the cast (mI : ℝ) of the number of inequality constraints. Source: B&V §11.2.2, p. 566.
import Mathlib import Definitions.Def_ConvexOptimization_logBarrier open scoped RealInnerProductSpace ENNReal open MeasureTheory
theorem ConvexOptimization.central_path_duality_gap {n mI : ℕ} (t : ℝ) (ht : 0 < t)
(f₀ : EuclideanSpace ℝ (Fin n) → ℝ) (hf₀ : ConvexOn ℝ Set.univ f₀)
(fc : Fin mI → EuclideanSpace ℝ (Fin n) → ℝ)
(hfc : ∀ i, ConvexOn ℝ Set.univ (fc i))
(hfc_diff : ∀ i, Differentiable ℝ (fc i)) (hf₀_diff : Differentiable ℝ f₀)
(xc : EuclideanSpace ℝ (Fin n)) (hxc_str : ∀ i, fc i xc < 0)
(hxc_min : IsMinOn (fun x => t * f₀ x + logBarrier fc x)
{x | ∀ i, fc i x < 0} xc)
(x : EuclideanSpace ℝ (Fin n)) (hx : ∀ i, fc i x ≤ 0) :
f₀ xc - (mI : ℝ) / t ≤ f₀ x := by
sorry