在阅读 柏孟卓《排序问题的动态规划方法》中关于动态规划部分内容,有一个关于设备更的问题,初次看有些疑惑,多次阅读后才有点明白,故写此文章记录用于后续回顾,描述过程有些啰嗦请见谅,本文仅为书籍内容解读,多处引用书籍内容,特此说明。
一、问题描述
二、思路介绍
本题采用动态规划的求解思路,将按照机器的使用年限来划分,由于使用5年,若从1开始定义则应划分5个阶段(1-2、2-3、3-4、4-5、5-6)采用逆向求解思路,从最末尾段进行计算,末尾的第6阶段各状态下默认为0。
即:
当我们往前分析第5阶段时,可以将问题看做如下图形式,第5阶段决定的是5-6的收益,因此需要考虑在第五年是否更新设备,若更新设备5-6阶段的收益为:第5年新设备收益 - 第5年新设备维修费用(0~1年) - 第5年采购设备的费用 + 第6年的收益。此处第6年的收益其实是在第6年使用第5年传下来设备的收益,即第6阶段使用了一年的设备收益
f
6
(
1
)
=
0
f_6(1)=0
f6(1)=0,所有上述式子结果 = 30 - 5 - 13 + 0 = 12 ;
若不更新设备则可考虑沿用前面的设备,我们一年一年往前倒。
- 1 使用在第4年更新的设备 x 4 x_4 x4,那么第5-6阶段的收益就变成,第5年用已经使了一年的 x 4 x_4 x4的收益 + 第6年用使了两年的 x 4 x_4 x4 ,按上表数据计算的话就是 f 5 ( 1 ) f_5(1) f5(1) = 效益 - 维修费用 + f 6 ( 2 ) f_6(2) f6(2) = 26-6+0 = 20;
- 2 使用在第3年更新的设备 x 3 x_3 x3,那么第5-6阶段的收益就变成,第5年用已经使了两年的 x 3 x_3 x3的收益 + 第6年用使了三年的 x 3 x_3 x3 ,按上表数据计算的话就是 f 5 ( 2 ) f_5(2) f5(2) =效益 - 维修费用 + f 6 ( 3 ) f_6(3) f6(3) = 20-8+0 = 12;
- 3 使用在第2年更新的设备 x 2 x_2 x2,那么第5-6阶段的收益就变成,第5年用已经使了三年的 x 2 x_2 x2的收益 + 第6年用使了四年的 x 2 x_2 x2 ,按上表数据计算的话就是 f 5 ( 3 ) f_5(3) f5(3) =效益 - 维修费用 + f 6 ( 4 ) f_6(4) f6(4) = 14-11+0 = 3(12);
- 4 使用在第1年更新的设备
x
1
x_1
x1,那么第5-6阶段的收益就变成,第5年用已经使了四年的
x
1
x_1
x1的收益 + 第6年用使了五年的
x
1
x_1
x1 ,按上表数据计算的话就是
f
5
(
4
)
f_5(4)
f5(4) =效益 - 维修费用 +
f
6
(
5
)
f_6(5)
f6(5) = 10-18+0 = -8(12);
我们这样就把5-6阶段的算完了,但明显第3、4种情形收益太少了,还不如直接更新了设备,所以3、4可以直接用更新设备的方案替换了。
我们继续分析第4阶段时,可以将问题看做如下图形式,第4阶段决定的是4-5的收益,因此需要考虑在第四年是否更新设备,若更新设备4-5阶段的收益为:第4年新设备收益 - 第4年新设备维修费用(0~1年) - 第4年采购设备的费用 + 第5年的收益。此处第5年的收益其实是在第5年使用第4年传下来设备的收益,即第5阶段使用了一年的设备收益 f 5 ( 1 ) f_5(1) f5(1),所有上述式子结果 = 30 - 5 - 12 + 20 = 33 ;
若不更新设备则可考虑沿用前面的设备,同样我们一年一年往前倒。 - 1 使用在第3年更新的设备 x 3 x_3 x3,那么第4-5阶段的收益就变成,第4年用已经使了一年的 x 3 x_3 x3的收益 + 第5年用使了两年的 x 3 x_3 x3 ,按上表数据计算的话就是 f 4 ( 1 ) f_4(1) f4(1) = 效益 - 维修费用 + f 5 ( 2 ) f_5(2) f5(2) = 26-6+12 = 32(33);
- 2 使用在第2年更新的设备 x 2 x_2 x2,那么第4-5阶段的收益就变成,第4年用已经使了两年的 x 2 x_2 x2的收益 + 第5年用使了三年的 x 2 x_2 x2 ,按上表数据计算的话就是 f 4 ( 2 ) f_4(2) f4(2) =效益 - 维修费用 + f 5 ( 3 ) f_5(3) f5(3) = 20-8+12 = 24(33);
- 3 使用在第1年更新的设备
x
1
x_1
x1,那么第4-5阶段的收益就变成,第4年用已经使了三年的
x
1
x_1
x1的收益 + 第5年用使了四年的
x
1
x_1
x1 ,按上表数据计算的话就是
f
4
(
3
)
f_4(3)
f4(3) =效益 - 维修费用 +
f
5
(
4
)
f_5(4)
f5(4) = 14-11+12 = 15(33);
我们这样就把4-5阶段的算完了,当前1、2、3种情形收益都不如直接更新了设备,所以1、2、3直接用更新设备的方案了。
等到第3阶段时,就更简单了,第3阶段决定的是3-4的收益,因此需要考虑在第三年是否更新设备,若更新设备3-4阶段的收益为:第3年新设备收益 - 第3年新设备维修费用(0~1年) - 第3年采购设备的费用 + 第4年的收益。此处第4年的收益是在第4年使用第3年传下来设备的收益,即第4阶段使用了一年的设备收益 f 4 ( 1 ) f_4(1) f4(1),所有上述式子结果 = 30 - 5 - 12 + 33 = 46 ;
我们继续倒。 - 1 使用在第2年更新的设备 x 2 x_2 x2,那么第3-4阶段的收益就变成,第3年用已经使了一年的 x 2 x_2 x2的收益 + 第4年用使了两年的 x 2 x_2 x2 ,按上表数据计算的话就是 f 3 ( 1 ) f_3(1) f3(1) =效益 - 维修费用 + f 4 ( 2 ) f_4(2) f4(2) = 26-6+33 = 53;
- 2 使用在第1年更新的设备
x
1
x_1
x1,那么第3-4阶段的收益就变成,第3年用已经使了两年的
x
1
x_1
x1的收益 + 第4年用使了三年的
x
1
x_1
x1 ,按上表数据计算的话就是
f
3
(
2
)
f_3(2)
f3(2) =效益 - 维修费用 +
f
4
(
3
)
f_4(3)
f4(3) = 20-8+33 = 45(46);
当前2情形收益都不如直接更新了设备,所以2直接用更新设备的方案了。
等到第2阶段时,胜利在望,第2阶段决定的是2-3的收益,因此需要考虑在第二年是否更新设备,若更新设备2-3阶段的收益为:第2年新设备收益 - 第2年新设备维修费用(0~1年) - 第2年采购设备的费用 + 第3年的收益。此处第3年的收益是在第3年使用第2年传下来设备的收益,即第3阶段使用了一年的设备收益 f 3 ( 1 ) f_3(1) f3(1),所有上述式子结果 = 30 - 5 - 11 + 53 = 67 ;
继续倒。 - 1 使用在第1年更新的设备
x
1
x_1
x1,那么第2-3阶段的收益就变成,第2年用已经使了一年的
x
1
x_1
x1的收益 + 第3年用使了两年的
x
1
x_1
x1 ,按上表数据计算的话就是
f
2
(
1
)
f_2(1)
f2(1) =效益 - 维修费用 +
f
3
(
2
)
f_3(2)
f3(2) = 26-6+46 = 66(67);
当前1情形收益都不如直接更新了设备,所以1直接用更新设备的方案了。
等到第1阶段时,第1阶段决定的是1-2的收益,因此需要考虑在第一年是否更新设备,若更新设备1-2阶段的收益为:第1年新设备收益 - 第1年新设备维修费用(0~1年) - 第1年采购设备的费用 + 第2年的收益。此处第2年的收益是在第2年使用第1年传下来设备的收益,即第2阶段使用了一年的设备收益 f 2 ( 1 ) f_2(1) f2(1),所有上述式子结果 = 30 - 5 - 11 + 67 = 81 ;
至此我们搞定了所有的计算,我们在正序一下,就可以得到需要在第1、2、4年购入新设备,在3、5年使用旧设备。