Theorem 2.14 — with below the minimum , the best value tends to at most
ProvedShorNonsmooth.Fejer.polyak_inconsistent_best_value_leLet be convex on with , let , and let be generated from a starting point by
that is, Polyak's method (2.32) with the level lying below the minimum value, for any subgradient selection . Then the limit of the best values found exists and satisfies
This is the situation of an inconsistent system of convex inequalities with : the method run with the wrong level still produces points whose value is within the factor of the optimum.
Formalization Note The book prints ""; its proof (pp. 39–40) establishes only "", and equality fails, e.g. for on with , . The statement is the inequality the proof gives. If (so is a minimum point) the book's formula is undefined; the method then stops at . The best value is the minimum over the finite set .
import Mathlib import Definitions.Def_ShorNonsmooth_Fejer_PolyakMethod open Filter Topology
namespace ShorNonsmooth.Fejer
/-- Shor (1985), p. 40, Theorem 2.14, in the form its proof (pp. 39–40) establishes. Let `ψ` be
convex on `E_n` with `min_{x ∈ E_n} ψ(x) = d > 0`, let `0 < γ < 2`, and let `{x_k}` be generated
from `x₀` by `x_{k+1} = x_k - γ ψ(x_k) / ‖g_ψ(x_k)‖² · g_ψ(x_k)` (Polyak's method (2.32) with
`c = 0`; the method stops if `g_ψ(x_k) = 0`), for any subgradient selection `g_ψ`. Then the limit
`lim_{k→∞} min_{0 ≤ i ≤ k} ψ(x_i)` exists and is at most `2d / (2 - γ)`.
The book prints "`= 2d/(2 - γ)`"; its proof gives only `≤`, and equality can fail. -/
theorem polyak_inconsistent_best_value_le {n : ℕ} (ψ : EuclideanSpace ℝ (Fin n) → ℝ)
(hψ : ConvexOn ℝ Set.univ ψ) (d : ℝ) (hd : 0 < d) (hdle : ∀ y, d ≤ ψ y)
(hdatt : ∃ xm, ψ xm = d) (γ : ℝ) (hγ0 : 0 < γ) (hγ2 : γ < 2)
(g : EuclideanSpace ℝ (Fin n) → EuclideanSpace ℝ (Fin n))
(hg : ∀ x, ShorNonsmooth.AlmostDiff.IsSubgradient ψ x (g x))
(x : ℕ → EuclideanSpace ℝ (Fin n)) (hx : ∀ k, x (k + 1) = polyakStep ψ g 0 γ (x k)) :
∃ ℓ : ℝ, Tendsto (fun k : ℕ =>
(Finset.range (k + 1)).inf' Finset.nonempty_range_add_one (fun i => ψ (x i)))
atTop (𝓝 ℓ) ∧ ℓ ≤ 2 * d / (2 - γ) := by sorry
end ShorNonsmooth.Fejer
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.