- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
贪心算法求解TSP(旅行商问题)
- 贪心算法求解(TSP) 旅行商问题 问题描述 旅行商问题(Traveling Salesman Problem, TSP):有一个推销员,要到n个城市推销商品,他要找出一个包含所有n个城市的具有最短路程的环路。 例如给定一个城市和城市间的距离集合,求经过所有城市恰好一次的最短回路, 即;给定图G=(V,E,W),其中V为顶点集合,|V|=n,E为边集合,W为边权函数,求集合{1,2,…n}的一个排列使得下式最小。 解决思路: 借助矩阵把问题转化为矩阵中点的求解: 首先构造距离矩阵,任意节点到自身节点的距离为无穷大(在这里我用100来表示无穷大),在第一行找到最小项a[1][j],从而跳到第j行;再找到最小值a[j][k],从而跳到第k行进行查找…… 然后构造各行允许数组row[n]={1,…,1},各列允许数组colable[n]={0,1,…,1},其中1表示允许访问,即该节点未被访问;0表示不允许访问,即该节点已被访问。如果该行或该列不允许访问,则跳过该点访问下一节点。 核心算法说明: 1)输入节点数n和连接矩阵a 2)定义行、列允许矩阵row[n]={1,…,1}、row[n]={1,…,1} 3)赋初值:s=0,i=0 4)While row[i]=1 5) j=0,m=a[i][0],k=0 6) 找到第一个允许访问的节点a[i][j] 7) 寻找a[i][j~n-1]中的最小元素 8)End while 特殊说明: 程序在访问最后一个节点钱,所访问的行中至少有1个允许访问的节点,依次访问这些节点找到最小即可:在访问最后一个节点后,再次访问,会返回k=0,即实现了访问源节点。所以,各个节点都被访问,且访问路径为一简单回路。 实例演示: 例题: 以4个节点为例,演示算法运行过程(以100表示无大): 输入连接矩阵: 100 3 9 2 3 100 1 4 9 1 100 7 2 4 7 100 实例演示: 运算过程: (1) (2) (3) (4) 实例演示: 对应连线图: 运行结果: 贪心选择性质(n=2): 因为旅行商问题是一个典型的NP问题,找不到一个算法能保证在多项式时间内得到最优解。所以无需证明其贪心选择性质,而本算法只要求找到近似解,而在多项式时间内结束。 最优子结构性质(n=2): 设sn是此问题的最优解,那么可以把它分解为sn=s2+sn-1; 假设存在s’n-1为n-1规模是的最优解,则sns2+s’n-1, 而这与假设矛盾,所以可以得出旅行商问题具有最优子结构性质。 程序实现: 定义数组,节点,函数代码: 程序实现: 主函数代码: 程序实现: 程序实现: 求最短距离函数代码: Thank you !
您可能关注的文档
- 负荆请罪-第一课时(蔡远梅xiugai)6.ppt
- 谈高一英语语言知识和阅读教学.ppt
- 豪放词专题研究.ppt
- 财产保险国内与国外的发展状况.ppt
- 象屿鼎城活动方案4.12.pptx
- 财务专业税法第二章自学课件.ppt
- 财务会计大学消费税课程讲义.ppt
- 财务会计2-应收款项.ppt
- 财务成本管理(2013年注册会计师)第三章 长期计划与财务预测 课后作业(下载版).doc
- 财务112班红旗团支部申报PPT.ppt
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)