第八章动态规划动态规划模型和求解方法(1)阶段.(2)状态.描述过程在第k阶段状态的变量,称为状态变量,用s k表示.s k取值的全体记作S k,称作第k阶段的状态集合.状态的定义在动态规划中往往是最重要的概念.它必须具备3个特性:①描述性.各阶段状态的演变能描述决策过程.②无后效性.如果第k阶段的状态给定,则在这阶段以后过程的发展不受这阶段以前各个阶段状态的影响.也就是说,过程未来的发展,只与过程的现在状态有关,而与过程的过去状态无关.③阶段状态变量的取值,直接或间接是可知的,也就是说,第k阶段的状态集合S k是给定的.(3)决策.当第k阶段的状态s k给定后,从该状态演变为第k+1阶段状态时所作的选择称为决策.描述决策的变量称为决策变量,用x k(s k)表示,简记为x k.x k(s k)取值的全体记为D k(s k),称为第k阶段的决策集合,s k取值不同,相应的决策集合也可能不同.(4)策略.{ x1(s1),x2(s2)…,x N(s N)}称为策略.(5)状态转移方程.第k+1阶段的状态s k+l 与第k阶段的状态s k、决策x k之间有函数关系s k+l =T k (s k,x k),并称其为状态转移方程.(6)权函数.在第k阶段,当状态取定s k、决策取定x k时,该阶段所实现的效益指标(例如距离、时耗、利润、成本等)称为权函数,(7)指标函数.若第k阶段的状态为s k,当采用了最优子策略{ x*k,x*k+1,…,x*N}后,从阶段k到阶段N可获得的效益,称为指标函数,记为f k (s k).实现f k (s k) 值的x k记为x*k.(8)递归方程.称下列方程为递归方程:f N+1 (s N+1) =0或1,f k(s k)=)}()(),({11)(++∈⨯+kkkkkSDxsfxswoptKK,k=N,N一1, (1)其中,符号opt视问题性质可取面min或max,同时,当符号⊙取加法运算时,取f N+1 (s N+1) =0;当符号⊙取乘法运算时,取f N+1 (s N+1) =1.由于用递归方程和状态转移方程求解动态规划的过程,是由第N阶段向前递归至第1阶段,故这种方法称为逆序解法.综上所述,如果一个问题能用动态规划方法求解,那么,我们可以按下列步骤建立动态规划的数学模型:①划分阶段,并正确地定义各阶段状态变量使之具有描述性、无后效性和可知性3个特性,同时确定状态集合;②定义决策变量,确定决策集合:③确定权函数;④建立状态转移方程;⑤确定指标函数;⑥建立递归方程.由状态转移方程和递归方程,用逆序解法对动态规划模型求解,在求得,f1(s1)和x*1后,则按顺序追踪方法寻找最优策略。
例8-2(投资问题)现有资金5百万元,可对3个项目进行投资,投资额均为整数(单位为百万元).假设2#项目的投资不得超过3百万元,1#和3#项目的投资均不得超过4百万元,3#项目至少要投资1百万元.投资5年后每个项目预计可获得的收益由下表给出。
问如何投资可获得最大的收益.解:本问题是一个静态问题,但可以把它转化成动态问题:将这个投资问题分成3个阶段,在第k阶段要对项目k#进行投资决策.令s k——对k#,…,3#项目允许的投资额;x k——对k#项目的投资额;w(s k,x k)——对k#项目投资x k后的收益:w(s k,x k)= w k(x k);T k (s k,x k)——s k+l= s k - x k;f k (s k )——当第k 至第3项目允许的投资额为s k 时所能获得的最大收益.为了获得最大收益,必须将5百万元资金全部用于投资.故假想有第4阶段存在时必有s 4= 0.对于本问题,有下列递归方程:{}4411()()0()max ()(),3,2,1k k k k kk k k k x D s f s f s w x f s k ++∈=⎧⎪⎨=+=⎪⎩第一步 K=3第二步K=2第三步K=1s1=5 s2=4 s3=2 x1*=1 x2*=2 x3*=2 f1(5)=21(最优分配问题)有一个仪表公司打算向它的3个营业区设立6家销售店。
每个营业区至少设一家,所获利润如表。
问设立的6家销售店数应如何分配,可使总利润最大?解:s k——对k#,…,3#营业区允许设立的销售店数x k——对k#营业区设立的销售店数w k (s k,x k)——对k#营业区设立x k销售店后的利润:w k (s k,,x k)= w k (x k)T k (s k, x k)——s k +1= s k - x kf k(s k)——当第k至第3个营业区允许设立的销售店数为s k时所能获得的最大利润递归方程:f4(s4)=0f k (s k)=max {w k (x k)+ f k+1(s k+1)}, k=3,2,1x k↔D k(s k)第一步:k=3时,有方程f4 (s4)=0f3(s3)= max {w3(x3)+ f4(s4) }x3↔D3(s3)s3=s2—x2第二步:k=2,有方程f2(s2)= max {w2(x2)+ f3(s3) }x2↔D2(s2)s3=s2—x2-第三步:k=1,有方程f1(s1)= max {w1(x1)+ f2(s2) }x1↔D1(s1)s2=s1—x1s1=6 →s2=3 →s3=2↓↓↓x1*=3 x2*=1 x3*=2分别A1、A2、A3营业区设立3家、1家、2家销售店,最大利润为770例8-7(可靠性问题)某种仪表由3种不同的元件串联而成,任一个元件的故障将造成整台仪表的故障.每种元件又都有3种规格,设k#元件j#规格的可靠性为R kj,所需费用为C kj.生产每台仪表的费用限额E为10.试问如何选用各种元件的规格,使得仪表的可靠性最大?我们把这个问题分成3个阶段.在第k阶段要确定k#元件的规格.下面我们用逆序解法求解.s k——仪表上配备k #,…,3#元件时允许使用的费用;s3——仪表上配备3#元件时允许使用的费用;s2——仪表上配备2#, 3#元件时允许使用的费用;s1——仪表上配备1 #,2 #,3#元件时允许使用的费用;x k——k#元件所选用的规格;w k(s k,x k)——k#元件采用规格x k#时的可靠性:w k(s k,x k)=R k x k;T k (s k,x k)——s k+l= s k - C k x k;f k(s k)——在费用限额为s k的条件下,k #, (3)元件串联时相应部分可获得的最大可靠性.递归方程为:f4(s4)=1f k(s k)=)}(),({11)(m ax++∈∙kkkkkSDxsfxswKK,k=3,2,,1。
第一步,k=3,将上表简化:第二步,k=2,f(s2)的计算过程如表所示.将上表简化:第三步,对k=1S1=10 →S2=5 →S3=5 ↓↓↓x*1=3 x*2=1 x*3=2请用动态规划方法求解:max f = x1x2x3s.t.a1x1+ a2x2+a3x3=x1 + 2x2+ x3≤5x1>0,x2>0,x3>0,整数。
设s k:a k x k+---+a3x3的允许值x k:第k阶段x k的取值w k(s k,x k):w k(s k,x k)= x kT k (s k,x k):s k+1=s k-a k x kF k(s k):在a k x k+---+a3x3≤s k的条件下,x k---x3能获得的最大值递归方程f4(s4)=1f k(s k)= Max{ x k·f(s k+1) } k=3,2,1 第一步:第二步:第三步:(2分)123123123123T T5421,1,25312,1,1X*112X*211*2s s s x x x s s s x x x f ******∴=→=→=⇒====→=→=⇒===∴或最优解=(,,)或=(,,)=二、加工某产品分别要通过1#、2#、3#三种机器,这些机器的偶然故障,将会影响产品的质量。
但是次品要在生产过程终了时才能检查发觉。
由统计资料知道,这三种机器加工产品的合格率分别为0.7, 0.6, 0.8。
现在管理部门准备再投资5万元来提高产品的合格率。
问如何使用这5万元,使产品合格率最高?解:s k——对k#,…,3#机器允许的投资额;x k——对k#机器的投资额;w(s k,x k)——对k#机器投资x k后的收益:w(s k,x k)= w k(x k);T k (s k,x k)——s k+l= s k - x k;f k (s k )——当第k #至第3#机器允许的投资额为s k 时所能获得的最大收益.递归方程:{}4411()()1()max ()(),3,2,1k k k k k k k k k x D s f s f s w x f s k ++∈=⎧⎪⎨=∙=⎪⎩第一步:k=3第二步:k=2第三步:k=10.567 0.612 0.612 0.552S1=5 →S2=4 →S3=1↓↓↓x*1=1 x*2=3 x*3=1S1=5 →S2=3 →S3=0↓↓↓x*1=2 x*2=3 x*3=0。