Nested C&CG 求解第二阶段存在整数的两阶段鲁棒优化问题
前言
最近做两阶段鲁棒的课题,翻论文的时候看基本上第二阶段的问题都是线性规划(LP)问题。刚好我这个,第二阶段是一个混合整数规划(MIP),也太背了,反正这两年就在各种坑里面蹦跶,也不差这一个。还好 Bo Zeng老师早就准备好了救命稻草,除了广为人知的C&CG1,还有一篇相对小众的NC&CG2
C&CG入门学习请移步@运小筹年度好文
鲁棒优化| C&CG算法求解两阶段鲁棒优化:全网最完整、最详细的【入门-完整推导-代码实现】笔记
NC&CG 学习请往下看
模型
m
i
n
y
∈
Y
c
y
+
m
a
x
u
∈
U
m
i
n
z
,
x
∈
F
(
y
,
u
)
d
x
+
g
z
\mathop{min}\limits_{\mathbf{y} \in \mathbb{Y}}\mathbf{cy} + \mathop{max}\limits_{\mathbf{u} \in \mathbb{U}}\mathop{min}\limits_{\mathbf{z,x} \in \mathbb{F}(\mathbf{y,u} )}\mathbf{dx+gz}
y∈Ymincy+u∈Umaxz,x∈F(y,u)mindx+gz
其中
Y
=
{
y
∈
R
+
m
×
Z
+
m
′
:
A
y
≥
b
}
\mathbb{Y} = \{y \in \mathbb{R}_{+}^{m} \times \mathbb{Z}_{+}^{m'}: \mathbf{Ay \geq b}\}
Y={y∈R+m×Z+m′:Ay≥b}
F
(
y
,
u
)
=
{
(
z
,
x
)
∈
Z
+
n
×
R
+
p
:
E
x
+
G
z
≥
f
−
R
u
−
D
y
,
T
z
≥
v
}
\mathbb{F}(\mathbf{y,u} )=\{(\mathbf{z,x})\in \mathbb{Z}_{+}^{n} \times \mathbb{R}_{+}^{p}: \mathbf{Ex + Gz \geq f - Ru - Dy, Tz \geq v}\}
F(y,u)={(z,x)∈Z+n×R+p:Ex+Gz≥f−Ru−Dy,Tz≥v}
U
=
{
u
∈
Z
+
q
×
R
+
q
′
:
H
u
≤
a
}
\mathbb{U} = \{u \in \mathbb{Z}_{+}^{q} \times \mathbb{R}_{+}^{q'}: \mathbf{Hu \leq a}\}
U={u∈Z+q×R+q′:Hu≤a}
二、使用步骤
1.Outer-level C&CG
2.Inner-level C&CG
二阶段子问题可以通过KKT等价转化为
最终的inner-level C&CG算法流程
总结
注意事项:可以用NC&CG的前提是,内层问题同时包含整数变量和连续变量。若只包含连续,那直接C&CG就完了;若只包含整数变量,那NC&CG也没法整。
Zeng B, Zhao L. Solving two-stage robust optimization problems using a column-and-constraint generation method[J]. Operations Research Letters, 2013, 41(5): 457-461. ↩︎
Zhao L, Zeng B. An Exact Algorithm for Two-stage Robust Optimization with Mixed Integer Recourse Problems; 2012[J]. Technical report available in optimization-online. ↩︎