遗传算法及在求解TSP中应用.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
遗传算法及其在求解TSP 中的应用 郑伟,孙文生 北京邮电大学电信工程学院,北京(100876 ) E-mail:zhw1983@ 摘要:讨论了遗传算法的基本原理,给出了采用遗传算法求解 TSP 问题的实例,并引入局 部搜索机制。实验表明,本算法在城市规模较小时,能 100 %求得最优解,而且寻优速度很 快;当城市规模较大时,能在很短的时间内求得次优解。 关键词:遗传算法,TSP 问题,优化 中图分类号: TP301.6 1. 引言 [1] 遗传算法 (Genetic Algorithm, GA),是模拟达尔文的遗传选择和自然淘汰的生物进化过 程的计算模型,它是由美国Michigan 大学的J.Holland 教授于1975 年首先提出的[2] 。众所周 知,自然界有不少问题需要在复杂而庞大的搜索空间中寻找最优解或准最优解, TSP 问题和 规划问题等组合优化问题就是典型的例子。在求解此类问题时,若不能利用问题的固有知识 来缩小搜索空间,则会产生搜索的“组合爆炸”。因此,研究能在搜索过程中自动获取和积 累有关搜索空间的知识,并自适应地控制搜索过程[3,4,5],从而得到最优解或准最优解的通用 搜索算法一直是令人瞩目的课题。 传统搜索方法都是单点搜索算法,即通过一些变动规则,使问题的解从搜索空间的当 前解(点)移到另一解(点) 。这种点对点的搜索方法,对于多峰分布的搜索空间,常常会陷于 某一局部最优解。相反,GA 不是采用确定性规则,而是采用概率的变迁规则来指导它的搜 索方向,即采用概率作为工具,来引导其搜索过程朝着搜索空间的更优化的解区域移动。所 有这些特点和技术,使得GA 使用简单,鲁棒性强,易于并行化,从而应用范围甚广。 GA 基本上不用搜索空间的知识或其它辅助信息,而仅用适应度函数[6]值来评估个体, 并在此基础上进行遗传操作,其适应度函数不仅不受连续可微的约束,而且其定义域可以任 意设定。它对适应度函数的唯一要求是对于输入可计算出加以比较的正的输出。 2. 遗传算法求解TSP TSP 问题是一个易于描述却难以处理的NP 难题,TSP 问题因其典型性已成为各种启发 式搜索、优化算法的间接比较标准。 2.1 TSP 问题的启发式算法 爬山法是一种基于邻域搜索技术的方法,它沿着有可能改进解的质量的方向进行单方 向的搜索(爬山) 。对于象TSP 这类多峰问题,爬山法由于缺乏问题可行解空间的全局采样性, 因此陷入局部解的可能性很大。下面将详细讨论爬山法和遗传算法求解 TSP 问题的性能, 这里先给出爬山法的基本思想: (1) 首先选择一条TSP 合法路径做为当前路径。 (2) 对当前路径进行一次邻域搜索操作(如对换、逆转操作等) 。 (3) 若所施加的操作使当前路径长度变短,则以所施操作后改变的路径做为当前路径。 (4) 重复步骤(2)和(3),直到所有邻域操作均不能改进解的质量为止。 - 1 - 2.2 TSP 问题的遗传算法 采用遗传算法求解 TSP,最自然的编码方式是以N 个城市的遍历次序做为遗传算法的 编码。如码表示自城市 1 开始,依次经过2,3,4,5,6,7,8 ,最后返回城市1 的遍历 路径。对于这种顺序编码方法,若采用简单的一点交叉或多点交叉策略,必然以极大的概率 导致未能完全遍历所有城市的非法路径。为此选用如下交叉方法: 1. 随机在两个父串中选择一个交配区域,如两父串及交配区域选定为 A = 1 2 ⏐3 4 5 6 ⏐ 7 8 B = 8 7 ⏐6 5 4 3 ⏐ 2 1 2. 将B 的交配区加到A 的前面,A 的交配区加到B 的前面,得到

文档评论(0)

bhyq + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档