Local Polyhedral Ambiguity Set
Optimal Cross-Assignment
function cross_assignment(l::Int, h::Int, Σ::Float64, d::Vector{Float64}, d⁻::Vector{Float64}, d⁺::Vector{Float64}, ϵ::Float64)
if (h - l ≤ 0) || (ϵ-Σ ≤ 0)
return d
end
δ_l = d⁺[l] - d[l]
δ_h = d[h] - d⁻[h]
δ = min(δ_l, δ_h, ϵ-Σ)
d[l] += δ
d[h] -= δ
if δ_l < δ_h
return cross_assignment(l+1, h, Σ+δ, d, d⁻, d⁺, ϵ)
elseif δ_l > δ_h
return cross_assignment(l, h-1, Σ+δ, d, d⁻, d⁺, ϵ)
else
return cross_assignment(l+1, h-1, Σ+δ, d, d⁻, d⁺, ϵ)
end
end
function cross_assignment(k::Int, d⁻::Vector{Float64}, d⁺::Vector{Float64}, ϵ::Float64)
d = zeros(k)
cross_assignment(1, k, 0.0, d, d⁻, d⁺, ϵ)
end
Given parameters lower bound $-𝐩≤𝐝^{-}≤0$, upper bound $0≤𝐝^{+}≤1-𝐩$, and uncertainty radius $0≤ϵ≤1,$ we denote the minimizing deviation as
\[𝐝^{∗}(𝐮)=\argmin_{𝐝∈\bar{𝐃}^{1}_𝐩} 𝔼(𝐝,𝐮).\]
The cross_assignment
algorithm computes the optimal cross-assignment given an utility ordering of $u_1≤u_2≤...≤u_k,$ such that the sequence $(𝐝_0, Σ_0),(𝐝_1, Σ_1),...,(𝐝_n, Σ_n)$ converges toward the optimal cross-assignment $𝐝^{∗}=𝐝_n$ where $Σ_n=\|𝐝_n\|_1/2≤ϵ$ in at most $n≤k$ iterations. We have initial $Σ_0=0.$
Given $u_1≤u_2≤...≤u_k$ and previous iteration, $𝐝=(d_1,d_2,...,d_k),$ the new iteration is $𝐝^{′}=(d_1^{′},d_2^{′},...,d_k^{′})$ such that $l,h∈I$ and $δ_l,δ_h∈ℝ$ and $d_l^{′}=d_l+δ_l$ and $d_h^{′}=d_h+δ_h$ and $d_i^{′}=d_i$ for all $i∈I∖\{l,h\}.$ The conservation of mass gives us
\[𝐝^{′}⋅𝟏_k=0 ⟹ δ_l=-δ_h=δ.\]
By choosing $δ>0,$ and $u_l≤u_h$ which implies $l≤h$ the expression $δ(u_l-u_h)$ is negative. Therefore the objective value decreases as follows:
\[\begin{aligned} 𝐝^{′}⋅𝐮&=d_l^{′}+d_h^{′}+∑_{i}d_i^{′} u_i \\ &=(d_l+δ)u_l+(d_h-δ)u_h+∑_{i}d_i u_i \\ &=𝐝⋅𝐮+δ (u_l-u_h) \\ &≤𝐝⋅𝐮. \end{aligned}\]
The objective values are negative by choosing the initial value as follows.
\[𝐝^{′}⋅𝐮≤𝐝_0⋅𝐮=0 ⟹ 𝐝_0=𝟎.\]
The upper and lower bound constraints $δ$ as follows
\[d_l^{′}≤d_l^{+} ⟹ d_l+δ≤d_l^{+} ⟹ δ≤d_l^{+}-d_l,\]
\[d_h^{′}≥d_h^{-} ⟹ d_h-δ≥d_h^{-} ⟹ δ≤d_h-d_h^{-}.\]
We minimize the objective by choosing the smallest $l$ and largest $h$ such that $δ>0.$ Then, with fixed $l$ and $h$ we choose large possible $δ$ without violating constraints.
\[δ=\min\{d_l^{+}-d_l,d_h-d_h^{-},ϵ-\|𝐝\|_1/2\}.\]
We repeat this step until $h-l≤0$ for the smallest $l$ and largest $h$ or $ϵ-\|𝐝\|_1/2≤0.$
Set of Optimal Cross-assignments
using Combinatorics: permutations
function ambiguity_set(k, d⁻, d⁺, ϵ)
Set(cross_assignment(k, d⁻[I′], d⁺[I′], ϵ)[I′] for I′ in permutations(1:k))
end
Let $\mathcal{P}(I)$ denote the set of permutations of set $I.$ We denote an invidivual permutation as $I^{′}=(i_1,i_2,...,i_k)∈\mathcal{P}(I).$ Then, we denote the set of all utilities with an ordering given by the permutation as
\[U_{I^{′}}=\{𝐮∈ℝ^k∣u_{i_1}≤u_{i_2}≤...≤u_{i_k}\}.\]
We can express the discretization of local polyhedral ambiguity set is the set of optimal cross-assignments over all utility orderings as
\[𝐃^{1}_𝐩=\{𝐝^{∗}(𝐮)∣𝐮∈ℝ^k\}=⋃_{I^{′}∈\mathcal{P}(I)} \{𝐝^{∗}(𝐮)∣𝐮∈U_{I^{′}}\}\]
Since the deviations for given ordering are equal, we denote
\[𝐝^{∗}(U_{I^{′}})=𝐝^{∗}(𝐮_1)=...=𝐝^{∗}(𝐮_k),\quad 𝐮_1,...,𝐮_k∈U_{I^{′}}\]
Thus, we obtain the local polyhedral ambiguity set as
\[𝐃^{1}_𝐩=\{𝐝^{∗}(U_{I^{′}})∣I^{′}∈\mathcal{P}(I)\}.\]
The set is finite because there are finite number of permutations
\[|𝐃^{1}_𝐩|≤|\mathcal{P}(I)|=k!.\]
Number of Optimal Cross-assignments
We can express an optimal cross-assignment as a partition $(I_{+},i_{+},I_{0},i_{-},I_{-})$ of indices $I^{′}∈\mathcal{P}(I)$ where we have subsets $I_{+},I_{0},I_{-}⊆I^{′},$ elements $i_{+},i_{-}∈I^{′}$ and the values of the optimal cross-assignment are
\[\begin{aligned} & d_i=d_i^{+},\quad ∀i∈I_{+} \\ & 0≤d_{i_{+}}≤d_{i_{+}}^{+} \\ & d_i=0,\quad ∀i∈I_{0} \\ & d_{i_{-}}^{-}≤d_{i_{-}}≤0 \\ & d_i=d_i^{-},\quad ∀i∈I_{-} \\ \end{aligned}\]
Since the internal utility order in the subsets does not change the solution, all partitions in the set
\[\{(I_{+}^{′},i_{+},I_{0}^{′},i_{-},I_{-}^{′})∣ I_{+}^{′}∈\mathcal{P}(I_{+}), I_{0}^{′}∈\mathcal{P}(I_{0}), I_{-}^{′}∈\mathcal{P}(I_{-})\}\]
have the same optimal cross assignment. Therefore, the bound for the size of the uncertainty set is
\[|𝐃^{1}_𝐩|≤\max_{I_{+},I_{0},I_{-}} \frac{|\mathcal{P}(I)|}{|\mathcal{P}(I_{+})||\mathcal{P}(I_{0})||\mathcal{P}(I_{-})|}≤|\mathcal{P}(I)|.\]
Note that the empty set has one permutation $|\mathcal{P}(∅)|=1.$