这段时间发现一本不错的随机规划教材:《Handbooks in Operations Research and Management Science: Stochastic Programming》。这本书比之前看的一些教材更通俗易懂一些。
总结一下这几天看到的知识点。
1. 两阶段规划
two-stage model 中, x x x 为第一阶段的决策变量,必须在不确定性发生之前作出决定, y y y 为第二阶段的决策变量,在不确定性发生之后作出决定。
ξ \xi ξ 为随机变量,而 ω \omega ω 为随机变量的一个具体实现值。这里面的决策变量与随机变量都可以是向量。
两阶段随机规划的模型可以表示为:
min x c T x + E [ Q ( x , ξ ( ω ) ) ] s . t . A x = b x ≥ 0 \begin{aligned} &\min_x\quad &&c^Tx+\mathbb{E}[Q(x, \xi(\omega))]\\ &s.t.\\ &&&Ax=b\\ &&&x\geq 0 \end{aligned} xmins.t.cTx+E[Q(x,ξ(ω))]Ax=bx≥0
其中, Q ( x , ξ ( ω ) ) Q(x, \xi(\omega)) Q(x,ξ(ω)) 为第二段模型的最优值:
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
有时候也会把上面的 min \min min 符号写成 inf \inf inf,第二阶段模型的对偶模型为:
max π π T ( h − T x ) s . t . W T π ≤ q \begin{aligned} &\max_\pi\quad &&\pi^T(h-Tx)\\ &s.t.\\ &&&W^T\pi\leq q\\ \end{aligned} πmaxs.t.πT(h−Tx)WTπ≤q
更严谨的时候,可以把上面的符号 max \max max 写成 sup \sup sup。
- ξ : = ( q , h , T , W ) \xi:=(q, h, T, W) ξ:=(q,h,T,W),即 q , h , T , W q, h, T, W q,h,T,W 可能全部是随机的,也可能一部分是随机的。
- 两阶段或多阶段模型更抽象的写法中,用到了测度论的一些表示。
2. 多阶段规划
对于多阶段规划,数学模型中它的决策顺序与两阶段略微不一样。设阶段 t t t 的决策为 x t x_t xt, ξ t \xi_t ξt 为随机变量。它的决策顺序为:
- 随机变量 ξ 1 \xi_1 ξ1 已经发生,
- 做出第一阶段决策 x 1 x_1 x1
- 然后 ξ 2 \xi_2 ξ2 已经发生,
- 做出第二阶段决策 x 2 x_2 x2
- …
- ξ T \xi_T ξT 已经发生,
- 做出第 T T T 阶段决策 x T x_T xT
ξ t \xi_t ξt 可以理解为 t − 1 t-1 t−1 的随机变量,上述决策过程为:在 ξ t + 1 \xi_{t+1} ξt+1 发生前,如何做出决策 x t x_t xt。(没有 ξ T + 1 \xi_{T+1} ξT+1,因为最后一阶段的决策类似动态规划的临界方程)
决策变量 x t x_t xt 也可以细分为: t t t 阶段的状态变量与 t t t 阶段的决策变量, t t t 阶段的状态变量由前一阶段的状态变量与该阶段的决策变量决定。
最后一阶段 T T T 的线性规划模型为:
min x T Q T ( x T − 1 , ξ T ) = c T T x T s . t . B T x T − 1 + A T x T = b T x T ≥ 0 \begin{aligned} &\min_{x_T}\quad &&Q_T(x_{T-1}, \xi_T)=c^T_Tx_T\\ &s.t.\\ &&&B_Tx_{T-1}+A_Tx_T=b_T\\ &&&x_T\geq 0 \end{aligned} xTmins.t.QT(xT−1,ξT)=cTTxTBTxT−1+ATxT=bTxT≥0
ξ T = ( c T , B T , A T , b T ) \xi_T=(c_T, B_T, A_T, b_T) ξT=(cT,BT,AT,bT),表示这几个参数的部分或全部是随机的。 在最后一阶段时,上面的优化模型表示在 x T − 1 x_{T-1} xT−1 已知,以及随机变量 ξ T \xi_T ξT 发生时,如何最小化目标函数。
T − 1 T-1 T−1 阶段的线性规划模型为:
min x T − 1 Q T − 1 ( x T − 2 , ξ T − 1 ) = c T − 1 T x T − 1 + E [ Q T ( x T − 1 , ξ T ) ∣ ξ [ 1 , T − 1 ] ] s . t . B T − 1 x T − 2 + A T − 1 x T − 1 = b T − 1 x T − 1 ≥ 0 \begin{aligned} &\min_{x_{T-1}}\quad &&Q_{T-1}(x_{T-2}, \xi_{T-1})=c^{T}_{T-1}x_{T-1}+\mathbb{E}\left[Q_T(x_{T-1}, \xi_T)|\xi_{[1, T-1]}\right]\\ &s.t.\\ &&&B_{T-1}x_{T-2}+A_{T-1}x_{T-1}=b_{T-1}\\ &&&x_{T-1}\geq 0 \end{aligned} xT−1mins.t.QT−1(xT−2,ξT−1)=cT−1TxT−1+E[QT(xT−1,ξT)∣ξ[1,T−1]]BT−1xT−2+AT−1xT−1=bT−1xT−1≥0
ξ T = ( c T − 1 , B T − 1 , A T − 1 , b T − 1 ) \xi_T=(c_{T-1}, B_{T-1}, A_{T-1}, b_{T-1}) ξT=(cT−1,BT−1,AT−1,bT−1), ξ [ 1 , T − 1 ] \xi_{[1, T-1]} ξ[1,T−1] 表示 T − 1 T-1 T−1 阶段随机变量的所有历史信息。里面的条件期望意味着从 ξ [ 1 , T − 1 ] \xi_{[1, T-1]} ξ[1,T−1] 到 ξ T \xi_T ξT 可能涉及到随机状态的转移概率。
阶段 2 , 3 , … , T − 1 2, 3, \dots, T-1 2,3,…,T−1 的线性规划模型可以统一表示为:
min x t Q t ( x t − 1 , ξ t ) = c t T x t + E [ Q t + 1 ( x t , ξ t + 1 ) ∣ ξ [ 1 , t ] ] s . t . B t x t − 1 + A t x t = b t x t ≥ 0 \begin{aligned} &\min_{x_{t}}\quad &&Q_{t}(x_{t-1}, \xi_{t})=c^{T}_{t}x_{t}+\mathbb{E}\left[Q_{t+1}(x_{t}, \xi_{t+1})|\xi_{[1, t]}\right]\\ &s.t.\\ &&&B_{t}x_{t-1}+A_{t}x_{t}=b_{t}\\ &&&x_t\geq 0 \end{aligned} xtmins.t.Qt(xt−1,ξt)=ctTxt+E[Qt+1(xt,ξt+1)∣ξ[1,t]]Btxt−1+Atxt=btxt≥0
而第一阶段的线性规划决策模型为:
min x t Q 1 ( ξ 1 ) = c 1 T x 1 + E [ Q 2 ( x 1 , ξ 2 ) ] s . t . A 1 x 1 = b 1 x 1 ≥ 0 \begin{aligned} &\min_{x_{t}}\quad &&Q_{1}( \xi_{1})=c^{T}_{1}x_{1}+\mathbb{E}\left[Q_{2}(x_{1}, \xi_{2})\right]\\ &s.t.\\ &&&A_{1}x_{1}=b_{1}\\ &&&x_1\geq 0 \end{aligned} xtmins.t.Q1(ξ1)=c1Tx1+E[Q2(x1,ξ2)]A1x1=b1x1≥0
因为 ξ 1 \xi_1 ξ1 在做决策前就发生了,可是视为确定变量,目标函数里面就不用条件期望了。
多阶段规划的整体线性规划模型也可以表示为:
min A 1 x 1 = b 1 , x 1 ≥ 0 c 1 T x 1 + E [ min B 2 x 1 + A 2 x 2 = b 2 , x 2 ≥ 0 c 2 T x 2 + E [ ⋯ + E [ min B T x T − 1 + A T x T = b T , x T ≥ 0 c T T x T ] ] ] \min_{A_1x_1=b1, ~~ x_1\geq0}\quad c^T_1x_1+\mathbb{E}\left[\min_{B_2x_1+A_2x_2=b2, ~~ x_2\geq0}\quad c^T_2x_2+\mathbb{E}\left[\dots+\mathbb{E}\left[\min_{B_Tx_{T-1}+A_Tx_T=bT, ~~ x_T\geq0}\quad c^T_Tx_T\right]\right]\right] A1x1=b1, x1≥0minc1Tx1+E[B2x1+A2x2=b2, x2≥0minc2Tx2+E[⋯+E[BTxT−1+ATxT=bT, xT≥0mincTTxT]]]
多阶段规划的情景树模型要涉及到可实施条件(non-anticipative constraints)。