202101 禁忌算法TS求解TSP问题及Matlab编程实现.pdf

202101 禁忌算法TS求解TSP问题及Matlab编程实现.pdf

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:19108035856(电话支持时间:9:00-19:00)。
第七章 禁忌算法求解 TSP 旅行商问题 Matlab 实现  主要学习和讲解禁忌算法求解 TSP ,为了对比顺便讲解了 2‐opt (全邻域搜索)求解 TSP 。                                         Created by Jiannywang@163.com ,  2021‐03‐20  视频和代码资料请访问:  7.1 旅行商问题概述  1  7.2 旅行商问题的应用  3  7.3 算例问题描述和模型构建  4  7.4 2‐opt 全邻域搜索求解 TSP 思路及 Matlab 实现  4  7.5 禁忌搜索算法求解 TSP 思路及 Matlab 实现  8  7.5.1 禁忌搜索算法简介  8  7.5.2 禁忌搜索算法基本思想  9  7.5.3 禁忌搜索基本流程  9  7.5.4 禁忌搜索算法基本构成  10  7.5.5 禁忌搜索计算流程及 Matlab 程序实现  12  7.6 禁忌搜索算法求解 TSP 备注  16      7.1 旅行商问题概述 旅行商问题(Traveling Salesman Problem,简称 TSP)又名货郎担问题, 是威廉•哈密尔顿爵士和英国数学家克克曼(T.P.Kirkman)于 19 世纪初提出的一 个数学问题,也是著名的组合优化问题。问题是这样描述的:一名商人要到若干 城市去推销商品,已知城市个数和各城市间的路程(或旅费),要求找到一条从 城市 1 出发,经过所有城市且每个城市只能访问一次,最后回到城市 1 的路线, 使总的路程(或旅费)最小。TSP刚提出时,不少人认为这个问题很简单。后来 人们才逐步意识到这个问题只是表述简单,易于为人们所理解,而其计算复杂性 却是问题的输入规模的指数函数,属于相当难解的问题。 在考虑解决这个问题时,首先想到的一种方法就是:列出每一条可供选择的 1    路线(即对给定的城市进行排列组合),计算出每条路线的总里程,最后从中选出 一条最短的路线。假设现在给定的 4 个城市分别为 A、B、C 和 D,各城市之间的 耗费为己知数,如图 1 所示。可以通过一个组合的状态空间图来表示所有的组合, 如图 2 所示。 图  1 顶点带权图                              图 2 TSP 问题的解空间树  列举法可以获得最优解,但是只有在节点数较少时可以快速求解,当节点数 增加时,搜索的路径组合数量将成指数级增长,从而使得状态空间搜索效率降低, 要耗费太长的计算时间。节点数为 N 的 TSP 问题,其路径组合数量为(N-1)!,在 使用列举法进行求解时,首先需要将这(N-1)!的回路列举出来,需要耗费计算机 (N-1)!的基本运算;再将每条回路的路程(或旅费)计算出来,以每条弧的路程 (或旅费)都是 1 位数为例,每条回路的总路程(或总旅费)需要耗费 N 个基本 运算,则全部回路的路程(或旅费)计算需要耗费计算机 N(N-1)!的基本运算; 最后再对这(N-1)!条回路路程(或旅费)进行比较,从而获得最优解。可以看出 列举法进行节点数为N的TSP问题求解至少要进行N(N-1)!+2(N-1)!步的基本运 算。当节点数较多时,列举法运算复杂性急剧增加,而且计算机的运算时间也急 剧增加,甚至导致无法进行实际应用。以 CPU 为 2Ghz 的计算机为例,其每秒钟 能够进行基本运算 2^30=1073741824 次,列举不同节点数量下 TSP 问题的回路总 数和计算时间如表 1 所示。 2    表1 TSP问题节点数量、回路总数和计算时间表 节点数量 3 6 9 12 15 18 21 24 27 399168 8.72E+ 3

您可能关注的文档

文档评论(0)

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

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

认证主体王**

相关文档

相关课程推荐