《运筹学第10章动态规划ppt课件.ppt》由会员分享,可在线阅读,更多相关《运筹学第10章动态规划ppt课件.ppt(68页珍藏版)》请在三一办公上搜索。
1、1,第十章 动态规划,2,1多阶段决策过程最优化问题举例,例1 最短路径问题 下图表示从起点A到终点E之间各点的距离。求A到E的最短路径。,B,C,B,D,B,C,D,E,C,4,1,2,3,1,2,3,1,2,3,2,2,1,6,4,7,2,4,8,3,8,6,7,5,6,1,10,6,3,7,5,1,3,讨论: 1、以上求从A到E的最短路径问题,可以转化为四个性质完全相同,但规模较小的子问题,即分别从Di 、Ci、Bi、A到E的最短路径问题。 从最短路上每一点到终点的部分道路,也一定是从该点到终点的最短路. 第四阶段:两个始点D1和D2,终点只有一个; 表10-1分析得知:从D1和D2到E
2、的最短路径唯一。,4,第三阶段:有三个始点C1,C2,C3,终点有D1,D2,对始点和终点进行分析和讨论分别求C1,C2,C3到D1,D2 的最短路径问题: 表10-2分析得知:如果经过C1,则最短路为C1-D2-E; 如果经过C2,则最短路为C2-D2-E; 如果经过C3,则最短路为C3-D1-E。,5,第二阶段:有4个始点B1,B2,B3,B4,终点有C1,C2,C3。对始点和终点进行分析和讨论分别求B1,B2,B3,B4到C1,C2,C3 的最短路径问题: 表10-3 分析得知:如果经过B1,则走B1-C2-D2-E; 如果经过B2,则走B2-C3-D1-E; 如果经过B3,则走B3-C
3、3-D1-E; 如果经过B4,则走B4-C3-D1-E。,6,第一阶段:只有1个始点A,终点有B1,B2,B3,B4 。对始点和终点进行分析和讨论分别求A到B1,B2,B3,B4的最短路径问题: 表10-4最后,可以得到:从A到E的最短路径为A B4 C3 D1 E,7,以上计算过程及结果,可用图2表示,可以看到,以上方法不仅得到了从A到D的最短路径,同时,也得到了从图中任一点到E的最短路径。 以上过程,仅用了22次加法,计算效率远高于穷举法。,B,C,B,D,B,C,D,E,C,4,1,2,3,1,2,3,1,2,3,3,2,1,6,4,7,2,4,8,3,8,6,7,5,1,6,10,6,
4、0,10,6,12,11,11,12,13,14,14,12,7,5,1,2,8,一、基本概念: 1、阶段k:表示决策顺序的离散的量,阶段可以按时间或空间划分。 2、状态sk:能确定地表示决策过程当前特征的量。状态可以是数量,也可以是字符,数量状态可以是连续的,也可以是离散的。 3、决策xk:从某一状态向下一状态过渡时所做的选择。决策是所在状态的函数,记为xk(sk)。 决策允许集合Dk(sk):在状态sk下,允许采取决策的全体。 4、策略Pk,n(sk):从第k阶段开始到最后第n阶段的决策序列,称k子策略。P1,n(s1)即为全过程策略。 5、状态转移方程 sk+1=Tk(sk, xk):某
5、一状态以及该状态下的决策,与下一状态之间的函数关系。,2基本概念、基本方程与最优化原理,9,6、阶段指标函数rk(sk, xk):从状态sk出发,选择决策xk所产生的第k阶段指标。 过程指标函数Vk,n(sk, xk, xk+1, xn):从状态sk出发,选择决策xk, xk+1, , xn所产生的过程指标。动态规划要求过程指标具有可分离性,即 Vk,n(sk, xk, xk+1, , xn) = rk(sk, xk)+Vk+1(sk+1, xk+1, , xn)称指标具有可加性,或 Vk,n(sk, xk, xk+1, , xn) = rk(sk, xk)Vk+1(sk+1, xk+1, ,
6、 xn)称指标具有可乘性。,10,二、基本方程: 最优指标函数fk(sk):从状态sk出发,对所有的策略Pk,n,过程指标Vk,n的最优值,即,11,对于可加性指标函数,上式可以写为 上式中“opt”表示“max”或“min”。对于可乘性指标函数,上式可以写为 以上式子称为动态规划最优指标的递推方程,是动态规划的基本方程。 终端条件:为了使以上的递推方程有递推的起点,必须要设定最优指标的终端条件,一般最后一个状态n+1下最优指标fn+1(sn+1) = 0。,12,三、最优化原理 作为整个过程的最优策略具有如下性质: 不管在此最优策略上的某个状态以前的状态和决策如何,对该状态来说,以后的所有决
7、策必定构成最优子策略。就是说,最优策略的任意子策略都是最优的。,13,一、资源分配问题 例2. 某公司拟将某种设备5台,分配给所属的甲、乙、丙三个工厂。各工厂获得此设备后,预测可创造的利润如表10-5所示,问这5台设备应如何分配给这3个工厂,使得所创造的总利润为最大? 表10-5,3 动态规划的应用(1),14,解:将问题按工厂分为三个阶段,甲、乙、丙三个厂分别编号为1、2、3厂。设 sk= 分配给第k个厂至第3个厂的设备台数(k=1、2、3)。-即第k阶段剩余的可分配设备 xk=分配给第k个厂设备台数。 已知s1=5, 并有 从与的定义,可知以下我们从第三阶段开始计算。,15,第三阶段: 显
8、然将台设备都分配给第3工厂时,也就是时,第3阶段的指标值(即第3厂的盈利)为最大,即 由于第3阶段是最后的阶段,故有 其中可取值为0,1,2,3,4,5。其数值计算见表106。,16,表106,17,其中表示取3子过程上最优指标值时的决策,例如在表10-6中可知当=4时,有有此时,即当时,此时取(把4台设备分配给第3厂)是最优决策,此时阶段指标值(盈利)为12,最优3子过程最优指标值也为12。 第二阶段: 当把台设备分配给第2工厂和第3工厂时,则对每个值,有一种最优分配方案,使最大盈利即最优2子过程最优指标函数值为,18,因为上式也可写成其数值计算如表107所示。表107,19,其中在的这一行
9、里,当时,当时,可知 ;当时,;当时, ;当时, ;由于,不可能分2厂5台设备,故时, 栏空着不填。从这些数值中取得最大即得,即有=16。在此行中我们在取最大值的 上面加一横以示区别,也可知这时的最优决策为1或2。,20,第一阶段:把台设备分配给第1,第2,第3厂时,最大盈利为其中可取值0,1,2,3,4,5.数值计算见表108 表10-8 然后按计算表格的顺序推算,可知最优分配方案有两个: 1.由于,根据,查表107可知,再由 ,求得。即分配给甲厂0台,乙厂2台,丙厂3台。 2.由于,根据 ,查表107可,21,知,再由 ,求得,即分配给甲厂2台,乙厂2台,丙厂1台。这两种分配方案都能得到最
10、高的总盈利21万元。,22,二、背包问题 设有n种物品,每一种物品数量无限。第i种物品每件重量为wi公斤,每件价值ci元。现有一只可装载重量为W公斤的背包,求各种物品应各取多少件放入背包,使背包中物品的价值最高。 这个问题可以用整数规划模型来描述。设xi为第i种物品装入背包的件数(i =1, 2, , n),背包中物品的总价值为z,则 Max z = c1x1+c2x2+ +cnxn s.t. w1x1+w2x2+wnxnW x1, x2, , xn0 且为整数。,23,下面用动态规划逆序解法求解它。设阶段变量k:第k次装载第k种物品(k=1, 2, , n)状态变量sk:第k次装载时背包还可
11、以装载的重量;决策变量uk = xk:第k次装载第k种物品的件数;决策允许集合:Dk(sk) = xk | 0 xksk/wk,xk为整数;状态转移方程: sk+1 = sk wkxk;阶段指标: vk = ckxk;最优过程指标函数fk(sk):第k到n阶段容许装入物品的最大使用价值;递推方程: fk(sk) = max ckxk+fk+1(sk+1) = max ckxk+fk+1(sk wkxk); xDk(sk) 终端条件: fn+1(sn+1) = 0。,24,例3.某咨询公司有10个工作日可以去处理四种类型的咨询项目,每种类型的咨询项目中待处理的客户数量、处理每个客户所需工作日数以
12、及所获得的利润如表109所示。显然该公司在10天内不能处理完所有的客户,它可以自己挑选一些客户,其余的请其他咨询公司去做,应如何选择客户使得在这10个工作日中获利最大? 表109,25,解:用动态规划来求解此题。我们把此问题分成四个阶段,第一阶段我们决策将处理多少个第一种咨询项目类型中的客户,第二阶段决策将处理多少个第二种咨询项目类型中的客户,第三阶段、第四阶段我们也将作出类似的决策。我们设分配给第k种咨询项目到第四种咨询项目的所有客户的总工作日(第k阶段的状态变量)。 =在第k种咨询项目中处理客户的数量(第k阶段的决策变量)。已知10并有,26,并从与的定义可知从第四阶段开始计算:显然将个工
13、作日尽可能分配给第四类咨询项目,即时,第四阶段的指标值为最大,其中,表示取不大于的最大整数,符号为取整符号,故有由于第四阶段是最后的阶段,故有,27,因为至多为10。 表1010,28,第三阶段:当把个工作日分配给第四类和第三类咨询项目时,则对每个值,都有一种最优分配方案,使其最大盈利即最优3子过程最优指标函数值为 因为因为至多为10,所以的取值可为0,1,2。,29,表1011,30,第二阶段: 同样以每个值都有一种最优分配方案,使其最大盈利即最优2子过程最优指标函数值为:因为,故有因为至多为10,所以的取值为0,1,2,3。,31,表10-12,32,第一阶段: 我们已知,又因为 ,同样有
14、 因为 ,故可取值为0,1,2, ,10。 表1013,33,从表1013可知,从而得10010,在表1012的的这一行可知,由,查表1011的的这一行可知,最后由,查表10-10的的这一行得,综上所述得最优解为:此时最大盈利为28。现在我们不妨假设该咨询公司的工作计划有所改变,只有8个工作日来处理这四类咨询项目,那么该咨询公司如何选择客户使得获利最大呢?我们不必从头开始重做这个问题,而只要在第一阶段上把改成8,重新计算就可得到结果,如表1014所示,这是动态规划的一个好处。,34,表1014如上一样可从表1014,1012,1011,1010得到两组最优解如下:它们的最优解(即最大盈利)都为
15、22。一旦咨询的工作日不是减少而是增加,那么我们不仅要重新计算第一阶段,而且要在第二、第三、第四阶段的计算表上补上增加的工作日的新的信息,也可得到新的结果。,35,实际上,背包问题我们也可以用整数规划来求解,如果背包携带物品重量的限制为W公斤,这N种物品中第i种物品的重量为,价值为,第i种物品的总数量的,我们可以设表示携带第i种物品的数量,则其数学模型为:S.T. 且为整数。 我们不妨用此模型去求解例3,也一定得出同样的结果。,36,三、生产与存贮问题 例4.某公司为主要电力公司生产大型变压器,由于电力采取预订方式购买,所以该公司可以预测未来几个月的需求量。为确保需求,该公司为新的一年前四个月
16、制定一项生产计划,这四个月的需求如表1015所示。生产成本随着生产数量而变化。调试费为4,除了调试费用外,每月生产的头两台各花费为2,后两台花费为1。最大生产能力每月为4台,生产成本如表1016所示。表1015,37,表1016每台变压器在仓库中由这个月存到下个月的储存费为1,仓库的最大储存能力为3台,另外,知道在1月1日时仓库里存有一台变压器,要求在4月30日仓库的库存量为零。试问该公司应如何制定生产计划,使得四个月的生产成本和储存总费用最少?解:我们按月份来划分阶段,第i个月为第i阶段:(i=1,2,3,4). 设 为第k阶段期初库存量; k=1,2,3,4,38,为第k阶段生产量; k=
17、1,2,3,4为第k阶段需求量; k=1,2,3,4因为下个月的库存量等于上个月的库存量加上上个月的产量减去上个月的需求量,我们就得到了如下状态转移方程:因为,故有因为,故有,39,由于必须要满足需求,则有通过移项得到 另一方面,第k阶段的生产量必不大于同期的生产能力(4台),也不大于第k阶段至第四阶段的需求之和与第k阶段期初库存量之差,否则第k阶段的生产量就要超过从第k阶段至第四阶段的总需求,故有以下我们从第四阶段开始计算:从以上的状态转移方程可知这样就有,40,这里的阶段指标可以分成两部分,即生产成本与储存费,即为 由于第四阶段末要求库存为零,即有,这样可得 对于每个的可行值,的值列于表1
18、017。 表1017,41,表中当时,可知第四阶段要生产台,从表1016可知总成本为9,同样可以算出当为1,2,3时的情况,结果已列于表1017中。第三阶段:此时有:因为以及所以有例如,当第三阶段初库存量时,生产量为2时,则所以生产成本为8,第三阶段末库存为2时,储存费为,而,42,查1017表可知,这样可知,填入表1018中的栏内,其他结果如表1018所示 : 表1018 第二阶段:因为所以有,43,计算结果如表1019所示。 表1019,44,第一阶段:因为故有计算结果见表1020。 表1020,45,利用递推关系可以从表1020,表1019,表1018和表1017得到两组最优解: 这时有
19、最低总成本29。,46,四、系统可靠性问题 例5.某科研项目组由三个小组用不同的手段分别研究,它们失败的概率各为0.40,0.60,0.80。为了减少三个小组都失败的可能性,现决定给三个小组中增派两名高级科学家,到各小组后,各小组科研项目失败概率如下表: 问如何分派科学家才能使三个小组都失败的概率(即科研项目最终失败的概率)最小?,47,解:用逆序算法。设 阶段:每个研究小组为一个阶段,且,48,计算当n=3时,当n=2时,,49,当n=1时, 最优解为 x1*=1,x2*=0,x3*=1;科研项目最终失败的概率为0.060。,50,4动态规划的应用(2),一、连续确定性动态规划 对于状态变量
20、和决策变量只取连续值,过程的演变方式为确定性时,这种动态规划问题就称为连续确定性动态规划问题。,51,机器负荷分配问题 例1 一种机器能在高低两种不同的负荷状态下工作。设机器在高负荷下生产时,产量函数为P1=8u1,其中u1为在高负荷状态下生产的机器数目,年完好率为a=0.7,即到年底有70的机器保持完好。在低负荷下生产时,产量函数为P2=5u2,其中u2为在低负荷状态下生产的机器数目,年完好率为b=0.9。设开始生产时共有1000台完好的机器,请问每年应该如何把完好机器分配给高、低两种负荷下生产,才能使得5年内生产的产品总产量最高。,52,解 建立动态规划模型: 分为5个阶段,每个阶段为1年
21、。设状态变量sk表示在第k阶段初拥有的完好机器数目;k=1,2,3,4,5。 决策变量xk表示第k阶段中分配给高负荷状态下生产的机器数目;k=1,2,3,4,5。显然sk-xk为分配给低负荷状态下生产的机器数目。 状态转移方程为 sk+1=0.7xk+0.9(sk-xk) 阶段指标 rk(sk,xk)=8xk+5(sk-xk) 最优指标函数 ,其中k=1,2,3,4,5。 f6(s6)=0。,53,第5阶段: 因为f5(s5)是x5的线性单调增函数,故有x5* =s5,于是有f5(s5)=8s5。第4阶段:,54,同样的,f4(s4)是x4的线性单调增函数,有x4*=s4 ,f4(s4)=13
22、.6s4。 对前几个阶段依次类推,可得 f3(s3)=17.5s3, f2(s2)=20.75s2, f1(s1)=23.72s1。 因为期初共有完好机器1000台,故s1=1000。有f1(s1)=23.72s123720,即5年最大的产量为23720台。得最优解为 , , , 。 这意味着前两年应把年初完好机器完全投入低负荷生产,后三年应把年初完好机器完全投入高负荷生产。,55,下一步工作是确定每年初的状态,按照从前向后的顺序依次计算出每年年初完好的机器数目。已知s1=1000,根据状态转移方程,有:,56,上面所讨论的最优策略过程,初始端状态s1=1000台是固定的,终点状态s6没有要求
23、。这种情况下得到最优决策称为初始端固定终点自由的最优策略。 如果终点附加一定的条件,则问题就称为“终端固定问题”。例如,规定在第5年度结束时仍要保持500台机器完好(而不是278台),应如何安排生产才能使得总产量最大? 下面来分析: 根据终点条件有 可得,57,显然,由于固定了终点的状态,x5的取值受到了约束。因此有 类似的, 容易解得 ,f4(s4)=21.7s4-7500。,58,依次类推,得 f3(s3)=24.5s3-7500 f2(s2)=27.1s2-7500 f1(s1)=29.4s1-7500 再采用顺序方法递推计算各年的状态,有 s1=1000,,59,可见,为了使终点完好的
24、机器数量增加到500台,需要安排前四年中全部完好机器都要投入低负荷生产,且在第5年,也只能全部投入高负荷。 相应的最优指标为 f1(s1)=29.4s1-750021900。 可以看到,因为增加了附加条件,总产量f1(s1)要比终点自由情况下的产量要低。,60,二、离散随机性动态规划 随机型的动态规划是指状态的转移律是不确定的,即对给定的状态和决策,下一阶段的到达状态是具有确定概率分布的随机变量,这个概率分布由本阶段的状态和决策完全确定。随机型动态规划的基本结构如下图:,sk,状态,xk,决策,概率,k阶段的收益,p1,p2,pN,.,k+1阶段的状态sk+1,c1,c2,cN,1,2,N,6
25、1,图中N表示第k+1阶段可能的状态数,p1、p2、pN为给定状态sk和决策xk的前提下,可能达到下一个状态的概率。ci为从k阶段状态sk转移到k+1 阶段状态为i时的指标函数值。 在随机性的动态规划问题中,由于下一阶段到达的状态和阶段的效益值不确定,只能根据各阶段的期望效益值进行优化。,62,例2 某公司承担一种新产品研制任务,合同要求三个月内交出一件合格的样品,否则将索赔2000元。根据有经验的技术人员估计,试制品合格的概率为0.4,每次试制一批的装配费为200元,每件产品的制造成本为100元。每次试制的周期为1个月。问该如何安排试制,每次生产多少件,才能使得期望费用最小?,63,解:把三
26、次试制当作三个阶段(k=1,2,3),决策变量xk表示第k次生产的产品的件数;状态变量sk表示第k次试制前是否已经生产出合格品,如果有合格品,则sk=0;如果没有合格品,记sk=1。最优函数fk(sk)表示从状态sk、决策xk出发的第k阶段以后的最小期望费用。故有fk(0)0。 生产出一件合格品的概率为0.4,所以生产xk件产品都不合格的概率为 ,至少有一件合格品的概率为1- ,故有状态转移方程为,64,用C(xk)表示第k阶段的费用,第k阶段的费用包括制造成本和装配费用,故有 根据状态转移方程以及C(xk),可得到,65,如果3个月后没有试制出一件合格品,则要承担2000元的罚金,因此有f4(1)=20。 当k=3时,计算如下表:,66,当k=2时,计算如下表:,67,当k=1时,有,68,上面三个表中并没有列出xk取更大数值的情况,因为可以证明以后的C(xk)+ fk+1(1)的值是对xk单调增加的。 因此得到的最优策略是,在第1个阶段试制2件产品;如果都不合格,在第2阶段试制3件产品;如果仍都不合格,则在第3个阶段试制5件产品。该策略得到的最小的期望费用6.46。,