小费用,满足
( ) min[ ( , ) ( )], , ,1. f x v x u f 1 x 1 k n L k k u U k k k k k
k k
= + = ∈ + +
其中允许决策集合k U 由每阶段的最大生产能力决定。若设过程终结时允许存储量为
0
x ,则终端条件是 ( 0 ) 0.
1 1 = n+ n+ f x (7)
n+1
(5)~(7)构成该问题的动态规划模型。 5.3 资源分配问题
一种或几种资源(包括资金)分配给若干用户,或投资于几家企业,以获得最大的 效益。资源分配问题(resource allocating Problem)可以是多阶段决策过程,也可以是 静态规划问题,都能构造动态规划模型求解。下面举例说明。
例5 机器可以在高、低两种负荷下生产。u台机器在高负荷下的年产量是g(u), 在低负荷下的年产量是h(u) ,高、低负荷下机器的年损耗率分别是1 a 和1 b
(0 1 1 1 h(u) = βu(α>β>0),即高、低负荷下每台机器的年产量分别为α和β,结果将
有什么特点。
解年度为阶段变量k = 1,2,L, n。状态k x 为第k 年初完好的机器数,决策k u 为 第k 年投入高负荷运行的台数。当k x 或k u 不是整数时,将小数部分理解为一年中正常 工作时间或投入高负荷运行时间的比例。
机器在高、低负荷下的年完好率分别记为a 和b ,则1 a = 1?a ,1 b = 1?b ,有 a
( , ) ( ) ( ) k k k k k k v x u = g u + h x ?u (9)
指标函数是阶段指标之和,最优值函数( ) k k f x 满足 0 , , ,2,1.
( ) max [ ( , ) ( )], 0 1 1 x m k n L f x v x u f x
k
k k u x k k k k k
k k
≤≤ =
= + ≤≤ + + (10)
及自由终端条件
( ) 0, 0 . 1 1 1 f x x m n n n = ≤≤+ + + (11)
当k v 中的g, h用较简单的函数表达式给出时,对于每个k 可以用解析方法求解极
值问题。特别,若g(u) =αu ,h(u) = βu,(10)中的[ ( , ) ( )] k k k k 1 k v x u f x + + 将是
k
u
的线性函数,最大值点必在区间k k 0 ≤u ≤x 的左端点= 0 k u 或右端点k k u = x 取得, 即每年初将完好的机器全部投入低负荷或高负荷运行。
§6 具体的应用实例
例6 设某工厂有1000 台机器,生产两种产品A、B,若投入x台机器生产A产
-64-
品,则纯收入为5x ,若投入y 台机器生产B种产品,则纯收入为4y,又知:生产A种 产品机器的年折损率为20%,生产B 产品机器的年折损率为10%,问在5 年内如何安 排各年度的生产计划,才能使总收入最高? 解年度为阶段变量k = 1,2,3,4,5。
令k x 表示第k 年初完好机器数,k u 表示第k 年安排生产A 种产品的机器数,则 k k x ?u 为第k 年安排生产B种产品的机器数,且k k 0 ≤u ≤x 。 则第k +1年初完好的机器数
x (1 0.2)u (1 0.1)(x u ) 0.9x 0.1u 1 = ? + ?? = ?+ (12)
令( , ) k k k v x u 表示第k 年的纯收入,( ) k k f x 表示第k 年初往后各年的最大利润之
k k k k k k
和。 显然
( ) 0 6 6 f x = (13)
则
( ) max { ( , ) ( )} 0 1 1 ≤≤ + + = + k k u x k k k k k f x v x u f x
k k
max {5 4( ) ( )} max { 4 ( )} 0 1 1 0 1 1 ≤≤ + + ≤≤ + + = + ? + = + + u x k k k k k u x k k k k u x u f x u x f x
k k k k
(14)
(1)k = 5时,由(13)、(14)式得
( ) max { 4 } 5 5 0 5 5
5 5
f x u x
u x
= +
≤≤
u + 4x 关于5 u 求导,知其导数大于零,所以5 5 u + 4x 在5 u 等于5 x 处取得最大值, 即5 5 u = x 时,5 5 5 f (x ) = 5x 。
(2)k = 4时,由(12)、(14)式得 ( ) max { 4 5 } 4 4 0 4 4 5
5 5
4 4
f x u x x
u x
= + +
≤≤
max { 4 5(0.9 0.1 )} max {0.5 8.5 } 0 4 4 4 4 0 4 4 4 4 4 4 u x x u u x
u x u x
= + + ? = +
≤≤≤≤
当4 4 u = x 时,4 4 4 f (x ) = 9x (3)k = 3时,
( ) max { 4 9 } 3 3 0 3 3 4
3 3
f x u x x
u x
= + +
≤≤
max { 4 9(0.9 0.1 )} max {0.1 12.1 } 0 3 3 3 3 0 3 3 3 3 3 3 u x x u u x
u x u x
= + + ? = +
≤≤≤≤
当3 3 u = x 时,3 3 3 f (x ) = 12.2x (4)k = 2时,
( ) max { 4 12.2 } max { 0.22 14.98 } 2 2 0 2 2 3 0 2 2
2 2 2 2
f x u x x u x
u x u x
= + + = ? +
≤≤≤≤
当0 2 u = 时,2 2 2 f (x ) = 14.98x 。 (5)k = 1时,
( ) max{ 4 14.98 } max{ 0.498 17.482 } 1 1 0 1 1 2 0 1 1
1 1 1 1
f x u x x u x
u x u x
= + + = ? +
≤≤≤≤
当0 1 u = 时,1 1 1 f (x ) = 17.482x 。因为 1000 1 x = (台)
-65-
所以由(12)式,进行回代得
0.9 0.1 900 2 1 1 x = x ?u = (台) 0.9 0.1 810 3 2 2 x = x ?u = (台) 0.9 0.1 648 4 3 3 x = x ?u = (台)
0.9 0.1 518.4 5 4 4 x = x ?u = (台)
注:518.4 5 x = 台中的0.4 台应理解为有一台机器只能使用0.4 年将报废。
例7 求解下面问题
3 2
max z = u u u ??? ≥ =
+ + = > 0 1,2,3 ( 0) 1 2 3 u i
u u u c c
1 2 i
解:按问题的变量个数划分阶段,把它看作为一个三阶段决策问题。设状态变量
为1 2 3 4 x , x , x , x ,并记x = c 1 ;取问题中的变量1 2 3 u ,u ,u 为决策变量;各阶段指标函数
按乘积方式结合。令最优值函数( ) k k f x 表示第k 阶段的初始状态为k x ,从k 阶段到3 阶段所得到的最大值。
设3 3 x = u ,3 2 2 x + u = x ,x + u = x = c 2 1 1 则有
3 3
u = x ,2 2 0 ≤u ≤x ,1 1 0 ≤u ≤x ( ) max{ }
用逆推解法,从后向前依次有
3 3 3 3
3 3
f x u x
u x
= =
=
及最优解3
*
u = x
( ) max { ( )} max { ( )} max ( , ) 2 2 0 2 2 2
3 2 3 3 0 2 2 2 2 0 2
2 2 2 2 2 2
f x u f x u x u h u x
≤u ≤x ≤u ≤x ≤u ≤x
= = ? = 由2 3 2 0
2 2 2 2
= u x ?u = du dh
,得2 2 3
u = 2 x 和0 2 u = (舍去)
2
又2 2 2
2 2 2
2x 6u du
d h = ?,而2 0 2
3 2 2 2 2 2
2 2
= ?<
=
x du d h
u x
,故2 2 3
u = 2 x 为极大值点。
所以3
27
f (x ) = 4 x 及最优解2
2 2 2 *
3
u = 2 x 。 ( ) } 27
( ) max{ ( )} max{ 4 3
2
1 1 0 1 2 2 0 1 1 1
1 1 1 1
f x u f x u x u
u x u x
= = ?
≤≤≤≤
同样利用微分法易知4
1 1 1
64