第五讲动态规划法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五讲 动态规划法 1 一般方法 在实际生活中,有这么一类问题,它们的活动过程可以分为若干个阶段,而且在任一阶段i后的行为都仅依赖于i阶段的过程状态,而与i阶段之前的过程是如何达到i阶段的状态的方式无关,这样的过程就构成一个多阶段决策过程。在50年代,贝尔曼(Richard Bellman)等人根据这类问题的多阶段决策的特性,提出了解决这类问题的“最优性原理”,从而创建了最优化问题的一种新的算法设计方法,称之为动态规划法。 在多阶段决策过程的每一阶段,都可能有多种可供选择的决策,但必须从中选取一种决策。一旦各个阶段的决策选定之后,就构成了解决这一问题的一个决策序列。决策序列不同,所导致的问题的结果也不同。动态规划法的目标就是要在所有允许选择的决策序列中选取一个会获得问题最优解的决策序列,即最优决策序列。 显然,用枚举的方法从所有可能的决策序列中选取最优决策序列是一种最笨拙的方法。贝尔曼认为,利用最优性原理(Principle Of Optimality)以及所获得的递推关系式去求取最优决策序列可以使枚举量急剧下降。这个原理指出,过程的最优决策序列具有如下性质:无论过程的初始状态和初始决策是什么,其余的决策都必须相对于初始决策所产生的状态构成一个最优决策序列。如果所求解问题的最优性原理成立,则说明用动态规划法方法有可能解决该问题,而解决问题的关键在于获取各阶段间的递推关系式。 例1.1 【多段图问题】多段图G=(V,E)是一个有向图。它具有如下特性:图中的结点被划分成k2个不相交的集合Vi,1≤i≤k,其中V1和Vk分别只有一个结点s(源点)和t(汇点)。图中所有的边u,v均具有如下性质:若u∈Vi,则v∈Vi+1,1≤i<k-l,且每条边u,v均附有成本C(u,v)。从s到t的一条路径成本是这条路径上边的成本和。多段图问题(Multistage Graph Problem)是求由s到t的最小成本路径。每个集合Vi定义图中的一段。由于E的约束,每条从s到t的路径都是从第1段开始,在第k段终止。图1.1所示的就是一个5段图。 对于每一条由s到t的路径,可以把它看成是在k-2个阶段中作出的某个决策序列的相应结果。第i次决策就是确定Vi+1中的哪个结点在这条路径上,1≤i≤k-2(在第k-1阶段无须做出决策,毫无疑问,只有汇点在这个路径上)。下面证明最优性原理对多段图成立。 假设s,v2,V3,…,vk-1,t是一条由s到t的最短路径。再设从源点s(初始状态)开始,已作出了到结点v2的决策(初始决策),则v2就是初始决策所产生的状态。如果把v2看成是原始问题的一个子问题的初始状态,求解这个子问题就是找出一条由v2到t的最短路径。这条最短路径显然是v2,v3,…,vk-1,t。如若不然,可假设v2,q3,…,qk-1,t是一条由v2到t的更短路径,则s,v2,q3,…,qk-1,t是一条比路径s,v2,v3,…,vk-1,t更短的由s到t的路径。与假设矛盾,故最优性原理成立。因此它为使用动态规划法方法来解多段图问题提供了可能。 例1.2 【0/1背包问题】此问题除了限定xj必须取0或1值外,其余条件及目标函数均与贪婪法中所介绍的背包问题的约定类同。用Knap(l,j,X)来表示这个问题。 极大化 ∑pixi 1≤i≤j 约束条件∑wixi≤X xi=0或1,1≤i≤j。 (1.1) 1≤i≤j 0/1背包问题就是Knap(l,n,M)。设y1,y2,…,yn分别是x1,x2,…,xn的0/1值的最优序列。若y1=0,则y2,y3,…,yn必须相对于Knap(2,n,M)问题构成一个最优序列。如若不然,则y1,y2,…,yn就不是Knap(1,n,M)的最优序列。若y1=1,则y2,y3,…,yn必须是Knap(2,n,M-w1)的最优序列。如若不然,则必有另一0/1序列z2,z3,…,zn使得∑wizi≤M-w1且∑pizi>∑piyi。因此,序列y1,z2,…,zn是一个对问题 2≤i≤n 2≤i≤n 2≤i≤n Knap(1,n,M)具有更大效益值的序列,与假设矛盾。所以,最优性原理成立。 能用动态规划法求解的问题的最优化决策序列可表示如下: 设S0是问题的初始状态,假定需要作n次决策xi,1≤i≤n。设X1={r1,1,r1,2,…,r1,p1}是x1的可能决策值的集合,而S1,j1是在选取决策值rl,j1以后所产生的状态,l≤j1≤p1。又设Γ1,j1是相应于状态Sl,j1的最优决策序列。那么,相应于S0的最优决策序列就是{rl,j1Γ1,j1| l≤j1≤p1}中最优的序列,记为OPT{rl,j1Γ1,j1

文档评论(0)

suijiazhuang2 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档