《许香敏最优化方法PPT.ppt》由会员分享,可在线阅读,更多相关《许香敏最优化方法PPT.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第十讲第十讲 动态规划动态规划(Dynamic Programming)动态规划的基本概念和思想动态规划的基本概念和思想 最短路径问题最短路径问题 投资分配问题投资分配问题 背包问题背包问题 排序问题排序问题1动态规划是运筹学的一个分支,是求解多阶段决策过动态规划是运筹学的一个分支,是求解多阶段决策过程最优化问题的数学方法。程最优化问题的数学方法。动态规划在经济管理、工程技术、工农业生产及军事动态规划在经济管理、工程技术、工农业生产及军事部门中都有着广泛的应用,并且获得了显著的效果。部门中都有着广泛的应用,并且获得了显著的效果。学习动态规划,我们首先要了解多阶段决策问题。学习动态规划,我们首先
2、要了解多阶段决策问题。2最短路径问题最短路径问题:给定一个交通网络图如下,其中两点之间:给定一个交通网络图如下,其中两点之间的数字表示距离(或运费),试求从的数字表示距离(或运费),试求从A A点到点到G G点的最短距离点的最短距离(总运输费用最小)。(总运输费用最小)。123456AB1B2C1C2C3C4D1D2D3E1E2E3F1F2G5313687636853384222133352566433背包问题背包问题 有一个徒步旅行者,其可携带物品重量的限度有一个徒步旅行者,其可携带物品重量的限度为为a a 公斤,设有公斤,设有n n 种物品可供他选择装入包中。已知每种种物品可供他选择装入包
3、中。已知每种物品的重量及使用价值(作用),问此人应如何选择携带物品的重量及使用价值(作用),问此人应如何选择携带的物品(各几件),使所起作用(使用价值)最大?的物品(各几件),使所起作用(使用价值)最大?物品物品 1 2 j n重量(重量(公斤公斤/件件)a1 a2 aj an每件使用价值每件使用价值 c1 c2 cj cn 类似的还有工厂里的下料问题、运输中的货物装载问题、人造卫星内的物品装载问题等。4 生产决策问题生产决策问题:企业在生产过程中,由于需求是随时间变:企业在生产过程中,由于需求是随时间变化的,因此企业为了获得全年的最佳生产效益,就要在整个化的,因此企业为了获得全年的最佳生产效
4、益,就要在整个生产过程中逐月或逐季度地生产过程中逐月或逐季度地根据库存和需求决定生产计划。根据库存和需求决定生产计划。机机器器负负荷荷分分配配问问题题:某某种种机机器器可可以以在在高高低低两两种种不不同同的的负负荷荷下下进进行行生生产产。要要求求制制定定一一个个五五年年计计划划,在在每每年年开开始始时时,决决定定如如何何重重新新分分配配完完好好的的机机器器在在两两种种不不同同的的负负荷荷下下生生产产的的数数量量,使在五年内产品的总产量达到最高。,使在五年内产品的总产量达到最高。航天飞机飞行控制问题航天飞机飞行控制问题:由于航天飞机的运动的环境是不:由于航天飞机的运动的环境是不断变化的,因此就要
5、根据航天飞机飞行在不同环境中的情断变化的,因此就要根据航天飞机飞行在不同环境中的情况,不断地决定航天飞机的飞行方向和速度(状态),使况,不断地决定航天飞机的飞行方向和速度(状态),使之能最省燃料和之能最省燃料和完成飞行任务完成飞行任务(如软着(如软着陆陆)。)。5根据过程的特性可以将过程按空间、时间等标志分为根据过程的特性可以将过程按空间、时间等标志分为若干个互相联系又互相区别的阶段。若干个互相联系又互相区别的阶段。在每一个阶段都需要做出决策,从而使整个过程达到在每一个阶段都需要做出决策,从而使整个过程达到最好的效果。最好的效果。各个阶段决策的选取不是任意确定的,它依赖于当前各个阶段决策的选取
6、不是任意确定的,它依赖于当前面临的状态,又影响以后的发展。面临的状态,又影响以后的发展。当各个阶段的决策确定后,就组成了一个决策序列,当各个阶段的决策确定后,就组成了一个决策序列,因而也就决定了整个过程的一条活动路线,这样的一因而也就决定了整个过程的一条活动路线,这样的一个前后关联具有链状结构的多阶段过程就称为多阶段个前后关联具有链状结构的多阶段过程就称为多阶段决策问题。决策问题。多阶段决策过程的特点:多阶段决策过程的特点:6针对多阶段决策过程的最优化问题,美国数学家针对多阶段决策过程的最优化问题,美国数学家BellmanBellman等等人在人在2020世纪世纪5050年代初提出了著名的最优
7、化原理,年代初提出了著名的最优化原理,把多阶段把多阶段决策问题转化为一系列单阶段最优化问题决策问题转化为一系列单阶段最优化问题,从而逐个求解,从而逐个求解,创立了解决这类过程优化问题的新方法:动态规划。创立了解决这类过程优化问题的新方法:动态规划。对最佳路径(最佳决策过程)所经过的各个阶段,其中每个阶段始点到全过程终点的路径,必定是该阶段始点到全过程终点的一切可能路径中的最佳路径(最优决策),这就是Bellman提出的著名的最优化原理。简言之,一个最优策略的子策略必然也是最优的。Bellman在在1957年出版的年出版的Dynamic Programming是动是动态规划领域的第一本著作。态规
8、划领域的第一本著作。7例1、从从A A 地到地到E E 地要铺设一条煤气管道地要铺设一条煤气管道,其中需经过三级其中需经过三级中间站,两点之间的连线上的数字表示距离,如图所示。中间站,两点之间的连线上的数字表示距离,如图所示。问应该选择什么路线,使总距离最短?问应该选择什么路线,使总距离最短?二.最短路径问题AB2B1B3C1C3D1D2E52141126101043121113965810521C28 解:解:整个计算过程分四个整个计算过程分四个阶段阶段,从最后一个阶段开始。,从最后一个阶段开始。第四阶段(第四阶段(D E):D 有两条路线到终点有两条路线到终点E。显然有显然有AB2B1B3
9、C1C3D1D2E52141126101043121113965810521C29首先考虑经过首先考虑经过 的两条路线的两条路线第三阶段(第三阶段(C D):C 到到D 有有 6 条路线。条路线。(最短路线为最短路线为 )AB2B1B3C1C3D1D2E5214126101043121113965810521C210AB2B1B3C1C3D1D2E5214126101043121113965810521C2(最短路线为最短路线为 )考虑经过考虑经过 的两条路线的两条路线11AB2B1B3C1C3D1D2E5214126101043121113965810521C2(最短路线为最短路线为 )考虑
10、经过考虑经过 的两条路线的两条路线12AB2B1B3C1C3D1D2E5214126101043121113965810521C2(最短路线为最短路线为 )第二阶段(第二阶段(B C):B 到到C 有有 9 条路线。条路线。首先考虑经过首先考虑经过 的的3条路线条路线13AB2B1B3C1C3D1D2E5214126101043121113965810521C2(最短路线为最短路线为 )考虑经过考虑经过 的的3条路线条路线14AB2B1B3C1C3D1D2E5214126101043121113965810521C2(最短路线为最短路线为 )考虑经过考虑经过 的的3条路线条路线15AB2B1B
11、3C1C3D1D2E5214126101043121113965810521C2(最短路线为最短路线为 )第一阶段(第一阶段(A B):A 到到B 有有 3 条路线。条路线。(最短距离为(最短距离为19)16 动态规划是用来解决多阶段决策过程最优化的一种数量动态规划是用来解决多阶段决策过程最优化的一种数量方法。其特点在于,方法。其特点在于,它可以把一个它可以把一个n 维决策问题变换为几个维决策问题变换为几个一维最优化问题一维最优化问题,从而一个一个地去解决。,从而一个一个地去解决。需指出:需指出:动态规划是求解某类问题的一种方法,是考察动态规划是求解某类问题的一种方法,是考察问题的一种途径,而
12、不是一种算法问题的一种途径,而不是一种算法。必须对具体问题进行具。必须对具体问题进行具体分析,运用动态规划的原理和方法,建立相应的模型,然体分析,运用动态规划的原理和方法,建立相应的模型,然后再用动态规划方法去求解。后再用动态规划方法去求解。即在系统发展的不同时刻(或阶段)根据系统所处的状即在系统发展的不同时刻(或阶段)根据系统所处的状态,态,不断地做出决策不断地做出决策;动态决策问题的特点:动态决策问题的特点:系统所处的系统所处的状态和时刻状态和时刻是进行决策的重要因素;是进行决策的重要因素;找到找到不同时刻不同时刻的最优决策以及的最优决策以及整个过程的最优策略整个过程的最优策略。17 动态
13、规划方法的关键:在于正确地写出动态规划方法的关键:在于正确地写出基本的递推关基本的递推关系式系式和和恰当的边界条件恰当的边界条件(简称(简称基本方程基本方程)。)。要做到这一点,就必须将问题的过程分成几个相互联要做到这一点,就必须将问题的过程分成几个相互联系的系的阶段阶段,恰当的选取,恰当的选取状态变量状态变量和和决策变量决策变量及定义及定义最优值最优值函数函数,从而把一个大问题转化成一组同类型的子问题,然,从而把一个大问题转化成一组同类型的子问题,然后逐个求解。后逐个求解。即从边界条件开始,逐段递推寻优,在每一个子问题即从边界条件开始,逐段递推寻优,在每一个子问题的求解中,均利用了它前面的子
14、问题的最优化结果,依次的求解中,均利用了它前面的子问题的最优化结果,依次进行,最后一个子问题所得的最优解,就是整个问题的最进行,最后一个子问题所得的最优解,就是整个问题的最优解。优解。18 2、在多阶段决策过程中,动态规划方法是既把当前一、在多阶段决策过程中,动态规划方法是既把当前一段和未来一段段和未来一段分开分开,又把当前效益和未来效益,又把当前效益和未来效益结合结合起来考起来考虑的一种最优化方法。因此,每段决策的选取是从全局来虑的一种最优化方法。因此,每段决策的选取是从全局来考虑的,与该段的最优选择答案一般是不同的考虑的,与该段的最优选择答案一般是不同的.最优化原理:作为整个过程的最优策略
15、具有这样的性质:无论过去的状态和决策如何,相对于前面的决策所形成的状态而言,余下的决策序列必然构成最优子策略。也就是说,一个最优策略的子策略也是最优的。3、在求整个问题的最优策略时,由于初始状态是已知的,而每段的决策都是该段状态的函数,故最优策略所经过的各段状态便可逐段变换得到,从而确定了最优路线。19动态规划求解动态规划求解的的多阶段问题的特点:多阶段问题的特点:每个阶段的最优决策过程只与本阶段的初始状态有关,每个阶段的最优决策过程只与本阶段的初始状态有关,而与以前各阶段的决策(即为了到达本阶段的初始状而与以前各阶段的决策(即为了到达本阶段的初始状态而采用哪组决策路线无关)。换言之,本阶段之
16、前态而采用哪组决策路线无关)。换言之,本阶段之前的状态与决策,只是通过系统在本阶段所处的初始状的状态与决策,只是通过系统在本阶段所处的初始状态来影响本阶段及以后各个阶段的决策。或者说,系态来影响本阶段及以后各个阶段的决策。或者说,系统过程的历史只能通过系统现阶段的状态去影响系统统过程的历史只能通过系统现阶段的状态去影响系统的未来。的未来。具有这种性质的状态称为无后效性(即马尔科夫性)具有这种性质的状态称为无后效性(即马尔科夫性)状态。状态。动态规划方法只适用于求解具有无后效性状态的多阶动态规划方法只适用于求解具有无后效性状态的多阶段决策问题。段决策问题。20 现有数量为a(万元)的资金,计划分
17、配给n 个工厂,用于扩大再生产。假设:xi 为分配给第i 个工厂的资金数量(万元);gi(xi)为第i 个工厂得到资金后提供的利润值(万元)。问题:如何确定各工厂的资金数,使得总的利润为最大。据此,有下式:三.投资分配问题21 令:令:fk(x)表示表示 以数量为以数量为 x 的资金分配给的资金分配给前前k 个个工厂,所工厂,所得到的最大利润值。得到的最大利润值。用动态规划求解,就是用动态规划求解,就是求求 fn(a)的问题的问题。当当 k=1 时,时,f1(x)=g1(x)(因为只给一个工厂)因为只给一个工厂)当当1kn 时,其递推关系如下:时,其递推关系如下:设:设:y 为分给第为分给第k
18、 个工厂的资金(其中个工厂的资金(其中 0y x),),此时还此时还剩剩 x y(万元)的资金需要分配给前万元)的资金需要分配给前 k1 个工厂个工厂,如果采如果采取最优策略,则得到的最大利润为取最优策略,则得到的最大利润为fk1(xy),因此总的利润因此总的利润为:为:gk(y)fk1(xy)22 如果如果a 是以万元为资金分配单位,则式中的是以万元为资金分配单位,则式中的y 只取非负整只取非负整数数0,1,2,x。上式可变为:上式可变为:所以,根据动态规划的最优化原理,有下式:所以,根据动态规划的最优化原理,有下式:23 例2:设国家拨给60万元投资,供四个工厂扩建使用,每个工厂扩建后的利
19、润与投资额的大小有关,投资后的利润函数如下表所示。投资利润0102030405060g1(x)0205065808585g2(x)0204050556065g3(x)0256085100110115g4(x)0254050606570解:依据题意,是要求 f4(60)。24按按顺序解法计算。顺序解法计算。第一阶段:求第一阶段:求 f1(x)。显然有显然有 f1(x)g1(x),得到下得到下表表 投资投资利润利润0102030405060f1(x)g1(x)0205065808585最优策略最优策略0102030405060第二阶段:求第二阶段:求 f2(x)。此时需考虑第一、第二个工厂如何进此
20、时需考虑第一、第二个工厂如何进行投资分配,以取得最大的总利润。行投资分配,以取得最大的总利润。25最优策略为(最优策略为(40,20),此时最大利润为),此时最大利润为120万元。万元。同理可求得其它同理可求得其它 f2(x)的值。的值。26最优策略为(最优策略为(3030,2020),此时最大利润为),此时最大利润为105105万元。万元。27最优策略为(最优策略为(20,20),此时最大利润为),此时最大利润为90万元。万元。最优策略为(最优策略为(20,10),此时最大利润为),此时最大利润为70万元。万元。28最优策略为(最优策略为(10,0)或()或(0,10),此时最大利润为,此时
21、最大利润为20万元。万元。f2(0)0。最优策略为(最优策略为(0,0),最大利润为),最大利润为0万元。万元。得到下表得到下表最优策略为(最优策略为(20,0),此时最大利润为),此时最大利润为50万元。万元。29 投资投资利润利润0102030405060f2(x)020507090105120最优策略最优策略(0,0)(10,0)(0,10)(20,0)(20,10)(20,20)(30,20)(40,20)第三阶段:求第三阶段:求 f3(x)。此时需考虑第一、第二及第三个工此时需考虑第一、第二及第三个工厂如何进行投资分配,以取得最大的总利润。厂如何进行投资分配,以取得最大的总利润。30
22、最优策略为(最优策略为(20,10,30),最大利润为),最大利润为155万元。万元。同理可求得其它同理可求得其它 f3(x)的值。得到下表的值。得到下表31 投资投资利润利润0102030405060f3(x)0256085110135155最优最优策略策略(0,0,0)(0,0,10)(0,0,20)(0,0,30)(20,0,20)(20,0,30)(20,10,30)第四阶段:求 f4(60)。即问题的最优策略。32最优策略为(20,0,30,10),最大利润为160万元。33 有一个徒步旅行者,其可携带物品重量的限度为a 公斤,设有n 种物品可供他选择装入包中。已知每种物品的重量及使
23、用价值(作用),问此人应如何选择携带的物品(各几件),使所起作用(使用价值)最大?物品物品 1 2 j n重量(重量(公斤公斤/件件)a1 a2 aj an每件使用价值每件使用价值 c1 c2 cj cn 这就是背包问题。类似的还有工厂里的下料问题、运输中的货物装载问题、人造卫星内的物品装载问题等。四、背包问题34设 xj 为第 j 种物品的装件数(非负整数)则问题的数学模型如下:用动态规划方法求解,令 fk(y)=总重量不超过 y 公斤,包中只装有前k 种物品时的最大使用价值。其中y 0,k 1,2,n。所以问题就是求 fn(a)35其递推关系式为:当 k=1 时,有:36例3:求下面背包问
24、题的最优解物品物品(xi)x1 x2 x3重量(重量(ai)3 2 5使用价值使用价值 8 5 12解:a5 ,问题是求 f3(5)37物品物品(xi)x1 x2 x3重量(重量(ai)3 2 5使用价值使用价值 8 5 1238物品物品(xi)x1 x2 x3重量(重量(ai)3 2 5使用价值使用价值 8 5 1239物品物品(xi)x1 x2 x3重量(重量(ai)3 2 5使用价值使用价值 8 5 124041所以,最优解为所以,最优解为 X(1.1.0),),最优值为最优值为 Z=13。总结:总结:解动态规划的一般方法解动态规划的一般方法:从终点逐段向始点方向寻找从终点逐段向始点方向
25、寻找最小最小(大大)的方法。的方法。42 排序问题指n 种零件经过不同设备加工是的顺序问题。其目的是使加工周期为最短。1、n 1 排序问题 即n 种零件经过1 种设备进行加工,如何安排?14682023交货日期(交货日期(d)45173加工时间(加工时间(t)零件代号零件代号例5.1 五、排序问题43 (1)平均通过设备的时间最小 按零件加工时间非负次序排列顺序,其时间最小。(即将加工时间由小到大排列即可)零件加工顺序零件加工顺序 工序时间工序时间13457 实际通过时间实际通过时间1481320 交货时间交货时间82314620 平均通过时间延迟时间=13 6=744 (2)按时交货排列顺序
26、零件加工顺序零件加工顺序 工序时间工序时间13457 实际通过时间实际通过时间56101720 交货时间交货时间82314620 平均通过时间延迟时间=045 (3)既满足交货时间,又使平均通过时间最小零件加工顺序零件加工顺序 工序时间工序时间13457 实际通过时间实际通过时间1691320 交货时间交货时间82314620延迟时间=0 平均通过时间46 2、n 2 排序问题排序问题 即即n 种零件经过种零件经过2 种设备进行加工,如何安排?种设备进行加工,如何安排?例5.249523B53786A 零件零件设备设备ABT47经变换为49523B53786A 零件零件设备设备加工顺序图如下:
27、加工顺序图如下:ABT3756895432+2+2-5 加工周期加工周期 T=3+7+5+6+8+2=3148 3、n 3 排序问题排序问题 即即n 种零件经过种零件经过 3 种设备进行加工,如何安排?种设备进行加工,如何安排?例5.33468564683579310CBAABCT49ABCT变换4+36+45+86+56+48+65+37+53+910+3B+CA+B50排序4+36+45+86+56+48+65+37+53+910+3B+CA+B复原3468564683579310CBA51计算T=6+10+8+7+6+4+3=44计算依据:52练习练习1:AB1B2C1C2C3C4D1D
28、2D3E1E2E3F1F2G53136876368533842221333525664最优路线为:最优路线为:A B1 C2 D1 E2 F2 G 路长路长18求从求从A到到G的最短路径的最短路径353k=5k=5,出发点出发点E1E1、E2E2、E3E3u5(E1)=F1E1 F1 GAB1B2C1C2C3C4D1D2D3E1E2E3F1F2G531368766835338422123335526643u5(E2)=F2E2 F2 Gu5(E3)=F2E3 F2 Gk=6k=6,F1 G,f f6 6(F1)=4(F1)=4F F2 2 G,f,f6 6(F2)=3(F2)=354k=4,f
29、4(D1)=7 u4(D1)=E2f4(D2)=6 u4(D2)=E2f4(D3)=8 u4(D3)=E2k=2,f2(B1)=13 u2(B1)=C2 f2(B2)=16 u2(B2)=C3f3(C1)=13 u3(C1)=D1f3(C2)=10 u3(C2)=D1f3(C3)=9 u3(C3)=D1f3(C4)=12 u3(C4)=D3k=3,=minf1(A)=mind1(A,B1)+f2(B1)d1(A,B2)+f2(B2)5+133+16=18k=1,u1(A)=B1u2(B1)=C2u3(C2)=D1u4(D1)=E255u1(A)=B1u2(B1)=C2u3(C2)=D1u4(D
30、1)=E2u5(E1)=F1E1 F1 Gu5(E2)=F2E2 F2 Gu5(E3)=F2E3 F2 G7 5 9 u5(E2)=F2u6(F2)=G最优策略最优策略AB1B2C1C2C3C4D1D2D3E1E2E3F1F2G53136876368533842221333525664356求从求从A到到E的最短路径的最短路径路线为路线为AB2C1 D1 E,最短路径为最短路径为1919AB2B1B3C1C3D1D2EC25214112610104312111396581052练习练习2:157练习:练习:11851079827746CBAT=4558 练习:练习:求投资分配问题得最优策略,其
31、中求投资分配问题得最优策略,其中a50 万元,其余万元,其余资料如表所示。资料如表所示。投资投资利润利润01020304050g1(x)02140528085g2(x)015365073100g3(x)0256065687059例:某公司打算在例:某公司打算在3个不同的地区设置个不同的地区设置4个销售点,根个销售点,根据市场部门估计,在不同地区设置不同数量的销售点据市场部门估计,在不同地区设置不同数量的销售点每月可得到的利润如表所示。试问在各地区如何设置每月可得到的利润如表所示。试问在各地区如何设置销售点可使每月总利润最大。销售点可使每月总利润最大。地地区区销售点销售点012341230001
32、61210251714302116322217 x1=2,x2=1,x3=1,f3(4)=47 60 练习练习1:某厂生产三种产品,各种产品重量与利:某厂生产三种产品,各种产品重量与利润的关系如表所示。现将此三种产品运往市场出售,润的关系如表所示。现将此三种产品运往市场出售,运输能力总重量不超过运输能力总重量不超过 6 吨,问如何安排运输,使吨,问如何安排运输,使总利润最大?总利润最大?种类种类 1 2 3重量(吨重量(吨/公斤)公斤)2 3 4 单件利润(元)单件利润(元)80 130 180最优方案:最优方案:X1=(0.2.00.2.0)X2=(1.0.11.0.1)Z=260=2606
33、1 练习练习2:求下列问题的最优解:求下列问题的最优解 X=(2.1.0)最优值为最优值为 Z=1362考试内容考试内容线性规划线性规划表格单纯形法(首先用大表格单纯形法(首先用大M M法构造单位阵)、对法构造单位阵)、对偶规划(能够写出一个线性规划的对偶规划),整数规划偶规划(能够写出一个线性规划的对偶规划),整数规划(给出松弛问题的最优单纯形表,以某一个变量为源行,写(给出松弛问题的最优单纯形表,以某一个变量为源行,写出割平面方程)出割平面方程)一维优化一维优化黄金分割方法黄金分割方法无约束非线性规划无约束非线性规划最速下降法、修正的牛顿法最速下降法、修正的牛顿法约束非线性规划约束非线性规划求求K-TK-T点、罚函数法(内、外),乘子法点、罚函数法(内、外),乘子法多目标规划多目标规划模型和图解方法模型和图解方法(图解方法,要求简要说明图解方法,要求简要说明)给出数据拟合例子,写出非线性最小二乘问题给出数据拟合例子,写出非线性最小二乘问题其他没有列出的不考计算题,其他没有列出的不考计算题,求解最优化问题常用的求解最优化问题常用的 MATLAB MATLAB 命令命令基本知识点如线性规划的基本定理,函数的驻点,积极约束基本知识点如线性规划的基本定理,函数的驻点,积极约束集等重要概念以选择题的方式出现(集等重要概念以选择题的方式出现(1010题,题,2020分)。分)。63
限制150内