这几天读了随机规划入门《Introduction to Stochastic Programmingh》这本书,发现报童模型可以用两阶段法来表示。
报童模型描述:一个报童每天采购一定数量的报纸,报纸需求是随机的,卖不完的报纸可以折价退回,各参数如下
单份报纸售价: ppp
单份报纸采购价:ccc
单份报纸退回价:vvv
报纸需求量: ξ\xiξ,概率密度函数 f(ξ)f(\xi)f(ξ),累计分布函数 F(ξ)F(\xi)F(ξ)
决策变量:报纸采购量 xxx
一般建模:
mincx−pmin{x,ξ}−v(x−ξ)+\min\quad cx-p\min\{x,\xi\}-v(x-\xi)^+mincx−pmin{x,ξ}−v(x−ξ)+
最优解:
x∗=F−(p−cp−v)x^\ast=F^-(\frac{p-c}{p-v})x∗=F−(p−vp−c)
1. 第一种思路
书中的两阶段建模,其内涵是将模型中的确定变量与随机变量分开,各为一阶段:
第一阶段:minL(x)=pmin{x,ξ}+v(x−ξ)+\min\quad L(x)=p\min\{x,\xi\}+v(x-\xi)^+minL(x)=pmin{x,ξ}+v(x−ξ)+
第二阶段:mincx−L(x)\min\quad cx-L(x)mincx−L(x)
2. 第二种思路
还有一种两阶段建模的思路:第一阶段的决策变量为订货量 xxx(在观测到需求之前),第二阶段的决策变量为销售量 yyy (在观测到需求之后, y≤D,y≤xy\leq D, y\leq xy≤D,y≤x, D 为观测到的需求),具体为:
两阶段决策的总体模型为:
mincx+E[Q(x,ξ)] \min\quad cx+\mathbb{E}[Q(x, \xi)] mincx+E[Q(x,ξ)]
其中, Q(x,ξ)Q(x, \xi)Q(x,ξ) 为第二阶段的目标函数,具体为:
minyQ(x,ξ(w))=−py−v(x−D)+s.t.−y≥−x−y≥−Dy≥0 \begin{aligned} &\min_y\quad &&Q(x, \xi(w))=-py-v(x-D)^+\\ &s.t.\\ &&&-y\geq -x\\ &&&-y\geq -D\\ &&&y\geq 0 \end{aligned} ymins.t.Q(x,ξ(w))=−py−v(x−D)+−y≥−x−y≥−Dy≥0