Conic strong duality under generalized Slater
ProvedConvexOptimization.conic_slater_strong_dualityStrong duality for cone programs under a generalized Slater condition.
Let be a closed convex cone with dual cone , and consider
where is convex, is -convex — meaning for — and are linearly independent. Assume the generalized Slater condition: some satisfies the equality constraints and has in the interior of . If the optimal value is finite, then the dual optimum is attained: there exist and with
This is Slater's theorem with the componentwise inequality replaced by a generalized inequality with respect to , and the multiplier vector replaced by a dual-cone vector . Specializing to the positive semidefinite cone gives semidefinite programming duality and the LMI theorems of alternatives; specializing to the nonnegative orthant recovers the ordinary case.
Formalization Note The cone is given by explicit convexity, closedness and positive-scaling hypotheses rather than by a bundled structure, and -convexity of is stated as the displayed membership; appears as an sInf over the image of the feasible set with an accompanying BddBelow hypothesis. Source: B&V §5.9.1–5.9.2, pp. 264–266.
import Mathlib import Definitions.Def_dualCone open scoped RealInnerProductSpace ENNReal open MeasureTheory
theorem ConvexOptimization.conic_slater_strong_duality {n d p : ℕ}
(f₀ : EuclideanSpace ℝ (Fin n) → ℝ) (hf₀ : ConvexOn ℝ Set.univ f₀)
(K : Set (EuclideanSpace ℝ (Fin d))) (hKconv : Convex ℝ K)
(hKclosed : IsClosed K) (hKcone : ∀ t : ℝ, 0 < t → ∀ y ∈ K, t • y ∈ K)
(f : EuclideanSpace ℝ (Fin n) → EuclideanSpace ℝ (Fin d))
(hf : ∀ x y : EuclideanSpace ℝ (Fin n), ∀ θ : ℝ, 0 ≤ θ → θ ≤ 1 →
θ • f x + (1 - θ) • f y - f (θ • x + (1 - θ) • y) ∈ K)
(a : Fin p → EuclideanSpace ℝ (Fin n)) (ha : LinearIndependent ℝ a)
(b : Fin p → ℝ)
(xs : EuclideanSpace ℝ (Fin n)) (hxs_slater : -f xs ∈ interior K)
(hxs_eq : ∀ j, ⟪a j, xs⟫ = b j)
(hbdd : BddBelow (f₀ '' {x | -f x ∈ K ∧ ∀ j, ⟪a j, x⟫ = b j})) :
∃ (z : EuclideanSpace ℝ (Fin d)) (nu : Fin p → ℝ), z ∈ dualCone K ∧
(⨅ x : EuclideanSpace ℝ (Fin n),
((f₀ x + ⟪z, f x⟫ + ∑ j, nu j * (⟪a j, x⟫ - b j) : ℝ) : EReal)) =
((sInf (f₀ '' {x | -f x ∈ K ∧ ∀ j, ⟪a j, x⟫ = b j}) : ℝ) : EReal) := by
sorry