L-shape 方法是求解两阶段随机规划的一种常用方法,基本思想是利用切平面将第二阶段的反馈函数线性化,在构造切平面条件时有点类似 bender’s 方法。
注:这个图形中黑实线
Q
(
x
)
\mathcal{Q}(x)
Q(x) 就是下面模型中的
L
(
x
)
\mathscr{L}(x)
L(x)
两阶段随机规划的模型可以表示为:
min x c T x + L ( x ) s . t . A x = b x ≥ 0 \begin{aligned} &\min_x\quad &&c^Tx+\mathscr{L}(x)\\ &s.t.\\ &&&Ax=b\\ &&&x\geq 0 \end{aligned} xmins.t.cTx+L(x)Ax=bx≥0
其中, L ( x ) = E [ Q ( x , ξ ( ω ) ) ] \mathscr{L}(x)=\mathbb{E}[Q(x, \xi(\omega))] L(x)=E[Q(x,ξ(ω))],被称作反馈函数 (recourse function),而 Q ( x , ξ ( ω ) ) Q(x, \xi(\omega)) Q(x,ξ(ω)) 为给定 x x x 与 ω \omega ω 时,第二段模型的最优值,即:
Q ( x , ξ ( ω ) ) = min y q ( ω ) T y s . t . T ( ω ) x + W y = h ( ω ) y ≥ 0 \begin{aligned} &&&Q(x, \xi(\omega))=\min_y q(\omega)^Ty\\ s.t.\\ &&&T(\omega)x+Wy=h(\omega)\\ &&&y\geq 0 \end{aligned} s.t.Q(x,ξ(ω))=yminq(ω)TyT(ω)x+Wy=h(ω)y≥0
模型中, x x x 为第一阶段的决策变量,必须在不确定性发生之前作出决定, y y y 为第二阶段的决策变量,在不确定性发生之后作出决定。 ξ \xi ξ 为随机变量,而 ω \omega ω 为随机变量的一个具体实现值,模型中的决策变量与随机变量都可以是向量形式。
上面第二个模型中,可以看出 W W W 与 ω \omega ω 无关,即第二阶段求解变量 y y y 的系数是一个确定值,并不是随机变量。此时,上面两个模型称作固定反馈 (fixed recourse) 的两阶段随机规划模型。因为固定反馈时,第二阶段模型 x x x 的可行域为一个闭凸集,这样就能使用很多方法求解了,否则第二阶段模型 x x x 的可行域不一定是闭凸集(为什么?目前还没搞清楚)。
假设随机变量 ξ \xi ξ 具有有限个,即 K K K 个实现值(realization),每个实现值对应的概率为 p k p_k pk,则两阶段规划的扩展模型(extensive form)可以表示为:
min x c T x + ∑ k = 1 K p k q k T y k s . t . A x = b T k x + W y k = h k , k = 1 , … , K , x ≥ 0 , y k ≥ 0 , k = 1 , … , K . \begin{aligned} &\min_x\quad &&c^Tx+\sum_{k=1}^K p_kq_k^Ty_k\\ &s.t.\\ &&&Ax=b\\ &&&T_kx+Wy_k=h_k,\quad k=1,\dots, K,\\ &&&x\geq 0,y_k\geq 0,\quad k=1,\dots, K. \end{aligned} xmins.t.cTx+k=1∑KpkqkTykAx=bTkx+Wyk=hk,k=1,…,K,x≥0,yk≥0,k=1,…,K.
为什么叫 L-shaped 方法,是因为前两个约束条件左端的系数矩阵可以写成类似 L 的形式:
A T 1 W T 2 W ⋮ T k … … W \begin{aligned} &A\\ &T_1\quad W\\ &T_2\qquad W\\ &\vdots\\ &T_k\quad\dots\dots\qquad W \end{aligned} AT1WT2W⋮Tk……W
L-shape 方法的基本步骤是:
- 给定第一阶段求解变量 x x x 的一个初始值,带入到第二阶段的模型进行求解
- 若有可行解,根据第二阶段的对偶值,计算出最优性切平面约束(optimality cut)添加到第一阶段的模型中
- 若无可行解,根据另外一个构造的线性规划模型(以后补充)求出可行性约束(feasibility cut)添加到第一阶段模型中
- 求解第一阶段模型,返回第一步
- 循环以上过程,直到达到一定的迭代终止条件
未完待续。。