Theorem 2 — the K-adaptability problem 𝒫𝒪_K is equivalent to the MILP (5)
ProvedKAdaptability.ObjMILP.theorem_2Let the data of the two-stage robust binary program with objective uncertainty satisfy the standing assumptions: is nonempty and bounded, and . Let and . Then problem ,
is equivalent to the MILP
in the following sense:
- a decision is feasible in if and only if some completes it to a feasible point of (5);
- for every such feasible decision, the objective value of equals the minimum of over its completions, and this minimum is attained;
- the optimal values of and (5) coincide.
The theorem turns the K-adaptability problem, a min–max–min problem, into a single mixed-integer linear program whose size is polynomial in the input data, so that it can be handed to off-the-shelf MILP solvers.
Formalization Note Objective and optimal values are extended reals (EReal), following the paper's convention that max and min mean sup and inf when not attained; the optimal values in part 3 are infima, which need not be attained when is not closed. The hypothesis is the paper's .
import Mathlib import Definitions.Def_KAdaptability_ObjMILP_Problem import Definitions.Def_KAdaptability_ObjMILP_POK import Definitions.Def_KAdaptability_ObjMILP_MILP5 open Matrix
namespace KAdaptability.ObjMILP
/-- Theorem 2, p. 13: problem 𝒫𝒪_K is equivalent to the MILP (5). For `K ≥ 1`:
(i) `(x, y¹, …, y^K)` is feasible in 𝒫𝒪_K iff some `(z, α, β)` completes it to a feasible point
of (5); (ii) for every such feasible decision, the objective of 𝒫𝒪_K equals the minimum of `b⊤α`
over its completions, and this minimum is attained; (iii) the optimal values of 𝒫𝒪_K and (5)
coincide (as infima in `EReal`). -/
theorem theorem_2 {N M L nQ R : ℕ} (P : Problem N M L nQ R) (K : ℕ) (hK : 0 < K) :
(∀ (x : Fin N → ℝ) (ys : Fin K → Fin M → ℝ),
P.FeasibleK K x ys ↔
∃ (zs : Fin K → Fin M → ℝ) (α : Fin R → ℝ) (β : Fin K → ℝ),
P.MILPFeasible K x ys zs α β) ∧
(∀ (x : Fin N → ℝ) (ys : Fin K → Fin M → ℝ), P.FeasibleK K x ys →
P.objPOK K x ys = P.milpValueAt K x ys ∧
∃ (zs : Fin K → Fin M → ℝ) (α : Fin R → ℝ) (β : Fin K → ℝ),
P.MILPFeasible K x ys zs α β ∧ ((P.b ⬝ᵥ α : ℝ) : EReal) = P.objPOK K x ys) ∧
P.optPOK K = P.optMILP K := by sorry
end KAdaptability.ObjMILP
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.