- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图论-旅行商-tsp
图 论 2.5 旅行商问题 1. 旅行商问题: 对正权完全图G,求G总长最短的H回路。 (区别Euler回路与H回路) 2. 求解算法:分支定界法 分支定界法是一种用较好方式搜索的准枚举法,实质上就是按字典序枚举所有可能情形并结合剪枝(过滤)的办法。 例 由A,B,C,D,E中的三个不同字母构成的全部字符串,按字典序的排列: ABC,ABD,ABE,ACD,ACE,ADE,BCD,BDE,CDE 3. 分支定界法 初始阶段:1. 将全部边按权由小到大排列; 2. 取前n边作为S,置d0:=∞。 (d0为已考察的H回路中最短的路长) 迭代阶段:3. 若S构成H回路且其路长d(S)<d0,则d0:= d(S)。跳过比当前d0差的后续情形后, 用剩下未考察的第一组边作为S,返回3。 全部情形考察完毕时的d0即为最短H回路长度,取其值的那个S就是问题的解。 1) 边按权排序(由小到大), d0:=∞ 边: a35 a24 a15 a14 a12 a13 a34 a23 a45 a25 权: 3 4 4 9 10 10 11 13 16 20 故最优解为S6 ,其长度为32。 计算要掌握两个要点: 1. 按字典序逐一考察各边集; 2. 每次考察完一个边集后,应考虑是否可以用过滤条件(当前d0值)跳过一些不必要情形的考察,因为比当前d0值差的情形不需考虑。 4. 近似算法--“便宜”算法 分支定界法虽可求得旅行售货员问题的准确最优解,但计算复杂度为O(n!),故对大型问题需寻找近似算法求解。 需采用近似算法往往需要增加一些限制,以便能够提高计算速度和近似程度: (1) G是无向正权图。 (2) 对图中任意的三点构成的三角形,其中任何两边之和大于第三边。 求解思路:给v1一个自环,得到第一个回路。以后反复执行以下过程:寻找与已得回路距离最近的点,将之插入到回路中;回路以外无结点时终止。 2.6 最短路径 1. 最短路问题 在一个赋权图中,将权视为边长,求指定两结点之间的最短路长及路线。 正权图中V1到各点的最短路径 对于正权图G,若L是点vs到点vt的最短路,且L经过点vj ,记L中从vj到vt的那部分路线为L’,则L’就是vj到vt的一条最短路。 2. 正权图最短路问题的求解 ——Dijkstra算法 问题:求起点v1到其它各点的最短路。 记号:用S表示已求得最短路的结点的集合,用E表示到S中各点的最短路的边的集合。 算法中的d(i)(称为点vi的标号)表示起点v1到vi的一条路的长度,当vi在S中时d(i)是v1到vi的最短路的长度。 Dijkstra 算法: 1) 让d(1):=0, S:={1}, k:=1, E:=Φ; d(i)=w1i, i = 2, 3, …,n. (若图中边(vi,vj)不存在,则记wij =∞) 2) 在S以外的所有点中找标号最小的点: d(k0)=min {d(j): vj不在S中} ; 3) S:=S∪{k0},k:= k0, E:=E∪{ek0}(为取到值d(k0)的边),并修改与vk0相邻的点的标号: d(j):=min {d(j), d(k)+wkj}, j?S. 若|S|=n,则终止迭代;否则回到第2步。 (注意理解j?S时标号d(j)的含义) 对本算法的理解及算法正确性的证明: 3. 权均为1时最短路问题的求解 因为是正权图,故可直接采用Dijkstra方法。但此时情况特殊,Dijkstra算法可以简化: 每轮迭代有一批结点标号相同,让它们都进入S;修改它们的全部直接后继结点的标号(均相等),故下一次让这一批结点全部进入S;…。 总之,每轮让一批结点进入S后,其全部直接后继结点将成为下一轮进入S的全部结点。反复这一操作,直到|S|=n为止。 2. 权有负数时最短路问题的求解 ——Ford 算法 权有负数时Dijkstra算法失效。( 为什么? ) 若图中不含负回路时最短路问题可解。 Ford算法采用迭代的办法,逐步逼近并最终得到最优解。 算法中第k 次迭代后,d(i)表示从起点v1 到点vi 的一条路的长度,且d(i)小于或等于边数不超过k 的最短路的长度。 因此,算法的迭代次数不
您可能关注的文档
最近下载
- 2025年中国人民抗日战争胜利80周年铭记历史吾辈自强主题党课PPT.pptx VIP
- 承台土方开挖施工方案.pdf VIP
- 人教版(2019)必修第一册 Unit 3 sports and fitness Reading for Writing 导学案(含答案).docx VIP
- 施工总体进度计划及保障措施.doc VIP
- 《四年级上册语文第四单元复习》课件.pptx VIP
- 重庆独立储能电站项目可行性研究报告.docx
- 《思想政治教育学原理》教学.ppt VIP
- 某楼盘项目首期开盘营销工作倒排计划.xlsx VIP
- 2022人教版四年级上册数学期中测试卷含答案(基础题).docx VIP
- 《尿石症的诊断和治疗(2025EAU指南)》解读PPT课件.pptx VIP
原创力文档


文档评论(0)