运筹学第八章动态规划.ppt
《运筹学第八章动态规划.ppt》由会员分享,可在线阅读,更多相关《运筹学第八章动态规划.ppt(191页珍藏版)》请在三一办公上搜索。
1、,第八章 动态规划,引 言,动态规划是解决多阶段决策过程最优化的一种方法。该方法是由美国数学家贝尔曼(R.E.Bellman)等人在20世纪50年代初提出的。并成功地解决了生产管理、工程技术等方面的许多问题,从而建立了运筹学的一个新的分支,即动态规划。Bellman在1957年出版了Dynamic Programming一书,是动态规划领域中的第一本著作。,动态规划与其他规划方法的不同之处在于:动态规划是求解某类问题(多阶段决策问题)的一种方法,是考察问题的一种途径,而不是一种特定算法。因此,它不像线性规划那样有一个标准的数学表达式和明确定义的一组(算法)规则,而必须对具体问题进行具体分析处理
2、。因此,学习动态规划时,除对基本概念和基本方法正确理解外,还应在一定经验积累基础上,以丰富的想像力去建立模型,用创造性的技巧去求解。,提 纲,1 动态规划实例2 动态规划的基本概念3 动态规划的基本思想与基本原理4 逆序解法与顺序解法,学习目标:1 明确什么是多阶段的决策问题,特别要注意没有明显 的时段背景的问题如何化归为多阶段的决策问题。,1 动态规划实例,P156 例2 机器负荷分配问题(时间阶段问题)设有某种机器设备,用于完成两类工作A和B。若第k年初完好机器的数量为 xk,若以数量 uk 用于A,余下的(xkuk)用于工作B,则该年的预期收入为 g(uk)+h(xkuk)。这里g(uk
3、)和 h(xkuk)是已知函数,且 g(0)=h(0)=0。又机器设备在使用中会有损坏,设机器用于工作A时,一年后能继续使用的完好机器数占年初投入量的70%;若用于工作B时,一年后能继续使用的完好机器数占年初投入量的90%。则在下一年初能继续用于A、B工作的设备数为 xk+1=0.7uk+0.9(xkuk)。设第1年初完好的机器总数为1000台,问在连续5年内每年应如何分配用于A、B两项工作的机器数,使5年的总收益为最大。,1 动态规划实例,相应的问题称为多阶段决策问题。,这是一个多阶段决策过程。该过程可以分为相互联系的若干阶段,每一阶段都需作出决 策,从而形成全过程的决策。,第1年,u1,x
4、2=0.7u1+0.9(x1-u1),u2,x3=0.7u2+0.9(x2-u2),u3,第4年,u4,x5=0.7u4+0.9(x4-u4),u5,P156 例1 最短路线问题(空间阶段的例子)设有一个旅行者从下图中的A点出发,途中要经过B、C、D等处,最后到达终点E。从A到E有很多条路线可以选择,各点之间的距离如图所示,问该旅行者应选择哪一条路线,使从A到达E的总的路程为最短。,1,2,3,4,决策1,决策2,决策3,决策4,可看成 4阶段 的决策 问题。,从以上两个例子,可以知道 所谓多阶段决策问题是指这样的决策问题:其过程可分为若干个相互联系的阶段,每一阶段都对应着一组可供选择的决策,
5、每一决策的选定既依赖于当前面临的状态,又影响以后总体的效果。当每一阶段的决策选定以后,就构成一个决策序列,称为一个策略,它对应着一个确定的效果。多阶段决策问题就是寻找使此效果最好的策略。,多阶段决策过程的特点,1.各阶段的决策相互关联多阶段决策过程最优化的目的,是要达到整个活动过程的总体效果最优,而不是某个阶段“局部”的效果最优。因此,各个阶段决策的选取不是任意确定的。前一个决策的选取决定了当前状态,当前状态进行决策后又影响到下一阶段的状态和决策,以至于影响总体效果。所以决策者在每个阶段决策时,不应仅考虑本阶段最优,还应考虑对最终目标的影响,从而做出对全局而言是最优的决策。动态规划就是符合这一
6、要求的一种最优化方法。,2.各个阶段的决策一般与“时间”有关动态规划方法与“时间”关系很密切,随着时间过程的发展而决定各阶段的决策,从而产生一个决策序列,这就是“动态”的意思。但是,一些与时间无关的静态问题,只要在问题中人为引入“时间”因素,也可将其看成是多阶段的决策问题,用动态规划方法去处理。,学习目标:1 准确、熟练地掌握动态规划的基本概念、特别是状态 变量、决策变量、状态转移律、指标函数、基本方程 等。,2 动态规划的基本概念,为了便于求解和表示决策及过程的发展顺序,而把所给问题恰当地划分为若干个相互联系又有区别的子问题,称之为多段决策问题的阶段。一个阶段,就是需要作出一个决策的子问题。
7、通常,阶段是按决策进行的时间或空间上先后顺序划分的。描述阶段的变量称为阶段变量,常记为k,k=1,2,n。如本例可按空间分为4个 阶段来求解,k=1,2,3,4。,(1)阶段(stage),状态:每阶段初的客观条件。描述各阶段状态的变量称为状态变量,常用xk表示第k阶段的状态。,(2)状态(state),例1中,状态就是某阶段的出发位置。,按状态变量的取值是连续还是离散,可将动态规划问题分为离 散型和连续型。,动态规划中的状态应满足无后效性(马尔科夫性):所谓无后效性指系统到达某个状态前的过程的决策将不影响到该状态以后的决策。指系统从某个阶段往后的发展,仅由本阶段所处的状态及其往后的决策所决定
8、,与系统以前经历的状态和决策(历史)无关。过程的过去历史只能通过当前的状态去影响它未来的发展例1中,当某阶段的状态已选定某个点时,从这个点以后的路线只与该点有关,不受该点以前的路线的影响,所以满足状态的无后效性。,状态集合:状态变量 xk 的取值集合称为状态集合,状态集合实际上是关于状态的约束条件。通常用Sk表示状态集合,xkSk。,第1阶段 S1=A;第2阶段具有3个状态B1、B2和B3,故 S2=B1,B2,B3。,(3)决策(decision),当过程处于某一阶段的某状态时,可以做出不同的决定,从而确定下一阶段的状态,这种决定称为决策。描述决策的变量称为决策变量,常用uk(xk)表示第k
9、阶段当状态处于xk时的决策变量,它是状态变量的函数。,例1中,从第2阶段的状态B1出发,可以选择下一阶段的C1、C2、C3。如我们决定选择C1,则可表示为:u2(B1)=C1。,B1,C1,C2,C3,决策集合:第k阶段当状态处于xk时决策变量uk(xk)的取值范称为决策集合,常用Dk(xk)表示。,例1中,从第2阶段的状态B1出发,可以选择下一阶段的C1、C2、C3。即 D2(B1)=C1、C2、C3;,B1,C1,C2,C3,决策集合实际上是决策的约束条件,uk(xk)Dk(xk)。,小结 阶段 k、状态 xk、状态集合 Sk、决策 uk(xk)、决策集合 Dk(xk)。,(4)状态转移律
10、(方程),状态转移律:从xk的某一状态值出发,当决策变量uk(xk)的取值决定后,下一阶段状态变量xk+1的取值也随之确定。描述从 xk 转变为 xk+1 的规律称为状态转移规律(方程)。,从第2阶段的状态B1出发,如我们决定选择C2(也即确定了下一阶段的状态)。,上例中,u2(B1)=C2状态转移律为:xk+1=uk(xk),一般来说,下一阶段状态变量xk+1的取值是上阶段的某一状态变量xk和上阶段决策变量uk(xk)的函数,记为 xk+1=Tk(xk,uk(xk),(5)策略(policy)和子策略(subpolicy),策略:由依次进行的n个阶段决策构成的决策序列就构成一个 策略,用 p
11、1n u1(x1),u2(x2),un(xn)表示。,本例中,如p14 u1(A)=B1,u2(B1)=C2,u3(C2)=D1,u4(D1)=E 表示其中一个策略,其总距离为2+5+6+3=16。,策略集合:在实际问题中,由于在各个阶段可供选择的决策有许多个,因此,它们的不同组合就构成了许多可供选择的决策序列(策略),由它们组成的集合,称为策略集合,记作 P1n。从策略集合中,找出具有最优效果的策略称为最优策略。,子策略:从k阶段到第n阶段,依次进行的阶段决策构成的决策序列称为k部子策略,表示为 pkn=uk(xk),uk+1(xk+1),un(xn),如从第3阶段的C2状态开始的一个子策略
12、可表示:p34=u3(C2)=D1,u4(D1)=E,C2,(6)指标函数,用来衡量策略或子策略或决策的效果的某种数量指标,就称为指标函数。它是定义在全过程或各子过程或各阶段上的确定数量函数。对不同问题,指标函数可以是诸如费用、成本、产值、利润、产量、耗量、距离、时间、效用,等等。,阶段指标函数,过程指标函数,阶段指标函数:是指第 k 阶段从状态 xk 出发,采取决策 uk 时产生的效益,用 vk(xk,uk)表示。,例1中,指标函数是距离。如 v2(B1,C2)表示由B1 出发,采用决策到C2 点的两点间距离,即 v2(B1,C2)=5。,过程指标函数:是指从第 k 阶段的某状态 xk 出发
13、,采取子策略 pkn 时所得到的效益,记作 Vkn(xk,uk,xk+1,uk+1,xn),例1中,如V34(C2,u3(C2)=D1,D1,u4(D1)=E,E)=6+3=9,C2,过程指标函数Vkn通常是描述所实现的全过程或k后部子过程效果优劣的数量指标,它是由各阶段的阶段指标函数vk(xk,uk)累积形成的。(1)可分性:适于用动态规划求解的问题的过程指标函数(即目标函数),必须具有关于阶段指标的可分离形式,即对于后部子过程的指标函数可以表示为:Vkn(xk,uk,xk+1,uk+1,xn)=vk(xk,uk)vk+1(xk+1,uk+1)vn(xn,un)式中,表示某种运算,可以是加、
14、减、乘、除、开方等。,多阶段决策问题中,常见的目标函数形式之一是取各阶段效应 之和的形式,即:有些问题,如系统可靠性问题,其目标函数是取各阶段效应的 连乘积形式,如:总之,具体问题的目标函数表达形式需要视具体问题而定。,(2)可递推:过程指标函数Vkn要满足递推关系,即,可递推,Vkn(xk,uk,xk+1,uk+1,xn),k xk,uk,V(k+1)n(xk+1,uk+1,xn),vk(xk,uk)vk+1(xk+1,uk+1)vn(xn,un),vk(xk,uk),V(k+1)n(xk+1,uk+1,xn),最优指标函数:表示从第 k 阶段状态为 xk 时采用最优策略 pkn*到过程终止
15、时的最佳效益值。记为 fk(xk)。fk(xk)=Vkn(xk,pkn*)=opt Vkn(xk,pkn),例1中,如 f3(C2)=3+4=7。,其中 opt 可根据具体情况取max 或min。,C2,动态规划的目标?最优解:最优策略 p1n最优值:最优指标 f1(A),多阶段决策问题的数学模型 综上所述,适于应用动态规划方法求解的一类多阶段决策问题的数学模型呈以下形式:f1=opt V1n(x1,p1n)最优指标函数 xk+1=Tk(xk,uk(xk)状态转移方程 ukDk 决策变量 xkSk 状态变量 k=1,2,n 阶段变量,st.,上述数学模型说明了对于给定的多阶段决策过程,求取一个
16、(或多个)最优策略或最优决策序列 u1,u2,un,使之既满足左式给出的全部约束条件,又使左式所示的目标函数取得极值,并且同时指出执行该最优策略时,过程状态演变序列即是最优路线。,小结:,指标函数形式:和、积,无后效性,可递推,fk(xk)=Vkn(xk,pkn*)=opt Vkn(xk,pkn),Vkn(xk,uk,xk+1,uk+1,xn),k xk,uk,V(k+1)n(xk+1,uk+1,xn),解多阶段决策过程问题,求出,u1*,u2*,un*,x1*,x2*,xn*,1.划分阶段,2.正确选择状态变量,3.确定决策变量及允许决策集合,4.确定状态转移方程,5.确定阶段指标函数和最优
17、指标函数,建立动态规划基本方程,划分阶段是运用动态规划求解多阶段决策问题的第一步,在确定多阶段特性后,按时间或空间先后顺序,将过程划分为若干相互联系的阶段。对于静态问题要人为地赋予“时间”概念,以便划分阶段。,建立动态规划模型的步骤,选择状态变量既要能确切描述过程演变又要满足无后效性,而且各阶段状态变量的取值能够确定。,通常选择所求解问题的关键变量作为决策变量,同时要给出决策变量的取值范围,即确定允许决策集合。,根据k 阶段状态变量和决策变量,写出k+1阶段状态变量,状态转移方程应当具有递推关系。,阶段指标函数是指第k 阶段的收益,最优指标函数是指从第k 阶段状态出发到第n 阶段末所获得收益的
18、最优值,最后写出动态规划基本方程。,以上五步是建立动态规划数学模型的一般步骤。由于动态规划模型与线性规划模型不同,动态规划模型没有统一的模式,建模时必须根据具体问题具体分析,只有通过不断实践总结,才能较好掌握建模方法与技巧。下面我们看一个具体的例子,P156 例2 机器负荷分配问题(时间阶段问题),P156 例2 机器负荷分配问题(时间阶段问题)设有某种机器设备,用于完成两类工作A和B。若第k年初完好机器的数量为 xk,若以数量 uk 用于A,余下的(xkuk)用于工作B,则该年的预期收入为 g(uk)+h(xkuk)。其中g(uk)8uk,h(xkuk)=5(xkuk)。又机器设备在使用中会
19、有损坏,设机器用于工作A时,一年后能继续使用的完好机器数占年初投入量的70%;若用于工作B时,一年后能继续使用的完好机器数占年初投入量的90%。则在下一年初能继续用于A、B工作的设备数为 xk+1=0.7uk+0.9(xkuk)。设第1年初完好的机器总数为1000台,问在连续5年内每年应如何分配用于A、B两项工作的机器数,使5年的总收益为最大。,1.划分阶段,按年度来划分阶段,k=1,2,3,4,5,2.正确选择状态变量,状态变量xk为第k年度初拥有的完好机器数量,3.确定决策变量及允许决策集合,决策变量uk为第k年度中分配于A工作的机器数量,则xkuk为用于B工作的机器数量。,第k阶段决策集
20、合Dk(xk)=uk|0ukxk,这里xk和uk均取连续变量,它们的非整数值可以这样理解,如xk=0.6,就表示一台机器在第k年度中正常工作时间只占6/10;uk=0.3,就表示一台机器在该年度只有3/10的时间能正常用于A工作。,4.确定状态转移方程,状态转移方程为 xk+1=0.7uk+0.9(xkuk),5.确定阶段指标函数和最优指标函数,建立动态规划基本方程,指标函数为,令最优指标函数fk(xk)表示由资源量xk出发,从第k年开始到第5年结束时所取得的最大预期收入。因而有:,fk(xk)=max,学习目标:1 掌握最优化原理的内容2 掌握逆序解法,3 动态规划的基本思想与基本原理,多阶
21、段决策过程的最优化一般有三种思路求解1.全枚举法或穷举法:它的基本思想是列举出所有可能发生的方案和结果,再对它们一一进行比较,求出最优方案。可以计算:从A到E的路程可分为4个阶段。第一段走法有3种,第二段走法有3种,第三段走法有2种,第四段走法仅1种,共有332118条可能的路线,分别算出各条路线的距离,最后进行比较,可知最优路线是AB3C2 D2E,最短距离是11。用穷举法求最优路线的计算 工作量将会十分庞大,而且 其中包含着许多重复计算。,2.局部最优路径法:某人从k点出发,并不顾及全线是否最短,只是选择当前最短途径,“逢近便走”,错误地以为局部最优会致整体最优,在这种想法指导下,所取决策
22、必是AB1C2D2E,全程长度是14;显然,这种方法的结果常是错误的。,小结:全枚举法虽可找出最优方案,但不是个好算法,局部最优法则完全是个错误方法,只有动态规划方法属较科学有效的算法,作为一个全过程的最优策略具有这样的性质:对于最优策略过程中的任意状态而言,无论其过去的状态和决策如何,余下的诸决策必构成一个最优子策略。(一个最优策略的子策略总是最优的),3.贝尔曼最优化原理(动态规划方法),作该原理的具体解释是,若某一全过程最优策略为:p1n*(x1)=u1*(x1),uk*(xk),uk+1*(xk+1),un*(xn)则对上述策略中所隐含的任一状态(xk)而言,第k子过程上对应于 xk
23、的最优策略必然包含在上述全过程最优策略p1n*中,即为 pkn*(xk)=uk*(xk),uk+1*(xk+1),un*(xn),C1,D1,A,B3,D2,E,C2,反证法进行证明,最优性原理在最短路线中的应用 在最短路线中,若找到了AB3C2D2E是由A到E的最短路线,则B3C2D2E必是由B3出发到E点的所有可能选择的不同路线中的最短路线。(一个最优策略的子策略总是最优的),4.函数基本方程 基于这个原理,提出了一种逆序递推法;该法的关键在于给出一种递推关系。一般把这种递推关系称为动态规划的函数基本方程。对于求最小的加法的基本方程为(如例1):,fk(xk)=min vk(xk,uk)+
24、fk+1(xk+1)fn+1(xn+1)=0,边界条件,ukDk,用函数基本方程逆推求解是常用的方法:首先要有效地建立动态规划模型,然后再递推求解,最后得出结论。正确地建立一个动态规划模型,是解决问题的关键。,5.标号法(只适用于一类最优路线问题的特殊解法)标号法是借助网络图通过分段标号来求出最优路线的一种简便、直观的方法。通常标号法采取“逆序求解”的方法来寻找问题的最优解,即从最后阶段开始,逐次向阶段数小的方向推算,最终求得全局最优解。,E,A,标号法的一般步骤:(1)给最后一段标号,该段各状态(即各始点)到终点的距离用数字分别标在各点上方的方格内,并用粗箭线连接各点和终点。(2)向前递推,
25、给前一阶段的各个状态标号。每个状态上方方格内的数字表示该状态到终点的最短距离。将刚标号的点沿着最短距离用粗箭线连接起来,表示出各刚标号的点到终点的最短路线。(3)逐次向前递推,直到将第一阶段的状态(即起点)标号,起点方格内的数字就是起点到终点的最短距离,从起点开始连接终点的粗箭线就是最短路线。,第(1)步 k=5,f5(x5)=f5(E)=0 这是边界条件,0,E,fk(xk)表示从第 k 阶段状态 xk 到 E 点的的最短距离,第(2)步 k=4,状态变量 x4 可取两种状态 D1、D2。由D1到终点E只有一条路线,路长为3,即 f4(D1)=3。同理,f4(D2)=4。,3,表示由D1点至
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运筹学 第八 章动 规划
链接地址:https://www.31ppt.com/p-5849631.html