多周期生产库存成本最小问题


前言

工厂每月需要生产一定量的产品,在满足订单需求的同时库存不能超过最大库存量。因此,重点在于保持每月生产量与库存量之和不少于订单需求也不能超过最大库存量。一般问题为多个生产周期的累计库存成本最低。

一、具体问题

工厂生产某种产品,1-7月份生产成本和产品需求量情况如下表:
在这里插入图片描述
为了调节生产和需求,工厂设有一个产品仓库,库容量 H = 9 H =9 H=9。已知期初库存量为2,要求期末(7月底)库存量为0每个月生产的产品在月末入库,月初根据当月需求发货。求七个月的生产量,能满足各月的需求,并使生产成本最低。

二、建模

1.阶段、状态变量、决策变量(执行的动作)、决策允许集合、状态转移方程、阶段指标、终端方程、递推方程

阶段 k k k:月份, k = 1 , 2 , … , 7 , 8 k=1,2,\dots,7,8 k=1,2,,7,8
状态变量 x k x_k xk:第 k k k个月初(发货以前)的库存量;
决策变量 d k d_k dk:第 k k k个月的生产量;
决策允许集合:
D k ( x k ) = { d k ∣ d k ≥ 0 , r k + 1 ≤ x k + 1 ≤ H } = { d k ∣ d k ≥ 0 , r k + 1 ≤ x k − r k + d k ≤ H } \begin{aligned} D_k(x_k)&=\{d_k | d_k\geq0, r_{k+1}\leq x_{k+1}\leq H \}\\ &=\{d_k | d_k\geq 0, r_{k+1}\leq x_k-r_k+d_k\leq H \} \end{aligned} Dk(xk)={dkdk0,rk+1xk+1H}={dkdk0,rk+1xkrk+dkH}
状态转移方程: x k + 1 = x k − r k + d k x_{k+1}= x_k-r_k+d_k xk+1=xkrk+dk
阶段指标: v k ( x k , d k ) = c k d k v_k(x_k ,d_k) = c_kd_k vk(xk,dk)=ckdk;(这里认为库存成本只由当月生产量决定,上个月生产的在本月初已经全部发出,这个月生产的也将在下个月初全部发完,这样做可以控制成本最小)
终端条件: f 8 ( x 8 ) = 0 , x 8 = 0 f_8(x_8)=0, x_8=0 f8(x8)=0,x8=0
递推方程:
f k ( x k ) = m i n d k ∈ D k ( x k ) { v k ( x k , d k ) + f k + 1 ( x k + 1 ) } = m i n d k ∈ D k ( x k ) { c k d k + f k + 1 ( x k − r k + d k ) } f_k(x_k)= \mathop{ min} \limits_{d_k\in D_k(x_k)} \{v_k(x_k ,d_k)+f_{k+1}(x_k+1)\}\\ = \mathop{ min} \limits_{d_k\in D_k(x_k)} \{c_kd_k+f_{k+1}(x_k-r_k+d_k)\} fk(xk)=dkDk(xk)min{vk(xk,dk)+fk+1(xk+1)}=dkDk(xk)min{ckdk+fk+1(xkrk+dk)}

2.求解基本方程

  1. 对于 k = 7 k=7 k=7,由于 x 8 = 0 x_8=0 x8=0,有 d 7 = 0 d_7=0 d7=0(月初供货,且7月末库存为0,看红色字体要求)
    递推方程为:
    f 7 ( x 7 ) = m i n { c 7 d 7 + f 8 ( x 8 ) } = 0 ( d 7 ∗ = 0 ) \begin{aligned} f_7(x_7)&=min \quad \{c_7d_7+f_8(x_8)\}\\ &=0 \quad (d_7^*=0) \end{aligned} f7(x7)=min{c7d7+f8(x8)}=0(d7=0)
  2. 对于 k = 6 k=6 k=6,由于 d 7 = 0 d_7=0 d7=0,由 x 8 = x 7 − r 7 + d 7 = 0 x_8=x_7-r_7+d_7=0 x8=x7r7+d7=0,故 x 7 = r 7 = 4 , x 6 − r 6 + d 6 = x 7 = 4 x_7=r_7=4, x_6 - r_6 + d_6 = x_7 = 4 x7=r7=4,x6r6+d6=x7=4。因此 d 6 = x 7 + r 6 − x 6 = 4 + 7 − x 6 = 11 − x 6 d_6 = x_7+r_6-x_6 = 4 +7-x_6 = 11-x_6 d6=x7+r6x6=4+7x6=11x6是唯一的决策,于是递推方程为: f 6 ( x 6 ) = m i n d 6 = 11 − x 6 c 6 d 6 + f 7 ( x 7 ) = 10 d 6 = 10 ( 11 − x 6 ) = 110 − 10 x 6 f_6(x_6) = \mathop{min}\limits_{d_6=11-x_6} { c_6d_6+f_7(x_7) } =10d_6=10(11-x_6)=110-10x_6 f6(x6)=d6=11x6minc6d6+f7(x7)=10d6=10(11x6)=11010x6
  3. k = 5 : d 5 ∈ D 5 ( x 5 ) k = 5: d_5\in D_5(x_5) k=5d5D5(x5)
    与前面不同, x 6 x_6 x6是不确定的,因此下面的成本无法直接转化为 x 5 x_5 x5的函数,需要讨论 x 5 x_5 x5 d 5 d_5 d5的关系。
    f 5 ( x 5 ) = m i n { c 5 d 5 + f 6 ( x 6 ) } = m i n { 20 d 5 + 110 − 10 x 6 } = m i n { 20 d 5 + 110 − 10 ( x 5 − r 5 + d 5 ) } = m i n { 10 d 5 − 10 x 5 + 130 } \begin{aligned} f_5(x_5) &= min \{ c_5d_5 + f_6(x_6) \}\\ & = min \{ 20d_5+110-10x_6 \}\\ &= min \{ 20d_5+110-10(x_5-r_5+d_5) \}\\ &= min\{ 10d_5-10x_5+130 \}\\ \end{aligned} f5(x5)=min{c5d5+f6(x6)}=min{20d5+11010x6}=min{20d5+11010(x5r5+d5)}=min{10d510x5+130}
    其中
    D 5 ( x 5 ) = { d 5 ∣ d 5 ≥ 0 , r 6 ≤ x 5 − r 5 + d 5 ≤ H } = { d 5 ∣ d 5 ≥ 0 , r 6 + r 5 − x 5 ≤ d 5 ≤ H + r 5 − x 5 } = { d 5 ∣ d 5 ≥ 0 , 9 − x 5 ≤ d 5 ≤ 11 − x 5 } \begin{aligned} D_5(x_5) &=\{d_5| d_5\geq 0, r_6\leq x_5-r_5+d_5\leq H \}\\ &=\{d_5|d_5\geq0, r_6+r_5-x_5\leq d_5\leq H+r_5-x_5\}\\ &=\{d_5| d_5\geq0, 9-x_5\leq d_5\leq11-x_5\}\\ \end{aligned} D5(x5)={d5d50,r6x5r5+d5H}={d5d50,r6+r5x5d5H+r5x5}={d5d50,9x5d511x5}
    因为 x 5 ≤ H = 9 x_5 \leq H = 9 x5H=9,因此 9 − x 5 ≥ 0 9-x_5\geq0 9x50,决策允许集合可以简化为 D 5 ( x 5 ) = { d 5 ∣ 9 − x 5 ≤ d 5 ≤ 11 − x 5 } D_5(x_5)=\{d_5| 9-x_5 \leq d_5\leq11-x_5 \} D5(x5)={d5∣9x5d511x5}递推方程成为:
    f 5 ( x 5 ) = m i n 9 − x 5 ≤ d 5 ≤ 11 − x 5 { 10 d 5 − 10 x 5 + 130 } = 10 ( 9 − x 5 ) − 10 x 5 + 130 = 220 − 20 x 5 d 5 ∗ = 9 − x 5 \begin{aligned} f_5(x_5) &= \mathop{min}\limits_{9-x_5\leq d_5\leq11-x_5} \{10d_5-10x_5+130 \} \\&= 10(9-x_5) -10x_5+130\\&= 220 -20x_5 \\&d_5^*= 9-x_5 \end{aligned} f5(x5)=9x5d511x5min{10d510x5+130}=10(9x5)10x5+130=22020x5d5=9x5
  4. k = 4 : d 4 ∈ D 4 ( x 4 ) k=4:d_4\in D_4(x_4) k=4d4D4(x4)  上一步的 d 5 d_5 d5不是确定唯一的。
    f 4 ( x 4 ) = m i n { c 4 d 4 + f 5 ( x 5 ) } = m i n { 17 d 4 + 220 − 20 x 5 } = m i n { 17 d 4 + 220 − 20 ( x 4 − r 4 + d 4 ) } = m i n { 17 d 4 + 220 − 20 ( x 4 − 3 + d 4 ) } = m i n { − 3 d 4 − 20 x 4 + 280 } \begin{aligned}f_4(x_4) &= min \{ c_4d_4+f_5(x_5) \}\\&= min \{ 17d_4 + 220 - 20x_5 \} \\ &= min\{17d_4+220-20(x_4-r_4+d_4)\}\\&= min\{17d_4+220-20(x_4-3+d_4)\}\\&= min \{-3d_4-20x_4+280\}\end{aligned} f4(x4)=min{c4d4+f5(x5)}=min{17d4+22020x5}=min{17d4+22020(x4r4+d4)}=min{17d4+22020(x43+d4)}=min{3d420x4+280}其中
    D 4 ( x 4 ) = { d 4 ∣ d 4 ≥ 0 , r 5 ≤ x 4 − r 4 + d 4 ≤ H } = { d 4 ∣ d 4 ≥ 0 , r 5 + r 4 − x 4 ≤ d 4 ≤ H + r 4 − x 4 } = { d 4 ∣ d 4 ≥ 0 , 5 − x 4 ≤ d 4 ≤ 12 − x 4 } = { d 4 ∣ m a x [ 0 , 5 − x 4 ] ≤ d 4 ≤ 12 − x 4 } \begin{aligned} D_4(x_4) &= \{d_4| d_4\geq0, r_5\leq x_4-r_4+d_4\leq H \} \\& = \{d_4| d_4\geq0, r_5+r_4-x_4\leq d_4\leq H+r_4-x_4 \}\\&= \{d_4| d_4\geq0, 5-x_4\leq d_4\leq 12-x_4 \}\\&= \{d_4| max[0,5-x_4]\leq d_4\leq 12-x_4 \}\end{aligned} D4(x4)={d4d40,r5x4r4+d4H}={d4d40,r5+r4x4d4H+r4x4}={d4d40,5x4d412x4}={d4max[0,5x4]d412x4}
    由于 f 4 ( x 4 ) f_4(x_4) f4(x4)的表达式中 d 4 d_4 d4的系数是 -3,因此 d 4 d_4 d4在决策允许集合中应取集合中的最大值,即 d 4 ∗ = 12 − x 4 d_4^*=12-x_4 d4=12x4。由此 f 4 ( x 4 ) = − 3 ( 12 − x 4 ) − 20 x 4 + 280 = − 17 x 4 + 244 f_4(x_4) = -3(12-x_4) - 20x_4+280 = -17x_4 + 244 f4(x4)=3(12x4)20x4+280=17x4+244
  5. k = 3 : d 3 ∈ D 3 ( x 3 ) k=3:d_3\in D_3(x_3) k=3d3D3(x3)
    f 3 ( x 3 ) = m i n { c 3 d 3 + f 4 ( x 4 ) } = m i n { 13 d 3 + 244 − 17 ( x 3 − r 3 + d 3 ) } = m i n { − 4 d 3 − 17 x 3 + 329 } \begin{aligned}f_3(x_3)&= min \{c_3d_3+f_4(x_4)\}\\&= min \{13d_3+244-17(x_3-r_3+d_3)\} \\&= min \{-4d_3-17x_3+329\}\end{aligned} f3(x3)=min{c3d3+f4(x4)}=min{13d3+24417(x3r3+d3)}=min{4d317x3+329}其中
    D 3 ( x 3 ) = { d 3 ∣ d 3 ≥ 0 , r 4 ≤ x 3 − r 3 + d 3 ≤ H } = { d 3 ∣ d 3 ≥ 0 , r 4 + r 3 − x 3 ≤ d 3 ≤ H + r 3 − x 3 } = { d 3 ∣ d 3 ≥ 0 , 8 − x 3 ≤ d 3 ≤ 14 − x 3 } = { d 3 ∣ m a x [ 0 , 8 − x 3 ] ≤ d 3 ≤ 14 − x 3 } \begin{aligned} D_3(x_3)&=\{d_3| d_3\geq0, r_4\leq x_3-r_3+d_3\leq H\}\\ &=\{d_3| d_3\geq0, r_4+r_3-x_3\leq d_3\leq H+r_3-x_3\}\\ &=\{d_3| d_3\geq0, 8-x_3\leq d_3\leq14-x_3\}\\ &=\{d_3| max [0,8-x_3]\leq d_3\leq14-x_3\} \end{aligned} D3(x3)={d3d30,r4x3r3+d3H}={d3d30,r4+r3x3d3H+r3x3}={d3d30,8x3d314x3}={d3max[0,8x3]d314x3}
    由此 f 3 ( x 3 ) = − 4 ( 14 − x 3 ) − 17 x 3 + 329 = − 13 x 3 + 273 , d 3 ∗ = 14 − x 3 f_3(x_3)= -4(14-x_3) -17x_3+329= -13x_3+273,\quad d_3^*=14-x_3 f3(x3)=4(14x3)17x3+329=13x3+273,d3=14x3
  6. k = 2 : d 2 ∈ D 2 ( x 2 ) k=2:d_2\in D_2(x_2) k=2d2D2(x2)
    f 2 ( x 2 ) = m i n c 2 d 2 + f 3 ( x 3 ) = m i n 18 d 2 + 273 − 13 ( x 2 − r 2 + d 2 ) = m i n 18 d 2 + 273 − 13 ( x 2 − 8 + d 2 ) = m i n 5 d 2 − 13 x 2 + 377 \begin{aligned} f_2(x_2)& = min { c_2d_2 + f_3(x_3) } \\&= min {18d_2+273-13(x_2-r_2+d_2)}\\&= min {18d_2+273-13(x_2-8+d_2)}\\&= min {5d_2-13x_2+377} \end{aligned} f2(x2)=minc2d2+f3(x3)=min18d2+27313(x2r2+d2)=min18d2+27313(x28+d2)=min5d213x2+377其中
    D 2 ( x 2 ) = { d 2 ∣ d 2 ≥ 0 , r 3 ≤ x 2 − r 2 + d 2 ≤ H } = { d 2 ∣ d 2 ≥ 0 , r 3 + r 2 − x 2 ≤ d 2 ≤ H + r 2 − x 2 } = { d 2 ∣ d 2 ≥ 0 , 13 − x 2 ≤ d 2 ≤ 17 − x 2 } \begin{aligned} D_2(x_2) &=\{d_2|d_2\geq0, r_3\leq x_2-r_2+d_2\leq H \}\\& =\{d_2|d_2\geq0, r_3+r_2-x_2\leq d_2\leq H+r_2-x_2\}\\& =\{d_2|d_2\geq0,13-x_2\leq d_2\leq17-x_2\}\end{aligned} D2(x2)={d2d20,r3x2r2+d2H}={d2d20,r3+r2x2d2H+r2x2}={d2d20,13x2d217x2}
    因为 13 − x 2 > 0 13-x_2>0 13x2>0,所以 d 2 ( x 2 ) = { d 2 ∣ 13 − x 2 ≤ d 2 ≤ 17 − x 2 } d_2(x_2)=\{d_2|13-x_2\leq d2\leq 17-x_2\} d2(x2)={d2∣13x2d217x2}
    由此 f 2 ( x 2 ) = 5 ( 13 − x 2 ) − 13 x 2 + 377 = − 18 x 2 + 442 f_2(x_2)= 5(13-x_2)-13x_2+377= -18x_2+442 f2(x2)=5(13x2)13x2+377=18x2+442,  d 2 ∗ = 13 − x 2 d_2^* = 13-x_2 d2=13x2
  7. k = 1 : d 1 ∈ D 1 ( x 1 ) k=1: d_1\in D_1(x_1) k=1d1D1(x1)
    f 1 ( x 1 ) = m i n { c 1 d 1 + f 2 ( x 2 ) } = m i n { 11 d 1 + 442 − 18 ( x 1 − r 1 + d 1 ) } = m i n { 11 d 1 + 442 − 18 ( x 1 − 0 + d 1 ) } = m i n { − 7 d 1 − 18 x 1 + 442 } \begin{aligned}f_1(x_1) &= min \{c_1d_1+f_2(x_2)\} \\&= min \{11d_1+442-18(x_1-r_1+d_1)\}\\&= min \{11d_1+442-18(x_1-0+d_1)\}\\&= min \{-7d_1-18x_1+442\}\end{aligned} f1(x1)=min{c1d1+f2(x2)}=min{11d1+44218(x1r1+d1)}=min{11d1+44218(x10+d1)}=min{7d118x1+442}其中
    D 1 ( x 1 ) = { d 1 ∣ d 1 ≥ 0 , r 2 ≤ x 1 − r 1 + d 1 ≤ H } = { d 1 ∣ d 1 ≥ 0 , r − 2 + r 1 − x 1 ≤ d 1 ≤ H + r 1 − x 1 } = { d 1 ∣ d 1 ≥ 0 , 8 − x 1 ≤ d 1 ≤ 9 − x 1 } \begin{aligned}D_1(x_1) &=\{ d_1|d_1\geq0,r_2\leq x_1-r_1+d_1\leq H \} \\&=\{d_1|d_1\geq0,r-2+r_1-x_1\leq d_1\leq H+r_1-x_1\} \\&=\{d_1|d_1\geq0,8-x_1\leq d_1\leq9-x_1\} \end{aligned} D1(x1)={d1d10,r2x1r1+d1H}={d1d10,r2+r1x1d1H+r1x1}={d1d10,8x1d19x1}
    根据题意 x 1 = 2 x_1=2 x1=2所以 D 1 ( x 1 ) = { d 1 ∣ 6 ≤ d 1 ≤ 7 } D_1(x_1) = \{ d_1| 6 \leq d_1\leq 7 \} D1(x1)={d1∣6d17},由此 d 1 = 7 d_1 = 7 d1=7 f 1 ( x 1 ) = − 7 d 1 − 18 x 1 + 442 = 357 f_1(x_1) = -7d_1 - 18x_1 + 442 = 357 f1(x1)=7d118x1+442=357

回溯,将结果汇总成下表:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

古道西风瘦码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值