Theorem 1, p. 11 — without ramping constraints, the two-stage robust UC (2) and the multistage robust UC (5) are equivalent
ProvedMultistageRUC.Equiv.theorem_1Consider the unit commitment problem with budget uncertainty set of (3), with and . Delete the ramping constraints, (1i) in the two-stage robust UC (2) and (5c) in the multistage robust UC (5). Then the two models are equivalent:
- at every commitment they have the same objective value,
where the minimum on the right is over non-anticipative dispatch policies , depending only on the net loads realized up to period , that satisfy (5b), (5d), (5e) for every ; 2. hence their optimal values over coincide.
The two-stage model lets the dispatch see the whole day's net loads; the multistage model does not. The theorem says that this extra information is worthless when the ramping constraints are absent, so the multistage model differs from the two-stage model only through ramping; Propositions 1 and 2 show that with ramping the two models can differ.
Formalization Note Periods are Fin T with Lean period being the paper's period . Net-load trajectories are . Values are extended reals: a minimum over an empty set is (an infeasible dispatch problem costs ). The standing assumptions and of the budget set (3) are carried as hypotheses; they make , so every is nonempty. "Equivalent" is formalized as equality of the two objectives at every commitment in together with equality of the optimal values; equal objectives on also give the same optimal solutions.
import Mathlib import Definitions.Def_MultistageRUC_Equiv_Setting
namespace MultistageRUC.Equiv
/-- Theorem 1, p. 11: without ramping constraints (5c), the two-stage robust UC (2) and the multistage
robust UC (5) are equivalent: they have the same objective value at every commitment `(x, u, v) ∈ X`,
and hence the same optimal value. -/
theorem theorem_1 {Ng Nd Nb Nl T : ℕ} (D : UCData Ng Nd Nb Nl T)
(dbar dhat : Fin T → Fin Nd → ℝ) (Γ : ℝ) (hΓ : 0 ≤ Γ) (hdhat : ∀ t j, 0 < dhat t j) :
(∀ x u v : Fin Ng → Fin T → ℝ, InX D x u v →
twoStageObj D (uncSet dbar dhat Γ) false x u v =
multiStageObj D (uncSet dbar dhat Γ) false x u v) ∧
(⨅ (x : Fin Ng → Fin T → ℝ) (u : Fin Ng → Fin T → ℝ) (v : Fin Ng → Fin T → ℝ)
(_ : InX D x u v), twoStageObj D (uncSet dbar dhat Γ) false x u v) =
(⨅ (x : Fin Ng → Fin T → ℝ) (u : Fin Ng → Fin T → ℝ) (v : Fin Ng → Fin T → ℝ)
(_ : InX D x u v), multiStageObj D (uncSet dbar dhat Γ) false x u v) := by sorry
end MultistageRUC.Equiv
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.