1、动态规划动态规划引 言动态规划是解决动态规划是解决多阶段决策过程多阶段决策过程最优化的一种方法。最优化的一种方法。该方法是由美国数学家该方法是由美国数学家贝尔曼贝尔曼(R.E.Bellman)等人在)等人在20世世纪纪50年代初提出的。并成功地解决了生产管理、工程技术等方年代初提出的。并成功地解决了生产管理、工程技术等方面的许多问题,从而建立了运筹学的一个新的分支,即动态规面的许多问题,从而建立了运筹学的一个新的分支,即动态规划。划。Bellman在在1957年出版了年出版了Dynamic Programming一一书,是动态规划领域中的第一本著作。书,是动态规划领域中的第一本著作。动态规划与
2、其他规划方法的不同之处在于:动态规划与其他规划方法的不同之处在于:动态规划是求解某类问题(动态规划是求解某类问题(多阶段决策问题多阶段决策问题)的一种方法,)的一种方法,是考察问题的一种途径,而不是一种特定算法。是考察问题的一种途径,而不是一种特定算法。因此,它不像线性规划那样有一个标准的数学表达式和明确因此,它不像线性规划那样有一个标准的数学表达式和明确定义的一组(算法)规则,而必须对具体问题进行具体分析处定义的一组(算法)规则,而必须对具体问题进行具体分析处理。因此,学习动态规划时,除对基本概念和基本方法正确理解理。因此,学习动态规划时,除对基本概念和基本方法正确理解外,还应在一定经验积累
3、基础上,以丰富的想像力去建立模型,外,还应在一定经验积累基础上,以丰富的想像力去建立模型,用创造性的技巧去求解。用创造性的技巧去求解。提提 纲纲动态规划实例动态规划的基本概念动态规划的基本思想与基本原理逆序解法与顺序解法学习目标:学习目标:1 明确什么是明确什么是多阶段的决策问题多阶段的决策问题,特别要注意没有明显,特别要注意没有明显 的时段背景的问题如何化归为多阶段的决策问题。的时段背景的问题如何化归为多阶段的决策问题。1 动态规划实例动态规划实例 例例 机器负荷分配问题(时间阶段问题)机器负荷分配问题(时间阶段问题)设有某种机器设备,用于完成两类工作设有某种机器设备,用于完成两类工作A和和
4、B。若。若第第k年初完好年初完好机器的数量为机器的数量为 sk,若以数量,若以数量 xk 用于用于A,余下的(,余下的(skxk)用于)用于工作工作B,则该年的预期收入为,则该年的预期收入为 g(xk)+h(skxk)。这里。这里g(xk)和和 h(skxk)是已知函数,且是已知函数,且 g(0)=h(0)=0。又机器设备在使用中会有损坏,设机器用于工作又机器设备在使用中会有损坏,设机器用于工作A时,一年后时,一年后能继续使用的完好机器数占年初投入量的能继续使用的完好机器数占年初投入量的70%;若用于工作;若用于工作B时,一年后能继续使用的完好机器数占年初投入量的时,一年后能继续使用的完好机器
5、数占年初投入量的90%。则在。则在下一年初下一年初能继续用于能继续用于A、B工作的设备数为工作的设备数为 sk+1=0.7xk+0.9(skxk)。设第设第1年初完好的机器总数为年初完好的机器总数为1000台,问在连续台,问在连续5年内每年应如年内每年应如何分配用于何分配用于A、B两项工作的机器数,使两项工作的机器数,使5年的总收益为最大。年的总收益为最大。1 动态规划实例动态规划实例相应的问题称为相应的问题称为多阶段决策问题多阶段决策问题。这是一个这是一个多阶段决策过程多阶段决策过程。该过程可以分为相互联系的若干阶段,每一阶段都需作出决该过程可以分为相互联系的若干阶段,每一阶段都需作出决 策
6、,从而形成全过程的决策。策,从而形成全过程的决策。第第1年年s1=1000 x1第第2年年s2=0.7x1+0.9(s1-x1)x2第第3年年s3=0.7x2+0.9(s2-x2)x3第第4年年x4第第5年年s5=0.7x4+0.9(s4-x4)x5s4=0.7x3+0.9(s3-x3)s6 例例 最短路线问题(空间阶段的例子)最短路线问题(空间阶段的例子)设有一个旅行者从下图中的设有一个旅行者从下图中的A点出发,途中要经过点出发,途中要经过B、C、D等等处,最后到达终点处,最后到达终点E。从从A到到E有很多条路线可以选择有很多条路线可以选择,各点之间的距,各点之间的距离如图所示,问该旅行者应
7、选择哪一条路线,使从离如图所示,问该旅行者应选择哪一条路线,使从A到达到达E的总的路程的总的路程为最短。为最短。25375632455114633334C1C3D1AB1B3B2D2EC21234状态状态1决策决策1状态状态2状态状态3状态状态4状态状态5决策决策2决策决策3决策决策4可看成可看成 4阶段阶段 的决策的决策 问题。问题。从以上两个例子,可以知道从以上两个例子,可以知道 所谓所谓多阶段多阶段决策问题决策问题是指这样的决策问题:其过程可分为若是指这样的决策问题:其过程可分为若干个相互联系的阶段,每一阶段都对应着一组可供选择的决策,干个相互联系的阶段,每一阶段都对应着一组可供选择的决
8、策,每一决策的选定既依赖于当前面临的状态,又影响以后总体的效每一决策的选定既依赖于当前面临的状态,又影响以后总体的效果。果。当每一阶段的决策选定以后,就构成一个决策序列,称为一当每一阶段的决策选定以后,就构成一个决策序列,称为一个个策略策略,它对应着一个确定的效果。它对应着一个确定的效果。多阶段决策问题就是寻找使多阶段决策问题就是寻找使此效果最好的策略。此效果最好的策略。多阶段决策过程的特点多阶段决策过程的特点1.各阶段的决策相互关联各阶段的决策相互关联多阶段决策过程最优化的目的多阶段决策过程最优化的目的,是要达到整个活动过程的总体,是要达到整个活动过程的总体效果最优,而不是某个阶段效果最优,
9、而不是某个阶段“局部局部”的效果最优。因此,的效果最优。因此,各个阶各个阶段段决策的选取不是任意确定的决策的选取不是任意确定的。前一个决策的选取决定了当前状态,当前状态进行决策后又影前一个决策的选取决定了当前状态,当前状态进行决策后又影响到下一阶段的状态和决策,以至于影响总体效果。所以决策者响到下一阶段的状态和决策,以至于影响总体效果。所以决策者在每个阶段决策时,不应仅考虑本阶段最优,还应考虑对最终目在每个阶段决策时,不应仅考虑本阶段最优,还应考虑对最终目标的影响,从而做出对全局而言是最优的决策。标的影响,从而做出对全局而言是最优的决策。动态规划就是符合这一要求的一种最优化方法。动态规划就是符
10、合这一要求的一种最优化方法。2.各个阶段的决策一般与各个阶段的决策一般与“时间时间”有关有关动态规划方法与动态规划方法与“时间时间”关系很密切,随着时间过程的发展而关系很密切,随着时间过程的发展而决决定各阶段的决策,从而产生一个决策序列,这就是定各阶段的决策,从而产生一个决策序列,这就是“动态动态”的意的意思。思。但是,一些与时间无关的静态问题,只要在问题中但是,一些与时间无关的静态问题,只要在问题中人为引人为引入入“时间时间”因素因素,也可将其看成是多阶段的决策问题,用动态规,也可将其看成是多阶段的决策问题,用动态规划划方法去处理。方法去处理。学习目标:学习目标:1 准确、熟练地掌握动态规划
11、的基本概念、特别是状态准确、熟练地掌握动态规划的基本概念、特别是状态 变量、决策变量、状态转移律、指标函数、基本方程变量、决策变量、状态转移律、指标函数、基本方程 等。等。2 动态规划的基本概念动态规划的基本概念为了便于求解和表示决策及过程的发展顺序,而把所给问题恰为了便于求解和表示决策及过程的发展顺序,而把所给问题恰当地划分为若干个相互联系又有区别的子问题,称之为多段决策当地划分为若干个相互联系又有区别的子问题,称之为多段决策问题的问题的阶段阶段。一个阶段,就是需要作出一个决策的子问题一个阶段,就是需要作出一个决策的子问题。通常,通常,阶段是按决策进行的阶段是按决策进行的时间或空间时间或空间
12、上先后顺序划分的上先后顺序划分的。描述阶段的变量称为描述阶段的变量称为阶段变量阶段变量,常记为,常记为k,k=1,2,n。如本例可按空间分为如本例可按空间分为4个个 阶段来求解,阶段来求解,k=1,2,3,4。(1)阶段()阶段(stage)状态状态:每阶段初每阶段初的客观条件。描述各阶段状态的变量称为的客观条件。描述各阶段状态的变量称为状态状态变量变量,常用,常用sk表示第表示第k阶段的状态。阶段的状态。(2)状态()状态(state)例例1中,中,状态状态就是某就是某阶段的出发位置。阶段的出发位置。s1s2s3s4s5按状态变量的取值是连续还是离散,可将动态规划问题分为按状态变量的取值是连
13、续还是离散,可将动态规划问题分为离离 散型散型和和连续型连续型。状态集合状态集合:状态变量:状态变量 sk 的取值集合称为的取值集合称为状态集合状态集合,状态集合状态集合实际上是关于状态的约束条件。实际上是关于状态的约束条件。通常用通常用Sk表示状态集合表示状态集合,sk Sk。第第1阶段阶段 S1=A;第第2阶段具有阶段具有3个状个状态态B1、B2和和B3,故,故 S2=B1,B2,B3。s1s2s3s4s5(3)决策()决策(decision)当过程处于某一阶段的某状态时,可以做出不同的决定,从而当过程处于某一阶段的某状态时,可以做出不同的决定,从而确定下一阶段的状态确定下一阶段的状态,这
14、种决定称为,这种决定称为决策决策。描述决策的变量称为描述决策的变量称为决策变量决策变量,常用,常用xk(sk)表示第表示第k阶段当状阶段当状态处于态处于sk时的时的决策变量,它是状态变量的函数。决策变量,它是状态变量的函数。例例1中,从第中,从第2阶段的阶段的状态状态B1出发,可以选择出发,可以选择下一阶段的下一阶段的C1、C2、C3。如我们决定选择如我们决定选择C1,则可表示为:则可表示为:x2(B1)=C1。B1C1C2C3s2决策集合决策集合:第第k阶段当状态处于阶段当状态处于sk时决策变量时决策变量xk(sk)的取值范的取值范称为称为决策集合决策集合,常用,常用Dk(xk)表示。表示。
15、例例1中,从第中,从第2阶段的阶段的状态状态B1出发,可以选择出发,可以选择下一阶段的下一阶段的C1、C2、C3。即即 D2(B1)=C1、C2、C3;B1C1C2C3决策集合实际上是决策的约束条件,决策集合实际上是决策的约束条件,xk(xk)Dk(xk)。小结小结 阶段阶段 k、状态状态 sk、状态集合状态集合 Sk、决策决策 xk(sk)、决策集合决策集合 Dk(xk)。s1s2s3s4s5(4)状态转移律(方程)状态转移律(方程)状态转移律状态转移律:从:从sk的某一状态值出发,当决策变量的某一状态值出发,当决策变量xk(sk)的的取值决定后,下一阶段状态变量取值决定后,下一阶段状态变量
16、sk+1的取值也随之确定。描述的取值也随之确定。描述从从 sk 转变为转变为 sk+1 的规律称为的规律称为状态转移规律(方程)状态转移规律(方程)。从第从第2阶段的状态阶段的状态B1出发,如我们决出发,如我们决定选择定选择C2(也即确(也即确定了下一阶段的状定了下一阶段的状态)。态)。B1C2B1C2上例中,上例中,x2(B1)=C2状态转移律为:状态转移律为:sk+1=xk(sk)一般来说,下一阶段状态变量一般来说,下一阶段状态变量sk+1的取值是上阶段的某一状态的取值是上阶段的某一状态变量变量sk和上阶段决策变量和上阶段决策变量xk(sk)的函数,记为的函数,记为 sk+1=Tk(sk,
17、xk(sk)12ns1x1s2x2s3snxnsn+1(5)策略()策略(policy)和子策略()和子策略(subpolicy)策略策略:由依次进行的由依次进行的n个阶段决策构成的个阶段决策构成的决策序列决策序列就构成一个就构成一个 策略策略,用,用 p1n x1(s1),x2(s2),xn(sn)表示。表示。25375632455114633334C1C3D1AB1B3B2D2EC2本例中,如本例中,如p14 x1(A)=B1,x2(B1)=C2,x3(C2)=D1,x4(D1)=E 表示其中一个表示其中一个策略,其总距离为策略,其总距离为2+5+6+3=16。策略集合:策略集合:在实际问
18、题中,由于在各个阶段可供选择的决策有在实际问题中,由于在各个阶段可供选择的决策有许多个,因此,它们的不同组合就构成了许多可供选择的决策序许多个,因此,它们的不同组合就构成了许多可供选择的决策序列(策略),由它们组成的集合,称为列(策略),由它们组成的集合,称为策略集合策略集合,记作,记作 P1n。从策略集合中,找出具有最优效果的策略称为从策略集合中,找出具有最优效果的策略称为最优策略最优策略。子策略:子策略:从从k阶段到第阶段到第n阶段,依次进行的阶段决策构成的阶段,依次进行的阶段决策构成的决策序列称为决策序列称为k部子策略,表示为部子策略,表示为 pkn=xk(sk),xk+1(sk+1),
19、xn(sn)如从第如从第3阶段的阶段的C2状态开始的一个子策状态开始的一个子策略可表示:略可表示:p34=x3(C2)=D1,x4(D1)=E C2(6)指标函数)指标函数用来衡量策略或子策略或决策的效果的某种用来衡量策略或子策略或决策的效果的某种数量指标数量指标,就称,就称为为指标函数指标函数。它是定义在全过程或各子过程或各阶段上的确定数量函数。它是定义在全过程或各子过程或各阶段上的确定数量函数。对不同问题,指标函数可以是诸如费用、成本、产值、利润、对不同问题,指标函数可以是诸如费用、成本、产值、利润、产量、耗量、距离、时间、效用,等等。产量、耗量、距离、时间、效用,等等。阶段阶段指标函数指
20、标函数过程过程指标函数指标函数阶段指标函数阶段指标函数:是指第:是指第 k 阶段从状态阶段从状态 sk 出发,采取决策出发,采取决策 xk 时产生的效益,用时产生的效益,用 vk(sk,xk)表示。表示。例例1中,指标函数是中,指标函数是距离距离。如如 v2(B1,C2)表示表示由由B1 出发,采用决策出发,采用决策到到C2 点的两点间距点的两点间距离,即离,即 v2(B1,C2)=5。B1C2过程指标函数过程指标函数:是指从第:是指从第 k 阶段的某状态阶段的某状态 sk 出发,采取子策出发,采取子策略略 pkn 时所得到的时所得到的效益效益,记作,记作 Vkn(sk,xk,sk+1,xk+
21、1,sn)例例1中,如中,如V34(C2,x3(C2)=D1,D1,x4(D1)=E,E)=6+3=9C2过程指标函数Vkn由各阶段的阶段指标函数vk(sk,xk)累积形成的。(1)可分性:适于用动态规划求解的问题的过程指标函数(即目标函数),必须具有关于阶段指标的可分离形式,即对于后部子过程的指标函数可以表示为:Vkn(sk,xk,sk+1,xk+1,sn)=vk(sk,xk)vk+1(sk+1,xk+1)vn(sn,xn)式中,表示某种运算,可以是加、减、乘、除、开方等。多阶段决策问题中,常见的目标函数形式之一是取各阶段效应之和的形式,即:有些问题,如系统可靠性问题,其目标函数是取各阶段效
22、应的 连乘积形式,如:总之,具体问题的目标函数表达形式需要视具体问题而定。Vkn=vi(si,xi)i=knVkn=vi(xi,ui)i=kn(2)可递推:过程指标函数Vkn要满足递推关系,即可递推可递推Vkn(sk,xk,sk+1,xk+1,sn)k xk,sk,V(k+1)n(sk+1,xk+1,sn)vk(sk,xk)vk+1(sk+1,xk+1)vn(sn,xn)vk(sk,xk)V(k+1)n(sk+1,xk+1,sn)最优指标函数最优指标函数:表示从第表示从第 k 阶段状态为阶段状态为 sk 时采用时采用最优策略最优策略 pkn*到过程终止时的最佳效益值。记为到过程终止时的最佳效益
23、值。记为 fk(sk)。fk(sk)=Vkn(sk,pkn*)=opt Vkn(sk,pkn)例例1中,如中,如 f3(C2)=3+4=7。其中其中 opt 可根据具体情况取可根据具体情况取max 或或min。C2动态规划的目标?动态规划的目标?最优解:最优解:最优策略最优策略 p1n最优值:最优值:最优指标最优指标 f1(A)4.动态规划的基本方程 动态规划的关键在于给出一种递推关系。一般把这种递推关系称为动态规划的基本方程。对于求最小的加法的基本方程为(如例1):fk(sk)=min vk(sk,xk)+fk+1(sk+1)fn+1(sn+1)=0边界条件边界条件xkDk用函数基本方程逆推
24、求解是常用的方法:用函数基本方程逆推求解是常用的方法:首先要有效地首先要有效地建立动态规划模型建立动态规划模型,然后,然后再再递推求解递推求解,最后,最后得出结论得出结论。正确地建立一个动态规划模型,是解决正确地建立一个动态规划模型,是解决问题的关键。问题的关键。多阶段决策问题的数学模型 综上所述,适于应用动态规划方法求解的一类多阶段决策问题的数学模型呈以下形式:f1=opt V1n(s1,p1n)最优指标函数 sk+1=Tk(sk,xk(xk)状态转移方程 xkDk 决策变量 skSk 状态变量 k=1,2,n 阶段变量st.小结小结:概念概念 :阶段变量阶段变量k状态变量状态变量sk决策变
25、量决策变量xk;动态规划本质上是多阶段决策过程动态规划本质上是多阶段决策过程;效益效益指标函数形式指标函数形式:和、积和、积无后效性无后效性可递推可递推方程方程 :状态转移方程状态转移方程sk+1=Tk(sk,xk(xk)指标指标 :Vkn(sk,xk,sk+1,xk+1,sn)fk(sk)=Vkn(sk,pkn*)=opt Vkn(sk,pkn)Vkn(sk,xk,sk+1,xk+1,sn)k sk,xk,V(k+1)n(sk+1,xk+1,sn)解多阶段决策过程问题,求出解多阶段决策过程问题,求出 最优策略最优策略,即最优,即最优决策序列决策序列 最优轨线最优轨线,即执行最优策略时的即执行
26、最优策略时的状态序列状态序列 x1*,x2*,xn*s1*,s2*,sn*最优目标函数值最优目标函数值p1nP1nf1(s1)=V1n(s1,p1n*)=opt V1n(s1,p1n)1.划分阶段划分阶段2.正确选择状态变量正确选择状态变量 3.确定决策变量及确定决策变量及允许决策集合允许决策集合4.确定状态转移方程确定状态转移方程 5.确定阶段指标函确定阶段指标函数和最优指标函数和最优指标函数,建立动态规划数,建立动态规划基本方程基本方程划分阶段是运用动态规划求解多阶段决策问题的第一划分阶段是运用动态规划求解多阶段决策问题的第一步,在确定多阶段特性后,按时间或空间先后顺序,步,在确定多阶段特
27、性后,按时间或空间先后顺序,将过程划分为若干相互联系的阶段。对于静态问题要将过程划分为若干相互联系的阶段。对于静态问题要人为地赋予人为地赋予“时间时间”概念,以便划分阶段。概念,以便划分阶段。建立动态规划模型的步骤建立动态规划模型的步骤 选择状态变量既要能确切描述过程演变又要满足无后选择状态变量既要能确切描述过程演变又要满足无后效性,而且各阶段状态变量的取值能够确定。效性,而且各阶段状态变量的取值能够确定。通常选择所求解问题的关键变量作为决策变量,同时通常选择所求解问题的关键变量作为决策变量,同时要给出决策变量的取值范围,即确定允许决策集合。要给出决策变量的取值范围,即确定允许决策集合。根据根
28、据k 阶段状态变量和决策变量,写出阶段状态变量和决策变量,写出k+1阶段状态阶段状态变量,状态转移方程应当具有递推关系。变量,状态转移方程应当具有递推关系。阶段指标函数是指第阶段指标函数是指第k 阶段的收益,最优指标函数是阶段的收益,最优指标函数是指从第指从第k 阶段状态出发到第阶段状态出发到第n 阶段末所获得收益的最阶段末所获得收益的最优值,最后写出动态规划基本方程。优值,最后写出动态规划基本方程。以上五步是建立动态规划数学模型的一般步骤。以上五步是建立动态规划数学模型的一般步骤。由于动态规划模型与线性规划模型不同,动态规划模由于动态规划模型与线性规划模型不同,动态规划模型没有统一的模式,建
29、模时必须根据具体问题具体分型没有统一的模式,建模时必须根据具体问题具体分析,只有通过不断实践总结,才能较好掌握建模方法析,只有通过不断实践总结,才能较好掌握建模方法与技巧。与技巧。下面我们看一个具体的例子下面我们看一个具体的例子 例例2 机器负荷分配问题(时间阶段问题)机器负荷分配问题(时间阶段问题)例例 机器负荷分配问题(时间阶段问题)机器负荷分配问题(时间阶段问题)设有某种机器设备,用于完成两类工作设有某种机器设备,用于完成两类工作A和和B。若。若第第k年初完好年初完好机器的数量为机器的数量为 sk,若以数量,若以数量 xk 用于用于A,余下的(,余下的(skxk)用于)用于工作工作B,则
30、该年的预期收入为,则该年的预期收入为 g(xk)+h(skxk)。这里。这里g(xk)和和 h(skxk)是已知函数,且是已知函数,且 g(0)=h(0)=0。又机器设备在使用中会有损坏,设机器用于工作又机器设备在使用中会有损坏,设机器用于工作A时,一年后时,一年后能继续使用的完好机器数占年初投入量的能继续使用的完好机器数占年初投入量的70%;若用于工作;若用于工作B时,一年后能继续使用的完好机器数占年初投入量的时,一年后能继续使用的完好机器数占年初投入量的90%。则在。则在下一年初下一年初能继续用于能继续用于A、B工作的设备数为工作的设备数为 sk+1=0.7xk+0.9(skxk)。设第设
31、第1年初完好的机器总数为年初完好的机器总数为1000台,问在连续台,问在连续5年内每年应如年内每年应如何分配用于何分配用于A、B两项工作的机器数,使两项工作的机器数,使5年的总收益为最大。年的总收益为最大。1 动态规划实例动态规划实例1.划分阶段划分阶段按年度来划分阶段,按年度来划分阶段,k=1,2,3,4,52.正确选择状态变量正确选择状态变量状态变量状态变量sk为第为第k年度初拥有的完好机器数量年度初拥有的完好机器数量 3.确定决策变量及允许决策集合确定决策变量及允许决策集合决策变量决策变量xk为第为第k年度中分配于年度中分配于A工作的机器数量,则工作的机器数量,则skxk为为用于用于B工
32、作的机器数量。工作的机器数量。第第k阶段阶段决策集合决策集合Dk(sk)=xk|0 xksk 这里这里sk和和xk均取连续变量,它们的非整数值可以这样理均取连续变量,它们的非整数值可以这样理解,如解,如sk=0.6,就表示一台机器在第,就表示一台机器在第k年度中正常工作时间只年度中正常工作时间只占占6/10;xk=0.3,就表示一台机器在该年度只有,就表示一台机器在该年度只有3/10的时间能的时间能正常用于正常用于A工作。工作。4.确定状态转移方程确定状态转移方程状态转移方程为状态转移方程为 sk+1=0.7xk+0.9(skxk)5.确定阶段指标函数和最优指标函数,建立动态规划基本方程确定阶
33、段指标函数和最优指标函数,建立动态规划基本方程指标函数为指标函数为V1,5=vi(si,xi)i=15=g(xi)+h(sixi)i=15令最优指标函数令最优指标函数fk(sk)表示由资源量表示由资源量sk出发,从第出发,从第k年开始到年开始到第第5年结束时所取得的最大预期收入。因而有:年结束时所取得的最大预期收入。因而有:fk(sk)=max Vk,5=vi(si,xi)i=k5=8xi+5(sixi)i=k5=8xi+5(sixi)i=15学习目标:学习目标:1 掌握最优化原理的内容掌握最优化原理的内容2 掌握逆序解法掌握逆序解法3 动态规划的基本思想与基本原理动态规划的基本思想与基本原理
34、多阶段决策过程的最优化一般有三种思路求解1.全枚举法或穷举法:它的基本思想是列举出所有可能发生的方案和结果,再对它们一一进行比较,求出最优方案。可以计算:从A到E的路程可分为4个阶段。第一段走法有3种,第二段走法有3种,第三段走法有2种,第四段走法仅1种,共有 332118条可能的路线,分别算出各条路线的距离,最后进行比较,可知最优路线是AB3C2 D2E,最短距离是11。用穷举法求最优路线的计算工作量将会十分庞大,而 且其中包含着许多重复计 算。2.局部最优路径法:某人从k点出发,并不顾及全线是否最短,只是选择当前最短途径,“逢近便走”,错误地以为局部最优会致整体最优,在这种想法指导下,所取
35、决策必是AB1C2D2E,全程长度是14;显然,这种方法的结果常是错误的。小结:全枚举法虽可找出最优方案,但不是个好算法,局部最优法则完全是个错误方法,只有动态规划方法属较科学有效的算法作为一个全过程的最优策略具有这样的性质:作为一个全过程的最优策略具有这样的性质:对于最优策略对于最优策略过程中的任意状态而言,无论其过去的状态和决策如何,余下过程中的任意状态而言,无论其过去的状态和决策如何,余下的诸决策必构成一个最优子策略。的诸决策必构成一个最优子策略。(一个最优策略的子策略总一个最优策略的子策略总是最优的是最优的)3.贝尔曼最优化原理(动态规划方法)作该原理的具体解释是,若某一作该原理的具体
36、解释是,若某一全过程最优策略全过程最优策略为:为:p1n*(s1)=x1*(s1),xk*(sk),xk+1*(sk+1),xn*(sn)则对上述策略中所隐含的任一状态(则对上述策略中所隐含的任一状态(sk)而言,第)而言,第k子过程上子过程上对应于对应于 sk 的最优策略必然包含在上述全过程最优策略的最优策略必然包含在上述全过程最优策略p1n*中,中,即为即为 pkn*(sk)=xk*(sk),xk+1*(sk+1),xn*(sn)C1D1AB3D2EC2最优性原理在最短路线中的应用最优性原理在最短路线中的应用 在最短路线中,若找到了在最短路线中,若找到了AB3C2D2E是由是由A到到E的最
37、的最短路线,则短路线,则B3C2D2E必是由必是由B3出发到出发到E点的所有可能选择的点的所有可能选择的不同路线中的最短路线。(不同路线中的最短路线。(一个最优策略的子策略总是最优的一个最优策略的子策略总是最优的)5.标号法标号法(只适用于一类最优路线问题的特殊解法)(只适用于一类最优路线问题的特殊解法)标号法是借助网络图通过分段标号来求出最优路线的一种标号法是借助网络图通过分段标号来求出最优路线的一种简便、直观的方法。通常标号法采取简便、直观的方法。通常标号法采取“逆序求解逆序求解”的方法来寻找的方法来寻找问问题的最优解,即从最后阶段开始,逐次向阶段数小的方向推算,题的最优解,即从最后阶段开
38、始,逐次向阶段数小的方向推算,最终求得全局最优解。最终求得全局最优解。行进方向行进方向动态规划寻优途径动态规划寻优途径EA标号法的一般步骤:(1)给最后一段标号,该段各状态(即各始点)到给最后一段标号,该段各状态(即各始点)到终点的距离用数字分别标在各点上方的方格内,并用终点的距离用数字分别标在各点上方的方格内,并用粗箭线连接各点和终点。粗箭线连接各点和终点。(2)向前递推,给前一阶段的各个状态标号。向前递推,给前一阶段的各个状态标号。每个每个状态上方方格内的数字表示该状态到终点的最短距离。状态上方方格内的数字表示该状态到终点的最短距离。将刚标号的点沿着最短距离用粗箭线连接起来,表示将刚标号的
39、点沿着最短距离用粗箭线连接起来,表示出各刚标号的点到终点的最短路线。出各刚标号的点到终点的最短路线。(3 3)逐次向前递推,直到将第一阶段的状态(即起逐次向前递推,直到将第一阶段的状态(即起点)标号,点)标号,起点方格内的数字就是起点到终点的最短起点方格内的数字就是起点到终点的最短距离距离,从起点开始连接终点的粗箭线就是最短路线。,从起点开始连接终点的粗箭线就是最短路线。第(第(1)步)步 k=5 f5(s5)=f5(E)=0 这是这是边界条件边界条件0Efk(sk)表示从第表示从第 k 阶段状态阶段状态 sk 到到 E 点的的最短距离点的的最短距离第(第(2)步)步 k=4状态变量状态变量
40、s4 可取两种状态可取两种状态 D1、D2。由由D1到终点到终点E只有一条路线,路长为只有一条路线,路长为3,即,即 f4(D1)=3。同理,同理,f4(D2)=4。3表示由表示由D1点至点至E点的最短路长点的最短路长为为3。40D1第(第(3)步)步 k=3状态变量状态变量 s3 可取三个值:可取三个值:C1、C2、C3。由由C1到终点到终点E有有2条路线,分别为经过条路线,分别为经过D1、D2到达到达E点(由点(由D1、D2到达到达E点的最短路长在第一步已计算得出),需加以比较,取其中最短的。点的最短路长在第一步已计算得出),需加以比较,取其中最短的。路线路线1 v3(C1,D1)+f4(
41、D1)=1+3=4路线路线2 v3(C1,D2)+f4(D2)=4+4=834则由则由C1到终点到终点E的最短距离的最短距离 f3(C1)=minv3(C1,D1)+f4(D1),v3(C1,D2)+f4(D2)=44C1第(第(3)步)步 k=3由由C2到终点到终点E有有2条路线,分别为经过条路线,分别为经过D1、D2到达到达E点(由点(由D1、D2到达到达E点的最短路长在第一步已计算得出),需加以比较,取其中最短的。点的最短路长在第一步已计算得出),需加以比较,取其中最短的。路线路线1 v3(C2,D1)+f4(D1)=6+3=9路线路线2 v3(C2,D2)+f4(D2)=3+4=734
42、则由则由C2到终点到终点E的最短距离的最短距离 f3(C2)=minv3(C2,D1)+f4(D1),v3(C2,D2)+f4(D2)=7C274第(第(3)步)步 k=3由由C3到终点到终点E有有2条路线,分别为经过条路线,分别为经过D1、D2到达到达E点(由点(由D1、D2到达到达E点的最短路长在第一步已计算得出),需加以比较,取其中最短的。点的最短路长在第一步已计算得出),需加以比较,取其中最短的。路线路线1 v3(C3,D1)+f4(D1)=3+3=6路线路线2 v3(C3,D2)+f4(D2)=3+4=734则由则由C3到终点到终点E的最短距离的最短距离 f3(C3)=minv3(C
43、3,D1)+f4(D1),v3(C3,D2)+f4(D2)=6C3746第(第(4)步)步 k=2状态变量状态变量 s2 可取三个值:可取三个值:B1、B2、B3。由由B1到终点到终点E,可分别经过,可分别经过C1、C2、C3到达到达E点(由点(由C1、C2、C3到到E点点 的最短距离在第二步已计算出),需加以比较,取其中最短的。的最短距离在第二步已计算出),需加以比较,取其中最短的。路线路线1 v2(B1,C1)+f3(C1)=7+4=11路线路线2 v2(B1,C2)+f3(C2)=5+7=12路线路线3 v2(B1,C3)+f3(C3)=6+6=1234则由则由B1到终点到终点E的最短距
44、离的最短距离 f2(B1)=minv2(B1,C1)+f3(C1),v2(B1,C2)+f3(C2)v2(B1,C3)+f3(C3)=114B17611第(第(4)步)步 k=2由由B2到终点到终点E,可分别经过,可分别经过C1、C2、C3到达到达E点(由点(由C1、C2、C3到到E点点 的最短距离在第二步已计算出),需加以比较,取其中最短的。的最短距离在第二步已计算出),需加以比较,取其中最短的。路线路线1 v2(B2,C1)+f3(C1)=3+4=7路线路线2 v2(B2,C2)+f3(C2)=2+7=9路线路线3 v2(B2,C3)+f3(C3)=4+6=1034则由则由B2到终点到终点
45、E的最短距离的最短距离 f2(B2)=minv2(B2,C1)+f3(C1),v2(B2,C2)+f3(C2)v2(B2,C3)+f3(C3)=74B276117第(第(4)步)步 k=2由由B3到终点到终点E,可分别经过,可分别经过C1、C2、C3到达到达E点(由点(由C1、C2、C3到到E点点 的最短距离在第二步已计算出),需加以比较,取其中最短的。的最短距离在第二步已计算出),需加以比较,取其中最短的。路线路线1 v2(B3,C1)+f3(C1)=5+4=9路线路线2 v2(B3,C2)+f3(C2)=1+7=8路线路线3 v2(B3,C3)+f3(C3)=5+6=1134则由则由B3到
46、终点到终点E的最短距离的最短距离 f2(B3)=minv2(B3,C1)+f3(C1),v2(B3,C2)+f3(C2)v2(B3,C3)+f3(C3)=84B3761178第(第(5)步)步 k=1状态变量状态变量 s1 只取一个值:只取一个值:A。由由A到终点到终点E,可分别经过,可分别经过B1、B2、B3到达到达E点(由点(由B1、B2、B3到到E点点 的最短距离在第三步已计算出),需加以比较,取其中最短的。的最短距离在第三步已计算出),需加以比较,取其中最短的。经过经过B1点点 v1(A,B1)+f2(B1)=2+11=13经过经过B2点点 v1(A,B2)+f2(B2)=5+7=12
47、经过经过B3点点 v1(A,B3)+f2(B3)=3+8=1134则由则由A到终点到终点E的最短距离的最短距离 f1(A)=minv1(A,B1)+f2(B1),v1(A,B2)+f2(B2)v1(A,B3)+f2(B3)=114A76117811从下图从下图反推反推可得到最优路线。可得到最优路线。344A76117811因此,由因此,由A到终点到终点E的的最优解最优解为:为:AB3C2D2E由点由点A到终点到终点E的的最优值最优值为为11。小结:小结:在求解的各阶段,都利用了第在求解的各阶段,都利用了第k阶和第阶和第k+1段的如下关段的如下关 系:系:fk(sk)=min vk(sk,xk)
48、+fk+1(sk+1)(1)f5(s5=E)=0 (2)上述递推关系上述递推关系称为称为动态规划的动态规划的基本方程。基本方程。其中(其中(2)式称)式称为为边界条件。边界条件。344A76117811动态规划方法的优点动态规划方法的优点1.减少计算量减少计算量 动态规划方法减少了计算量,而且随着阶段数的增加,计动态规划方法减少了计算量,而且随着阶段数的增加,计算量将大大减少。算量将大大减少。2.丰富了计算结果丰富了计算结果 在动态规划的解法中,得到的不仅仅是由在动态规划的解法中,得到的不仅仅是由A点出发到点出发到E点的点的最短路线及相应距离,最短路线及相应距离,而且得到了从所有中间点出发到而
49、且得到了从所有中间点出发到E点的最点的最短路线及相应距离短路线及相应距离。这对于许多实际问题来说是很有用的,有。这对于许多实际问题来说是很有用的,有利于帮助分析所得的结果。利于帮助分析所得的结果。动态规划方法的基本思想动态规划方法的基本思想1.将多阶段决策过程划分阶段,恰当地选择状态变量、决策变将多阶段决策过程划分阶段,恰当地选择状态变量、决策变 量,定义最优指标函数,从而把问题化成一簇同类型的子问量,定义最优指标函数,从而把问题化成一簇同类型的子问 题,然后逐个求解。题,然后逐个求解。2.求解时从边界条件开始,逆过程方向行进,逐段递推寻优,求解时从边界条件开始,逆过程方向行进,逐段递推寻优,
50、在每一个子问题求解时,都要使用它前面已求出的子问题的在每一个子问题求解时,都要使用它前面已求出的子问题的 最优结果,最后一个子问题的最优解,就是整个问题的最优最优结果,最后一个子问题的最优解,就是整个问题的最优 解。解。学习目标:学习目标:1 了解顺序解法了解顺序解法4 逆序解法和顺序解法逆序解法和顺序解法动态规划的求解有动态规划的求解有两种基本方法两种基本方法 逆序解法(后向动态规划方法)逆序解法(后向动态规划方法)如例如例1所使用的方法,寻优的方向与多阶段决策过程的实际所使用的方法,寻优的方向与多阶段决策过程的实际行进方向相反,从最后一段开始计算逐段前推,求得全过程的行进方向相反,从最后一
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。