运筹学04_动态规划(2)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
xi
假设部件上装有xi个备用件,该部件正常 工作的概率为pi(xi)。设装一个部件的备 用件的成本为ci,要求备件的总费用为C。 那么该问题模型为:
max P pi ( xi )
n i 1
xi
n ci xi C i 1 x 0并且为整数,i 1, 2,L , n j
k=1 时, f1(s1)= max {4x1+ f2(s2)} 0 x 1 s1 当f2(s2)=9 s2时, f1(10)= max {4x1+ 9 s1-9 x1} 0 x1 10 = max { 9 s1-5x1} 0 x1 10 = 9 s1 (x1*=0) 但此时s2=s1-x1=10-0=10>9/2, 与s2<9/2矛盾。故舍去。
0 u k s5
max {[8u5 5( s5 u5 )]
0uk s5
当u5*=s5时,fBaidu Nhomakorabea(s5)有最大值,相应的有 f5(s5) = 8s5
k = 4时,有
f 4 ( s 4 ) max {[8u 4 5(s4 u 4 )] f 5 [0.7u 4 0.9(s4 u 4 )]}
u3 s3 s3 810 g 3 (s3 , u3 ) 6480 f3 (s3 ) 17.55 s3 14216
u4 s 4 s 4 567 g 4 (s4 , u 4 ) 4536 f 4 ( s4 ) 13.6 s4 7711
u5 s5 s5 397 g 5 (s5 , u5 ) 3176
令
h2(s2,x2)= 9x2+
由 解得
2(s2-x2)2
dh2/dx2=9+4(s2-x2)(-1)=0 而 所以
x2=s2-9/4 d2h2/dx22=4>0 x2=s2-9/4 是极小点。
极大点只可能在[0,s2]端点取得: f2(0) = 2s22 f2(s2) = 9s2
当s2 9/2时, f2(0) f2(s2), 此时x2*=0 当s2 9/2时, f2(0) < f2(s2) , 此时x2*= s2
k = 3 时,有
{[8u3 5(s3 u3 )] f 4 (s4 )} f 3 ( s3 ) 0max u s
3 3
{17.55u3 17.22( s3 u3 )} = 0max u s
3 3
当u3*=s3时,f3(s3)有最大值
f3(s3) =17.55s3
k=3 时, f3(s3)= max
0 x 3 s3
{2x32}
当x3*=s3 时,取得最大值 2s32 即:f3(s3)= max
0 x3 s3
{2x32} =
2s32
k=2 时, f2(s2)= max {9x2+ f3(s3)} 0 x2 s2 = max {9x2+ 2s32} 0 x2 s2 = max {9x2+ 2(s2-x2)2} 0 x2 s2
非线性规划问题 决策变量连续的动态规划问题
乘积形式的目标函数 随机型动态规划
非线性规划问题
应用动态规划求解问题
2 2 2 max z 8x1 3x 2 15x 3
s.t. 3x1 2x 2 4x 3 11 x i 0且为整数(i 1,,) 23
状态变量s k 表示第k阶段到第3阶段所投入的资源的量, 决策变量x k 表示第k阶段所用的资源的量 f k (s k )表示第k阶段的初始状态为s k,从第k到第 3阶段所获得的最大收益
0
0 0
15
15 15 60 60
0
0 0
15
60 60
1
2 2
3
0 1
10
11
0
0
15
15
60
60
0
0
60
60
2
2
2
3
g2(x2)=3x22+ f3(s2-2x2) 0 0 1 0+0 0+0 0+0 1 2 3 4 5 f2(s2) 0 0 x2 0 0 s3 0 1
2
3 4 5 6 7 8 9 10 11
同理,如果一个复杂的工作系统由n个部件并 联组成的,只有当每个部件都失灵,整个系统 就不能工作。
gk (sk , uk ) 8uk 5(sk - uk )
因此,目标函数为
Vk g k ( sk , uk ),
ik
5
k 1, 2,..., 5
5.条件最优目标函数递推方程: 令 fk(sk) 表 示 由 第 k 年 的 状 态 sk 出 发,采取最优分配方案到第 5 年 度结束这段时间的产品产量。根 据最优化原理有以下递推关系:
f5 ( s5 ) 13.6 s5 3176
s6 0.7u5 0.9(s5 u5 ) 0.7 x5 278
乘积形式的目标函数 可靠性问题
部件1
部件2
……
部件n
一个工作系统由个部件串联组成。只要 有一个部件失灵,整个系统就不能工作。 为提高系统的可靠性,可以增加部件的 备用件。例如,用5个部件1并联起来作 为一个部件与部件2串联,如果其中一个 部件失灵其它4个部件仍能正常工作。由 于系统成本(或重量、体积)的限制, 应如何选择各个部件的备件数,使整个 系统的可靠性最大。
所以
x1*=0
再由状态方程得
s2=s1-x1*= 10-0=10 由于 s2 9/2, 因此 x2*=0, s3=s2-x2*= 10-0=10 所以 x3*= s3 = 10 最优投资方案为全部资金投入第3个项目可 得最大收益200万元。
机器负荷问题
有某种机床,可以在高低两种不同的 负荷下进行生产。在高负荷下生产时,产 品的年产量为 g ,与年初投入生产的机床 数量u的关系为 g=g(u)=8u。 这时,年终机床完好台数将为 au ( a 为机 床完好率,0<a<1,设a=0.7)。 在低负荷下生产时,产品的年产量为 h , 和投入生产的机床数量u的关系为 h=h(u)=5u, 相 应 的 机 床 完 好 率 为 b ( 0<b<1 , 设 b=0.9)。一般情况下a<b。
2.状态转移方程为
sk 1 auk b( sk uk ) 0.7uk 0.9( sk uk ), k 1, 2,...,5
3.允许决策集合:在第k段为
U k ( sk ) {uk 0 uk sk }
4.目标函数: 设gk(sk,uk)为第k年度的产量,则
3
3 15 15 27 27 60 60 75 75
1
1 0 0 3 3 0 0 5 5
0
1 4 5 0 1 8 9 0 1
g1(x1)=8x12+ f2(s1-3x1) 0 11 0+75 1 8+60 2 32+15 3 72+3
f1(s1)
x1
s2
75
0,3
11,2
x1=0,s2=11,x2=5,s3=1,x3=0 x1=3,s2=2,x2=1,s3=0,x3=0
(3)决策变量uk,表示第k年度中分配 于高负荷下生产的机床台数。 sk - uk为该年度中分配于低负荷下生产 的机床台数. sk 与 uk 均取连续变量。当它们有非整 数数值时,可以这样理解:如果 sk = 0.6 ,就表示一台机器在 k 年度中正常 工作时间只占6/10;如uk = 0.4,就表 示一台机床在k年度只有4/10的时间于 高负荷下工作。
1 1
当取u1*=0时, f1(s1)有最大值,即 f1(s1)=23.7s1 因为s1=1000,故 f1(s1)=23700个产品.
顺序寻踪得到下述计算结果:
u1 0 s1 1000 g1 ( s1 , u1 ) 5000f1 ( s1 ) 23700 u2 0 s 2 900 g 2 (s2 , u 2 ) 4500 f 2 (s2 ) 20.8s2 18720
k = 2时,有
f 2 ( s 2 ) max {[8u 2 5(s2 u 2 )] f 3 (s3 )}
0 u 2 s 2
=
0u 2 s 2
max {[8u 2 5(s2 u 2 )]
+ 17.55[0.7u2 0.9(s2 u2 )]}
=
0 u 2 s 2
0+0
0+0 0+15 0+15 0+15 0+15 0+60 0+60 0+60 0+60
3+0
3+0 3+0 3+0 3+15 3+15 3+15 3+60 3+60 3+60 12+0 12+0 12+0 12+0 12+1 5 12+1 5 12+1 5 12+1 5 27+0 27+0 27+0 27+0 27+1 5 27+1 5 48+0 48+0 48+0 48+0 75+0 75+0
f k ( sk ) max{[8uk 5(sk uk )] f k 1[0.7uk 0.9(sk uk )]}
uk U k
k 1, 2,...,5
f 6 ( s6 ) 0
k = 5时,有
f 5 ( s5 ) max {[8u5 5(s5 u5 )] f 6 ( s6 )}
假设某厂开始有x=1000台完好的 机床,现要制定一个 5 年生产计划, 问每年开始时如何重新分配完好的机 床在两种不同的负荷下生产的数量, 以使在5年内产品的总产量为最高。
1.变量设置 (1)设阶段变量k表示年度,阶段总 数n=5。 ( 2 )状态变量 sk 表示第 k 年度初拥有 的完好机床台数,同时也是第 k-1 年 度末时的完好机床数量。
max {[ 20.25u 2 20.8( s 2 u 2 )]
当取u2*=0时有最大值,即 f2(s2)=20.8s2
k = 1时,有
{8u1 5(s1 u1 ) + 20.8[0.7u1 0.9(s1 u1 )]} f1 ( s1 ) 0max u s
1 1
{22.55u1 23.7( s1 u1 )} = 0max u s
则有:s1=10, s2=s1-x1, s3=s2-x2 即状态转移方程为:sk+1=sk-xk 令最优指标函数fk(sk) 表示第k个阶 段,初始状态为sk时,从第k个到第3 个项目所获最大收益,f1(s1)即为所 求的总收益。 fk(sk)=max{gk(xk)+fk+1(sk+1)} xk k=3,2,1 f4(s4)=0
当f2(0)= 2s22时, f1(10)= max {4x1+ 2(s1-x1)2} 0 x1 10 令 h1(s1,x1)= 4x1+ 2(s1-x1)2 由 dh1/dx1=4+4(s1-x1)(-1)=0 解得 x1=s1-1 而 d2h1/dx12=1>0
所以 x1=s1-1 是极小点, 比较[0,10]两个端点, x1=0时, x1=10时, f1(10) = 200 f1(10) = 40
= =
0u 4 s 4
0u 4 s 4
max {[8u 4 5(s4 u 4 )] 8[0.7u 4 0.9(s4 u 4 )]}
max { 13.6u 4 12.2( s 4 u 4 )}
0u 4 s 4
当u4*=s4时,有最大值 f4(s4)=13.6s4
决策变量连续的动态规划问题
连续变量的解法 例10:某公司有资金10万元,可投资 于项目i(i=1,2,3),若投资额为xi, 其收益分别为g1(x1)=4x1, g2(x2)=9x2, g3(x3)=2x32,
问如何分配投资额,使总收益最大?
解:建立此问题的数学模型求xi使 max Z=4x1+9x2+2x32 s.t. x1+x2+ x3 10 x1,x2, x3 0 按变量个数分阶段,可看成三段决 策问题,设状态变量sk表示:第k阶 段可以分配给第k到第3个项目的资 金额。决策变量xk:决定投资给第k 个项目的资金额。
D3(s3)={0,1,2,…, [sk/4]}}={0.1.2.3},
g3(x3)=15x32
0
0 1 0 0
1
2
f4(s4)
0 0
f3(s3)
0 0
x3
0 0
s4
0 1
2
3 4 5 6
0
0 0 0 0 15 15 15
0
0 0 0 0
0
0 15 15 15
0
0 1 1 1
2
3 0 1 2
7
8 9