算法设计与分析动态规划实例讲解

上传人:宝路 文档编号:47566182 上传时间:2018-07-03 格式:PPT 页数:82 大小:959.52KB
返回 下载 相关 举报
算法设计与分析动态规划实例讲解_第1页
第1页 / 共82页
算法设计与分析动态规划实例讲解_第2页
第2页 / 共82页
算法设计与分析动态规划实例讲解_第3页
第3页 / 共82页
算法设计与分析动态规划实例讲解_第4页
第4页 / 共82页
算法设计与分析动态规划实例讲解_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《算法设计与分析动态规划实例讲解》由会员分享,可在线阅读,更多相关《算法设计与分析动态规划实例讲解(82页珍藏版)》请在金锄头文库上搜索。

1、动 态 规 划(Dynamic programming)动态规划的基本思想 最短路径问题 资源分配问题背包问题生产计划问题复合系统工作可靠性问题动态规划是用来解决多阶段决策过程最优 化的一种数量方法。其特点在于,它可以把一 个n 维决策问题变换为几个一维最优化问题,从 而一个一个地去解决。需指出:动态规划是求解某类问题的一种 方法,是考察问题的一种途径,而不是一种算 法。必须对具体问题进行具体分析,运用动态 规划的原理和方法,建立相应的模型,然后再 用动态规划方法去求解。即在系统发展的不同时刻(或阶段)根据系统 所处的状态,不断地做出决策;每个阶段都要进行决策,目的是使整个过程的决策 达到最优

2、效果。动态决策问题的特点: 系统所处的状态和时刻是进行决策的重要因素;找到不同时刻的最优决策以及整个过程的最优策略 。 多阶段决策问题:在多阶段决策过程中,系统的动态过程可以按照时间 进程分为状态相互联系而又相互区别的各个阶段;多阶段决策问题的典型例子:1 . 生产决策问题:企业在生产过程中,由于需 求是随时间变化的,因此企业为了获得全年的最佳 生产效益,就要在整个生产过程中逐月或逐季度地 根据库存和需求决定生产计划。2. 机器负荷分配问题:某种机器可以在高低两 种不同的负荷下进行生产。在高负荷下进行生产时 ,产品的年产量g和投入生产的机器数量u1的关系 为 g=g(u1)12n状态决策 状态

3、决策 状态状态决策这时,机器的年完好率为a,即如果年初完好机 器的数量为u,到年终完好的机器就为au, 0a1。在低负荷下生产时,产品的年产量h和投入生产 的机器数量u2的关系为h=h(u2)假定开始生产时完好的机器数量为s1。要求制 定一个五年计划,在每年开始时,决定如何重新 分配完好的机器在两种不同的负荷下生产的数量 ,使在五年内产品的总产量达到最高。相应的机器年完好率b, 0 b1。 3. 航天飞机飞行控制问题:由于航天飞机的 运动的环境是不断变化的,因此就要根据航天飞机 飞行在不同环境中的情况,不断地决定航天飞机的 飞行方向和速度(状态),使之能最省燃料和实现 目的(如软着落问题)。4

4、 .不包含时间因素的线性规划、非线性规划等 静态决策问题(本质上是一次决策问题)也可以适 当地引入阶段的概念,作为多阶段的决策问题用动 态规划方法来解决。 5 . 最短路问题:给定一个交通网络图如下,其 中两点之间的数字表示距离(或花费),试求从A点 到G点的最短距离(总费用最小)。123456AB1B2C1C2C3C4D1D2D3E1E2E3F1F2G531 3 68 7 6368533842221333 5256 643(一)、基本概念1、阶段:把一个问题的过程,恰当地分为若干个相互联系的阶 段,以便于按一定的次序去求解。描述阶段的变量称为阶段变量(k)。k=1,2 ,3, ,n阶段的划分

5、,一般是根据时间和空间的自然特征来进行 的,但要便于问题转化为多阶段决策。 2、状态:表示每个阶段开始所处的自然状况或客观 条件。通常一个阶段有若干个状态,描述过程状态的 变量称为状态变量sk (表示第k阶段的状态变量 )。年、月 、路段一个数 、一组 数、一 个向量状态变量的取值有一定的允许集合或范围,此集合 称为状态允许集合S K =s1,s2, , s k , 。一、动态规划的基本思想3、决策:表示当过程处于某一阶段的某个状态时 ,可以作出不同的决定,从而确定下一阶段的状态, 这种决定称为决策。描述决策的变量,称为决策变量。常用uk(sk)表示第k阶段当状态为sk时的决策变量 。决策变量

6、是状态变量的函数。可用一个数、一组数 或一向量(多维情形)来描述。在实际问题中决策变量的取值往往在某一范围之内 ,此范围称为允许决策集合。常用Dk(sk)表示第k阶段从状态sk出发的允许决策 集合,显然uk(sk)Dk(sk)。 4、多阶段决策过程可以在各个阶段进行决策,去控制过程发展的多段过 程;其发展是通过一系列的状态转移来实现的;系统在某一阶段的状态转移不但与系统的当前的状态 和决策有关,而且还与系统过去的历史状态和决策有 关。图示如下:状态转移方程是确定 过程由一个状态到另 一个状态的演变过程 。如果第k阶段状态变 量sk的值、该阶段的决 策变量一经确定,第 k+1阶段状态变量sk+1

7、 的值也就确定。其状态转移方程如下(一般形式)12ks1u1s2u2s3skuksk+1能用动态规划方法求解的多阶段决策过程是一类 特殊的多阶段决策过程,即具有无后效性的多阶段 决策过程。如果状态变量不能满足无后效性的要求,应 适当地改变状态的定义或规定方法。动态规划中能 处理的状态转移 方程的形式。状态具有无后效性的多阶段决策过程的状 态转移方程如下无后效性(马尔可夫性)如果某阶段状态给定后,则在这个阶段以后 过程的发展不受这个阶段以前各段状态的影响;过程的过去历史只能通过当前的状态去影响 它未来的发展; 构造动态规划模型时,要充分注意是 否满足无后效性的要求; 状态变量要满足无后效性的要求

8、;5、策略:相互连接的决策序列称为一个策略。从第k阶段开始到第n阶段结束称为一个子策略。Pk,n , 全策略 P1,n .所有策略当中有最优值的策略称为最优策略。6、状态转移方程:是确定过程由一个状态到另一个 状态的演变过程,描述了状态转移规律。7、指标函数和最优值函数:用来衡量所实现过程优 劣的一种数量指标,为指标函数。阶段指标函数: Vk (sk ,uk ) 表示第 k 阶段位 于sk 状态、决策为 uk 的指标值。策略指标函数:各决策序列指标值之和。(个别情 况为乘积) 指标函数的最优值,称为最优值函数。在不同的问题 中,指标函数的含义是不同的,它可能是距离、利润 、成本、产量或资源消耗

9、等。动态规划模型的指标函数,应具有可分离性,并满 足递推关系。小结:方程 :状态转移方程概念 : 阶段变量k状态变量sk决策变量uk;指标 : 动态规划本质上是多阶段决策过程;效益指标函数形式: 和、积无后效性可递推解多阶段决策过程问题,求出最优策略,即最优决策序列f1(s1)最优轨线,即执行最优策略时的状态序列最优目标函数值从 k 到终点最优策略 子策略的最优目标函数值1、动态规划方法的关键在于正确地写出基本的递推 关系式和恰当的边界条件(简称基本方程)。要做到 这一点,就必须将问题的过程分成几个相互联系的阶 段,恰当的选取状态变量和决策变量及定义最优值函 数,从而把一个大问题转化成一组同类

10、型的子问题, 然后逐个求解。即从边界条件开始,逐段递推寻优, 在每一个子问题的求解中,均利用了它前面的子问题 的最优化结果,依次进行,最后一个子问题所得的最 优解,就是整个问题的最优解。(二)、动态规划的基本思想2、在多阶段决策过程中,动态规划方法是既把当前 一段和未来一段分开,又把当前效益和未来效益结合 起来考虑的一种最优化方法。因此,每段决策的选取 是从全局来考虑的,与该段的最优选择答案一般是不 同的.最优化原理:作为整个过程的最优策略具有这样的 性质:无论过去的状态和决策如何,相对于前面的决 策所形成的状态而言,余下的决策序列必然构成最优 子策略。”也就是说,一个最优策略的子策略也是最优

11、 的。 3、在求整个问题的最优策略时,由于初始状态是 已知的,而每段的决策都是该段状态的函数,故最优 策略所经过的各段状态便可逐段变换得到,从而确定 了最优路线。(三)、建立动态规划模型的步骤 1、划分阶段k划分阶段是运用动态规划求解多阶段决策问题的第一 步,在确定多阶段特性后,按时间或空间先后顺序, 将过程划分为若干相互联系的阶段。对于静态问题要 人为地赋予“时间”概念,以便划分阶段。2、正确选择状态变量sk选择变量既要能确切描述过程演变又要满足无后效性 ,而且各阶段状态变量的取值能够确定。一般地,状 态变量的选择是从过程演变的特点中寻找。3、确定决策变量uk(sk)及允许决策集合Dk(sk

12、)通常选择所求解问题的关键变量作为决策变量,同时 要给出决策变量的取值范围,即确定允许决策集合。4、确定状态转移方程根据k 阶段状态变量和决策变量,写出k+1阶段状态变量 ,状态转移方程应当具有递推关系。sk+1 =Tk (sk ,uk ) Tk 函数关系5、确定阶段指标函数和最优指标函数,建立动态规 划基本方程阶段指标函数是指第k 阶段的收益,最优指标函数是 指从第k 阶段状态出发到第n 阶段末所获得收益的最优 值,最后写出动态规划基本方程。 f k (sk ) = Opt Vk (sk ,uk ) + f k+1 (s k+1) fn+1 (s n+1 ) = 0Opt 最优化(max,m

13、in)以上五步是建立动态规划数学模型的一般步骤 。由于动态规划模型与线性规划模型不同,动态规 划模型没有统一的模式,建模时必须根据具体问题 具体分析,只有通过不断实践总结,才能较好掌握 建模方法与技巧。 f1(s1) 是整个问题的最优策略,最优值。f k(sk) 表示从第k阶段(状态sk)到终点 的最优指标值。(距离、利润、成本等) 例一、从A 地到D 地要铺设一条煤气管道,其中需经过 两级中间站,两点之间的连线上的数字表示距离,如 图所示。问应该选择什么路线,使总距离最短? AB1B2C1C2C3D24333321114二、最短路径问题解:整个计算过程分三个阶段,从最后一个阶段开始 。第三阶

14、段(C D): C 有三条路线到终点D 。AB1B2C1C2C3D24333321114DC1C2C3显然有 f3 (C1 ) = 1 ; f3(C2 ) = 3 ; f3 (C3 ) = 4 d( B1,C1 ) + f3 (C1 ) 3+1f2 ( B1 ) = min d( B1,C2 ) + f3 (C2 ) = min 3+3 d( B1,C3 ) + f3 (C3 ) 1+44= min 6 = 4 5第二阶段(B C): B 到C 有六条路线。AB1B2C1C2C3D24333321114DC1C2C3B1B2(最短路线为B1C1 D)d( B2,C1 ) + f3 (C1 )

15、2+1f2 ( B2 ) = min d( B2,C2 ) + f3 (C2 ) = min 3+3 d( B2,C3 ) + f3 (C3 ) 1+43= min 6 = 35AB1B2C1C2C3D24333321114DC1C2C3B1B2(最短路线为B2C1 D)第一阶段( A B ): A 到B 有二条路线。f1(A)1 = d(A, B1 ) f2 ( B1 ) 246f1 (A)2 = d(A, B2 ) f2 ( B2 ) 437 f1 (A) = min = min6,7=6d(A, B1 ) f2 ( B1 ) d(A, B2 ) f2 ( B2 )(最短路线为AB1C1 D)AB1B2C1C2C3D24333321114DC1C2C3B1B2AAB1B2C1C2C3D24333321114DC1C2C3B1B2A最短路线为 AB1C1 D路长为 6三、非线性规划问题【例7-4】 用动态规划方法解下列非线性 规划问题 解: 解决这一类静态规划问题,需要人为地赋 予时间概念,从而将该问题转化为多阶段决 策过程。按问题的变量个数划分阶段,把它看作一 个三阶段决策问题,k=1,2,3设状态变量为s

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号