L-shape 方法是求解两阶段随机规划的一种常用方法,基本思想是利用切平面将第二阶段的反馈函数线性化,在构造切平面条件时有点类似 bender’s 方法。
注:这个图形中黑实线 Q(x)\mathcal{Q}(x)Q(x) 就是下面模型中的 L(x)\mathscr{L}(x)L(x)
两阶段随机规划的模型可以表示为:
minxcTx+L(x)s.t.Ax=bx≥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,ξ(ω)) 为给定 xxx 与 ω\omegaω 时,第二段模型的最优值,即:
Q(x,ξ(ω))=minyq(ω)Tys.t.T(ω)x+Wy=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
模型中,xxx 为第一阶段的决策变量,必须在不确定性发生之前作出决定,yyy 为第二阶段的决策变量,在不确定性发生之后作出决定。ξ\xiξ 为随机变量,而 ω\omegaω 为随机变量的一个具体实现值,模型中的决策变量与随机变量都可以是向量形式。
上面第二个模型中,可以看出 WWW 与 ω\omegaω 无关,即第二阶段求解变量 yyy 的系数是一个确定值,并不是随机变量。此时,上面两个模型称作固定反馈 (fixed recourse) 的两阶段随机规划模型。因为固定反馈时,第二阶段模型 xxx 的可行域为一个闭凸集,这样就能使用很多方法求解了,否则第二阶段模型 xxx 的可行域不一定是闭凸集(为什么?目前还没搞清楚)。
假设随机变量 ξ\xiξ 具有有限个,即 KKK 个实现值(realization),每个实现值对应的概率为 pkp_kpk,则两阶段规划的扩展模型(extensive form)可以表示为:
minxcTx+∑k=1KpkqkTyks.t.Ax=bTkx+Wyk=hk,k=1,…,K,x≥0,yk≥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 的形式:
AT1WT2W⋮Tk……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 方法的基本步骤是:
- 给定第一阶段求解变量 xxx 的一个初始值,带入到第二阶段的模型进行求解
- 若有可行解,根据第二阶段的对偶值,计算出最优性切平面约束(optimality cut)添加到第一阶段的模型中
- 若无可行解,根据另外一个构造的线性规划模型(以后补充)求出可行性约束(feasibility cut)添加到第一阶段模型中
- 求解第一阶段模型,返回第一步
- 循环以上过程,直到达到一定的迭代终止条件
未完待续。。