算法设计与分析动态规划实例讲解.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《算法设计与分析动态规划实例讲解.pptx》由会员分享,可在线阅读,更多相关《算法设计与分析动态规划实例讲解.pptx(82页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、动态规划是用来解决多阶段决策过程最优化的一种数量方法。其特点在于,它可以把一个n维决策问题变换为几个一维最优化问题,从而一个一个地去解决。需指出:动态规划是求解某类问题的一种方法,是考察问题的一种途径,而不是一种算法。必须对具体问题进行具体分析,运用动态规划的原理和方法,建立相应的模型,然后再用动态规划方法去求解。第1页/共82页即在系统发展的不同时刻(或阶段)根据系统所处的状态,不断地做出决策;每个阶段都要进行决策,目的是使整个过程的决策 达到最优效果。动态决策问题的特点:系统所处的状态和时刻是进行决策的重要因素;找到不同时刻的最优决策以及整个过程的最优策略。多阶段决策问题:在多阶段决策过程
2、中,系统的动态过程可以按照时间进程分为状态相互联系而又相互区别的各个阶段;第2页/共82页多阶段决策问题的典型例子:1.生产决策问题:企业在生产过程中,由于需求是随时间变化的,因此企业为了获得全年的最佳生产效益,就要在整个生产过程中逐月或逐季度地根据库存和需求决定生产计划。2.机器负荷分配问题:某种机器可以在高低两种不同的负荷下进行生产。在高负荷下进行生产时,产品的年产量g和投入生产的机器数量u1的关系为g=g(u1)12n状态决策状态决策状态状态决策第3页/共82页 这时,机器的年完好率为a,即如果年初完好机器的数量为u,到年终完好的机器就为au,0a1。在低负荷下生产时,产品的年产量h和投
3、入生产的机器数量u2的关系为 h=h(u2)假定开始生产时完好的机器数量为s1。要求制定一个五年计划,在每年开始时,决定如何重新分配完好的机器在两种不同的负荷下生产的数量,使在五年内产品的总产量达到最高。相应的机器年完好率b,0 b1。第4页/共82页 3.航天飞机飞行控制问题:由于航天飞机的运动的环境是不断变化的,因此就要根据航天飞机飞行在不同环境中的情况,不断地决定航天飞机的飞行方向和速度(状态),使之能最省燃料和实现目的(如软着落问题)。4.不包含时间因素的线性规划、非线性规划等静态决策问题(本质上是一次决策问题)也可以适当地引入阶段的概念,作为多阶段的决策问题用动态规划方法来解决。第5
4、页/共82页 5.最短路问题:给定一个交通网络图如下,其中两点之间的数字表示距离(或花费),试求从A点到G点的最短距离(总费用最小)。123456AB1B2C1C2C3C4D1D2D3E1E2E3F1F2G531368763685338422213335256643第6页/共82页(一)、基本概念1、阶段:把一个问题的过程,恰当地分为若干个相互联系的阶段,以便于按一定的次序去求解。描述阶段的变量称为阶段变量(k)。k=1,2,3,,n阶段的划分,一般是根据时间和空间的自然特征来进行的,但要便于问题转化为多阶段决策。2、状态:表示每个阶段开始所处的自然状况或客观条件。通常一个阶段有若干个状态,描
5、述过程状态的变量称为状态变量sk(表示第k阶段的状态变量)。年、月、路段一个数、一组数、一个向量状态变量的取值有一定的允许集合或范围,此集合称为状态允许集合SK=s1,s2,sk,。一、动态规划的基本思想一、动态规划的基本思想第7页/共82页3、决策:表示当过程处于某一阶段的某个状态时,可以作出不同的决定,从而确定下一阶段的状态,这种决定称为决策。描述决策的变量,称为决策变量。常用uk(sk)表示第k阶段当状态为sk时的决策变量。决策变量是状态变量的函数。可用一个数、一组数或一向量(多维情形)来描述。在实际问题中决策变量的取值往往在某一范围之内,此范围称为允许决策集合。常用Dk(sk)表示第k
6、阶段从状态sk出发的允许决策集合,显然uk(sk)Dk(sk)。第8页/共82页4、多阶段决策过程 可以在各个阶段进行决策,去控制过程发展的多段过程;其发展是通过一系列的状态转移来实现的;系统在某一阶段的状态转移不但与系统的当前的状态和决策有关,而且还与系统过去的历史状态和决策有关。第9页/共82页图示如下:状态转移方程是确定过程由一个状态到另一个状态的演变过程。如果第k阶段状态变量sk的值、该阶段的决策变量一经确定,第k+1阶段状态变量sk+1的值也就确定。其状态转移方程如下(一般形式)12ks1u1s2u2s3skuksk+1 能用动态规划方法求解的多阶段决策过程是一类特殊的多阶段决策过程
7、,即具有无后效性的多阶段决策过程。第10页/共82页 如果状态变量不能满足无后效性的要求,应适当地改变状态的定义或规定方法。动态规划中能处理的状态转移方程的形式。状态具有无后效性的多阶段决策过程的状态转移方程如下无后效性(马尔可夫性)如果某阶段状态给定后,则在这个阶段以后过程的发展不受这个阶段以前各段状态的影响;过程的过去历史只能通过当前的状态去影响它未来的发展;构造动态规划模型时,要充分注意是否满足无后效性的要求;状态变量要满足无后效性的要求;第11页/共82页 5、策略:相互连接的决策序列称为一个策略。从第k阶段开始到第n阶段结束称为一个子策略。Pk,n ,全策略 P1,n .所有策略当中
8、有最优值的策略称为最优策略。6、状态转移方程:是确定过程由一个状态到另一个状态的演变过程,描述了状态转移规律。第12页/共82页 7、指标函数和最优值函数:用来衡量所实现过程优劣的一种数量指标,为指标函数。阶段指标函数:Vk(sk,uk)表示第 k 阶段位于sk 状态、决策为 uk 的指标值。策略指标函数:各决策序列指标值之和。(个别情况为乘积)指标函数的最优值,称为最优值函数。在不同的问题中,指标函数的含义是不同的,它可能是距离、利润、成本、产量或资源消耗等。动态规划模型的指标函数,应具有可分离性,并满足递推关系。第13页/共82页小结:方程:状态转移方程概念:阶段变量k状态变量sk决策变量
9、uk;指标:动态规划本质上是多阶段决策过程;效益指标函数形式:和、积无后效性可递推第14页/共82页解多阶段决策过程问题,求出 最优策略,即最优决策序列f1(s1)最优轨线,即执行最优策略时的状态序列 最优目标函数值从 k 到终点最优策略子策略的最优目标函数值第15页/共82页1、动态规划方法的关键在于正确地写出基本的递推关系式和恰当的边界条件(简称基本方程)。要做到这一点,就必须将问题的过程分成几个相互联系的阶段,恰当的选取状态变量和决策变量及定义最优值函数,从而把一个大问题转化成一组同类型的子问题,然后逐个求解。即从边界条件开始,逐段递推寻优,在每一个子问题的求解中,均利用了它前面的子问题
10、的最优化结果,依次进行,最后一个子问题所得的最优解,就是整个问题的最优解。(二)、动态规划的基本思想(二)、动态规划的基本思想第16页/共82页2、在多阶段决策过程中,动态规划方法是既把当前一段和未来一段分开,又把当前效益和未来效益结合起来考虑的一种最优化方法。因此,每段决策的选取是从全局来考虑的,与该段的最优选择答案一般是不同的.最优化原理:作为整个过程的最优策略具有这样的性质:无论过去的状态和决策如何,相对于前面的决策所形成的状态而言,余下的决策序列必然构成最优子策略。”也就是说,一个最优策略的子策略也是最优的。3、在求整个问题的最优策略时,由于初始状态是已知的,而每段的决策都是该段状态的
11、函数,故最优策略所经过的各段状态便可逐段变换得到,从而确定了最优路线。第17页/共82页(三)、建立动态规划模型的步骤 1、划分阶段k划分阶段是运用动态规划求解多阶段决策问题的第一步,在确定多阶段特性后,按时间或空间先后顺序,将过程划分为若干相互联系的阶段。对于静态问题要人为地赋予“时间”概念,以便划分阶段。2、正确选择状态变量sk选择变量既要能确切描述过程演变又要满足无后效性,而且各阶段状态变量的取值能够确定。一般地,状态变量的选择是从过程演变的特点中寻找。3、确定决策变量uk(sk)及允许决策集合Dk(sk)通常选择所求解问题的关键变量作为决策变量,同时要给出决策变量的取值范围,即确定允许
12、决策集合。第18页/共82页 4、确定状态转移方程根据k 阶段状态变量和决策变量,写出k+1阶段状态变量,状态转移方程应当具有递推关系。sk+1=Tk (sk,uk)Tk 函数关系 5、确定阶段指标函数和最优指标函数,建立动态规划基本方程 阶段指标函数是指第k 阶段的收益,最优指标函数是指从第k 阶段状态出发到第n 阶段末所获得收益的最优值,最后写出动态规划基本方程。fk(sk)=OptVk(sk,uk)+fk+1(sk+1)fn+1(sn+1)=0Opt最优化(max,min)第19页/共82页 以上五步是建立动态规划数学模型的一般步骤。由于动态规划模型与线性规划模型不同,动态规划模型没有统
13、一的模式,建模时必须根据具体问题具体分析,只有通过不断实践总结,才能较好掌握建模方法与技巧。f1(s1)是整个问题的最优策略,最优值。fk(sk)表示从第k阶段(状态sk)到终点的最优指标值。(距离、利润、成本等)第20页/共82页例一、从A地到D地要铺设一条煤气管道,其中需经过两级中间站,两点之间的连线上的数字表示距离,如图所示。问应该选择什么路线,使总距离最短?AB1B2C1C2C3D24333321114二、最短路径问题二、最短路径问题第21页/共82页解:整个计算过程分三个阶段,从最后一个阶段开始。第三阶段(C D):C 有三条路线到终点D。AB1B2C1C2C3D2433332111
14、4DC1C2C3显然有f3(C1)=1;f3(C2)=3;f3(C3)=4第22页/共82页 d(B1,C1)+f3(C1)3+1 f2(B1)=mind(B1,C2)+f3(C2)=min3+3d(B1,C3)+f3(C3)1+44=min6=45第二阶段(B C):B 到C 有六条路线。AB1B2C1C2C3D24333321114DC1C2C3B1B2(最短路线为B1C1D)第23页/共82页 d(B2,C1)+f3(C1)2+1 f2(B2)=mind(B2,C2)+f3(C2)=min3+3d(B2,C3)+f3(C3)1+43=min6=35AB1B2C1C2C3D24333321
15、114DC1C2C3B1B2(最短路线为B2C1D)第24页/共82页第一阶段(A B):A 到B 有二条路线。f1(A)1=d(A,B1)f2(B1)246f1(A)2=d(A,B2)f2(B2)437f1(A)=min=min6,7=6d(A,B1)f2(B1)d(A,B2)f2(B2)(最短路线为AB1C1D)AB1B2C1C2C3D24333321114DC1C2C3B1B2A第25页/共82页AB1B2C1C2C3D24333321114DC1C2C3B1B2A最短路线为AB1C1D路长为6第26页/共82页三、非线性规划问题三、非线性规划问题【例例7-47-4】用动态规划方法解下列
16、非线性规划问题用动态规划方法解下列非线性规划问题第27页/共82页解解:解解决决这这一一类类静静态态规规划划问问题题,需需要要人人为为地地赋赋予予时时间间概概念念,从从而而将将该该问问题题转转化化为为多多阶阶段决策过程。段决策过程。按问题的变量个数划分阶段,把它看作一个三阶段决策问题,按问题的变量个数划分阶段,把它看作一个三阶段决策问题,k=1k=1,2 2,3 3设状态变量为设状态变量为s s1 1,s s2 2,s s3 3,s s4 4并记并记s s1 1cc取问题中的变量取问题中的变量x x1 1,x x2 2,x x3 3为决策变量为决策变量第28页/共82页状态转移方程为:状态转移
17、方程为:s3=x3s3+x2=s2s2+x1=s1c允许决策集合为:允许决策集合为:x3=s30 x2s20 x1s1各阶段指标函数为:各阶段指标函数为:v1(x1)=x1v2(x2)=x22v3(x3)=x3,各指标函数以乘积方式结合,最优指标函数各指标函数以乘积方式结合,最优指标函数fk(sk)表示从第表示从第k k阶段初始状态阶段初始状态sk出发到第出发到第3 3阶段阶段所得到的最大值,则动态规划基本方程为:所得到的最大值,则动态规划基本方程为:第29页/共82页用逆序解法由后向前依次求解:用逆序解法由后向前依次求解:k=3k=3时时,x3*=s3 k=2 k=2时时,第30页/共82页
18、令h2(s2,x2)=x22(s2x2)用用经典解析法经典解析法求极值点:求极值点:解得:解得:x2=0(舍)(舍)所以所以是极大值点。是极大值点。第31页/共82页k=1时,令解得:x1=s1(舍)所以所以 是极大值点。是极大值点。第32页/共82页由于由于s1未知,所以对未知,所以对s1再求极值,再求极值,显然显然s s1 1=c c时,时,f f1 1(s s1 1)取得最大值取得最大值 反向追踪得各阶段最优决策及最优值:反向追踪得各阶段最优决策及最优值:s1=c所以最优解为:所以最优解为:第33页/共82页一一般般地地,如如果果阶阶段段指指标标函函数数vk(sk,uk)是是线线性性函函
19、数数或或凸凸函函数数时时,最最优优指指标标函函数数fk(sk)的的表表达达式式比比较较容容易易得得到到,但但是是当当vk(sk,uk)不不具具备备上上述述特特性性时时,最最优优指指标标函函数数fk(sk)的的表表达达式式不不易易得得到到,就就需需要要采采用用数数值值法法,即即对对连连续续变变量量进进行行离离散散化化处处理理,再再分散求解。分散求解。例如静态规划模型其动态规划基本方程为:其动态规划基本方程为:状态转移方程为状态转移方程为sk+1=skxks1=a第34页/共82页状状态态变变量量sk及及决决策策变变量量xk都都是是连连续续变变量量,对对其其进进行行离离散化处理,具体做法是:散化处
20、理,具体做法是:1.1.对区间对区间00,aa进行分割,分割数进行分割,分割数m=m=,其中,其中是是分割后的小区间的长度,其大小可以根据所求解问分割后的小区间的长度,其大小可以根据所求解问题要求的精度及计算机运算能力而定,分割点为题要求的精度及计算机运算能力而定,分割点为0 0,22,m=am=a。2.2.规定状态变量规定状态变量sk及决策变量及决策变量xk仅在离散点仅在离散点0 0,22,mm处取值,最优指标函数处取值,最优指标函数fk(sk)也定也定义在这些离散点上。动态规划基本方程可以写为:义在这些离散点上。动态规划基本方程可以写为:其中其中s sk k=q q,x xk k=p p。
21、3.3.由后向前逐段递推,直至求出整个过程最优解。由后向前逐段递推,直至求出整个过程最优解。第35页/共82页【例7-5】解解 按按变变量量个个数数将将原原问问题题分分为为三三个个阶阶段段,阶阶段段变变量量k=1,2,3;选择选择xk为决策变量;为决策变量;状态变量状态变量sk表示第表示第k阶段至第阶段至第3阶段决策变量之和;阶段决策变量之和;取小区间长度取小区间长度=1=1,小区间数目,小区间数目m=6/1=6m=6/1=6,状态,状态变量变量sk的取值点为:的取值点为:状态转移方程:状态转移方程:sk+1=skxk;允许决策集合:允许决策集合:Dk(sk)=xk|0 xkskk=1,2,3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 设计 分析 动态 规划 实例 讲解
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内