- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 动态规划 9.1 问题的提出 动态规划是美国数学家Richard Bellman在1951年提出来的分析一类多阶段决策过程的最优化方法,它在工程技术、工业生产、经济管理、军事及现代控制工程等方面都有着广泛的应用。而且,由于动态规划方法有其独特之处,在解决某些实际问题时利用动态规划的方法比用线性规划和非线性规划方法更加方便有效。因此,很有必要对动态规划的基本思想、原理和方法作些简单介绍。下面,首先通过具体的例子来说明动态规划问题的提出及其解法思想。 例如,最短路问题:在第七章中曾经讨论过这个问题的算法,这里,想从另一角度对这个问题进行讨论。考虑一个街道和交叉路口的络系统。图9-1是一张城市平面图,图中的直线表示街道,直线的交点表示街道的交叉路口,边上的数字表示两个交叉路口之间的距离。某人想从交叉路口S步行到另一个交叉路口T,问沿着哪一条路线走的距离最短? 设d(x,T)表示从顶点x到顶点T的最短路的长度,称为顶点x到T的距离,则网络系统上的每一个顶点到T的最短距离分别为: d(S,T)=min{2+d(A1 ,T), 3+d(A2 ,T)} d(A1 ,T)=min{3+d(B1 ,T),2+d(B2 ,T)} d(A2 ,T)=min{4+d(B2 ,T),4+d(B3 ,T)} …… d(D2 ,T)=min{4+d(E1 ,T),5+d(E2 ,T)} 由以上式子可见,要求d(S,T),必须先求出最靠近T的顶点到T的最短距离,然后由后向前逐级进行计算。 ∵ d(E1 ,T)=6,d(E2 ,T)=7 ∴ d(D2 ,T)=min{4+6,5+7}=10 而D1到T只有一条路,故 d(D1 ,T)= d(D1 ,E1)+d(E1 ,T)=7+6=13 同理有 d(D3 ,T)= d(D3 ,E2)+d(E2 ,T)=5+7=12 d(C1 ,T)= d(C1 ,D1)+d(D1 ,T)=1+13=14 d(C2 ,T)=min{d(C2 ,D1)+ d(C1 ,T,), d(C1 ,D1)+ d(D2 ,T)} =min{3+13,5+10}=15 d(C3 ,T)=min{d(C3 ,D2)+d(C2 ,T),d(C3 ,D3)+d(D3 ,T)} =min{6+10,3+12}=15 d(C4 ,T)= d(C4 ,D2)+d(D3 ,T)=3+12=15 d(B1 ,T)=min{d(B1 ,C1)+d(C1 ,T),d(B1 ,C2)+d(C2 ,T)} =min{5+14,3+15}=18 d(B2 ,T)=min{d(B2 ,C2)+d(C2 ,T),d(B2 ,C3)+d(C3 ,T)} =min{5+15,2+15}=17 d(B3 ,T)=min{d(B3 ,C3)+d(C3 ,T),d(B3 ,C4)+d(C4 ,T)} =min{5+15,4+15}=19 d(A1 ,T)=min{d(A1 ,B1)+d(B1 ,T),d(A1 ,B2)+d(B2 ,T)} =min{3+18,2+17}=19 d(A2 ,T)=min{d(A2 ,B2)+d(B2 ,T),d(A2 ,B2)+d(C4 ,T)} =min{4+17,4+19}=21 d(S,T)=min{d(S,A1)+d(A1 ,T),d(S,A2)+d(A2 ,T)} =min{2+19,3+21}=21 由此可见,从S到T的最短路的距离为21。其相应的 最短路径由回代即可得到。其最短路径为SA1B2C3D4E2T。 以上的顶点到T的距离可以写成如下的一般形式: d(i,T)=min{d(i,j)+d(j,T)} j∈Ti (9.1) 式中Ti ={j (i,j) ∈E,j ∈V),这里的E和V分别为图9-1的边集和顶点集。 由上面的例子可见其解法思想是:把一个较为复杂的问题分成几个同一类型的更易求解的子问题,然后将这些子问题从后向前按整体最优思想逐个地最优化,再从前向后顺序地求出整个问题的最优解。这就是动态规划的基本
原创力文档


文档评论(0)