货郎担问题.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
货郎担问题整理ppt

货郎担问题 货郎担问题 小组成员: 卢广桃 谢伟娜 郑理 货郎担问题 货郎担问题一般提法为:一个货郎从某城镇出发,经过若干个城镇一次,且仅经过一次,最后仍回到原出发的城镇,问应如何选择行走路线可使总行程最短,这是运筹学的一个著名的问题。 实际中有很多问题可以归结为这类问题。 哈密尔顿回路:(环球旅行问题)即从一个结点出发,经过所有结点回到出发点(结点不能重复经过)。 设v1,v2,……..,vn是已知的n个城镇,城镇vi到城镇vj的距离为dij,现求从v1出发,经各城镇一次且仅一次返回v1的最短路程。 设S表示从v1到vi中间所可能经过的城市集合,S实际上是包含除v1和vi两个点之外的其余点的集合,但S中的点的个数要随阶段数改变。 阶段: S中的点的个数 状态变量(i,S)表示:从v1点出发,经过S集合中所有点一次最后到达vi。 最优指标函数fk(i,S)为从v1出发,经过S集合中所有点一次最后到达vi。 决策变量Pk(i,S)表示:从v1经k个中间城镇的S集合到vi城镇的最短路线上邻接vi的前一个城镇,则动态规划的顺序递推关系为: fk(i,S)= min{ fk-1(j,S、{ j }+dji} j属于S f0(i,空集)=d1i (k=1,2,…,n-1, i=2,3,…n) 例12 已知4个城市间距离如下表,求从v1出 发,经其余城市一次且仅一次最后返回v1的最短路径和距离。 解:K=0 由边界条件(7.21b)知: f0(2,空集)=d12=6 f0(3,空集)=d13=7 f0(4,空集)=d14=9 当k=1时: 从城市V1出发,经过1个城镇到达Vi的最短距离为: f1(2,{ 3 }) = f0 (3, 空)+d 32 =7+8=15 f1(2,{ 4 }) = f0 (4, 空)+d 42 =9+8=14 f1(3,{ 2 }) = f0 (2, 空)+d 23 =6+9=15 f1(3,{ 4 }) = f0 (4, 空)+d 43 =9+5=14 f1(4,{ 2 }) = f0 (2, 空)+d 24 =6+7=13 f1(4,{ 3 }) = f0 (3, 空)+d 34 =7+8=15 例12 已知4个城市间距离如下表,求从v1出发,经其余城市一次且仅一次最后返回v1的最短路径和距离。 当k=2时, 从城市V1出发,中间经过2个城镇到达Vi的最短距离. f2(2,{ 3,4 }) = min[ f1(3,{4})+d 32, f1(4,{3})+ d42 ] =min[14+8,15+5]=20 P2(2,{3,4})=4 f2(3,{ 2,4 })= min[14+9,13+5]=18 P2(3,{2,4})=4 f2(4,{ 2,3 })= min[15+7,15+8]=22 P2(4,{2,3})=2 当k=3时: 从城市V1出发,中间经过3个城镇最终回到Vi的最短距离. f3(1,{ 2,3, 4 })= min[f2(2,{ 3,4 }) + d 21, f2(3,{ 2,4 })+ d 31, f2(4,{ 2,3 }) + d 41 ] =min[20+8,18+5,22+6]=23 P3(1,{2,3,4})=3 逆推回去,货郎的最短路线是1?2?4?3?1, 最短距离为23. 在很多货郎担问题中,经常会看到dij不等于dji的情况。 这是因为:1,各城市之间可能是复线2,两地之间可能会使用不同的交通工具从而费用不同。 实际中很多问题都可以归结为货郎担这类问题. 如: 1,物资运输路线中,汽车应该走怎样的路线使路程最短; 2,工厂里在钢板上要挖一些小圆孔,自动焊接机的割咀应走怎样的路线使路程最短; 3,城市里有一些地方铺设管道时,管子应走怎样 的路线才能使管子耗费最少,等等 比如说,前面曾经遇到的排序问题,以前我们是用0-1整数规划来解决这类问题的。 在这里,我们同样可以使用动态规划的方法。而且相对简单了很多。 排序问题 一,问题的提出:设有n个工件要在机床A,B上加 工,每个工件都必须经过先A后B的两道加工工序, 以ai,bi分别表示工件i(1=i=n) 在A,B上的加工 时间.问应如何在两机床上安排工件加工

文档评论(0)

zyzsaa + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档