Theorem 4.2 — exactness of nonsmooth penalty functions with slopes above the Lagrange multipliers
OpenShorNonsmooth.Decomposition.nonsmooth_penalty_exactLet be convex functions on and consider the convex program (4.178) s.t. . Let be convex functions on with for and for , let
and let minimize the penalized function over all . Then:
- if is a solution of (4.178), there is a Lagrange multiplier vector of (4.178) with for all ;
- if is a Lagrange multiplier vector of (4.178) and for all , then the set of minimum points of (4.178) equals the set of minimum points of .
Part 2 is the exact-penalty principle: with slopes above the multipliers, e.g. , one minimization of the nonsmooth function replaces the constrained problem.
Formalization Note The book's "where is a Lagrange multiplier vector" is read existentially in part 1: the reading "for every multiplier vector" is false when multipliers are not unique (duplicate constraints give a counterexample). A multiplier vector is with everywhere, the finite optimal value. The limit is supplied as a hypothesis (it exists for every such ).
import Mathlib import Definitions.Def_ShorNonsmooth_Decomposition_PenaltyDual
namespace ShorNonsmooth.Decomposition
open Filter Topology
/-- Shor (1985), **Theorem 4.2** (p. 147), for the convex program (4.178) `min f₀(x)` s.t. `f_i(x) ≤ 0` and
the penalized function (4.179) `S(x) = f₀(x) + Σ p_i[f_i(x)]` with nonsmooth penalty functions `p_i`
(convex, `0` on `t ≤ 0`, positive on `t > 0`), `c_i = lim_{t→0+} p_i(t)/t`, and a point `x*` minimizing
`S` over all `x` (standing assumption, p. 146):
1. (necessity) if `x*` is a solution of (4.178), then `c_i ≥ ȳ_i` for all `i` for some Lagrange
multiplier vector `ȳ` of (4.178);
2. if `ȳ` is a Lagrange multiplier vector of (4.178) with `c_i > ȳ_i` for all `i`, then the sets of
minimum points of (4.178) and of `S` are equal.
The book's "a Lagrange multiplier vector" is read existentially in (1) (the universal reading is false
when the multiplier is not unique). -/
theorem nonsmooth_penalty_exact {N m : ℕ}
(f₀ : EuclideanSpace ℝ (Fin N) → ℝ) (f : Fin m → EuclideanSpace ℝ (Fin N) → ℝ)
(hf₀ : ConvexOn ℝ Set.univ f₀) (hf : ∀ i, ConvexOn ℝ Set.univ (f i))
(p : Fin m → ℝ → ℝ) (hp : ∀ i, IsPenaltyFunction (p i))
(c : Fin m → ℝ) (hc : ∀ i, Tendsto (fun t => p i t / t) (𝓝[>] 0) (𝓝 (c i)))
(xstar : EuclideanSpace ℝ (Fin N)) (hxstar : ∀ x, penalized f₀ f p xstar ≤ penalized f₀ f p x) :
(xstar ∈ solutionSet f₀ f →
∃ ybar : Fin m → ℝ, IsLagrangeMultiplierVector f₀ f ybar ∧ ∀ i, ybar i ≤ c i) ∧
∀ ybar : Fin m → ℝ, IsLagrangeMultiplierVector f₀ f ybar → (∀ i, ybar i < c i) →
solutionSet f₀ f = {x | ∀ x', penalized f₀ f p x ≤ penalized f₀ f p x'} := by sorry
end ShorNonsmooth.Decomposition
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.