Theorem 3 — Lagrangian cuts from the local-copy reformulation are valid and tight at binary states
ProvedSDDiP.LagCut.theorem_3Let be a node of the scenario tree in the backward step of iteration of SND/SDDiP, with nodal constraint set (nonempty, compact, mixed integer polyhedral), linear objective , lower bound , children with probabilities and children's cuts , , and assume . Let be the binary forward-step state of the parent, let be an optimal solution of the Lagrangian dual (4.3)
and let . Then the Lagrangian cut is
- tight (3.5): , the (attained) optimal value of the updated forward problem (3.1);
- valid (3.4): if the children's cuts are valid for their true value functions , i.e. for all , and , and on , then
where is the true value function (2.3) of the node.
This is the main result of §4.3: Lagrangian cuts obtained by dualizing the copy constraint of the reformulation (2.1) satisfy the validity and tightness conditions of Definition 2, so SND and SDDiP with these cuts (made finite by choosing basic dual solutions) converge to an optimal solution of a multistage stochastic integer program with binary states.
Formalization Note The paper states Theorem 3 for the whole collection and proves validity by induction over the stages. The Lean statement is the node statement that carries out both the base case and the induction step: the validity hypotheses on the children are the induction hypothesis, and at a last-stage node (no children, ) they hold trivially. The paper's sentence follows by applying it at every sampled node, from the last stage backwards. "" is stated over all feasible points of (2.3) (the minimum is when there are none). The hypothesis makes a genuine minimum, as the paper writes it.
import Mathlib import Definitions.Def_SDDiP_LagCut_Node
namespace SDDiP.LagCut
open Node
/-- Theorem 3, Zou, Ahmed, Sun, *Stochastic dual dynamic integer programming*, Math. Program. 175 (2019),
p. 479, stated at one node `n`. Let `x̂ ∈ {0,1}ᵈ` be the binary forward-step state of the parent, let
`π̂` be an optimal solution of the Lagrangian dual (4.3) and `v̂ = 𝓛^i_n(π̂)`. Then the Lagrangian cut
`(v̂, π̂)` is
* **tight** (3.5): `v̂ + π̂ᵀx̂` is the (attained) optimal value `Q̲^i_n(x̂, ψ^{i+1}_n)` of (3.1);
* **valid** (3.4): if the cuts of the children are valid for their true value functions `Q_m` and
`𝒬_n = ∑_m q_{nm} Q_m ≥ L_n` on binary states (the induction hypothesis of the proof), then
`Q_n(x_a) ≥ v̂ + π̂ᵀx_a` for every binary `x_a`, `Q_n` the true value function (2.3).
The paper's statement about the whole collection follows by induction over the stages, which this node
statement carries out (a last-stage node has no children, and then `L_n = 0` meets the hypothesis). -/
theorem theorem_3 {d l : ℕ} (N : Node d l) (xhat : Fin d → ℝ) (hxhat : IsBinary xhat)
(hX' : N.X'.Nonempty) (πhat : Fin d → ℝ) (hopt : N.IsDualOptimal xhat πhat)
(Qc : Fin N.nC → (Fin d → ℝ) → ℝ)
(hcuts : ∀ (ℓ : Fin N.i) (m : Fin N.nC) (x : Fin d → ℝ), IsBinary x →
N.v ℓ m + N.π ℓ m ⬝ᵥ x ≤ Qc m x)
(hL : ∀ x : Fin d → ℝ, IsBinary x → N.L ≤ N.expCostToGo Qc x) :
(IsLeast (N.fwdValues xhat) (N.lag πhat + πhat ⬝ᵥ xhat) ∧
N.fwdValue xhat = N.lag πhat + πhat ⬝ᵥ xhat) ∧
∀ xa : Fin d → ℝ, IsBinary xa →
N.lag πhat + πhat ⬝ᵥ xa ∈ lowerBounds (N.trueValues (N.expCostToGo Qc) xa) := by sorry
end SDDiP.LagCut
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.