TSP的人工智能求解.docxVIP

  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的人工智能求解 TSP 的人工智能求解问题 1 TSP的人工智能求解 摘要 TSP(Traveling Salesman Problem)问题,又译为旅行商问题,是数学领域著名问题之一。假设有一个旅行商要拜访 n 个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后必须要回到原来出发的城市。路径的选择目标是要求得的路径路程和为所有路径和之中的最小值。该问题可简化为一个图论问题:假设有一个 图G=(V,E),其中 V 是顶点集,E 是边集,设D=(d )是由所有顶点i ij 和顶点 j(i,j=1,2...n)之间的距离所组成的n*n 距离矩阵,旅行商问题就是求出一条通过所有顶点且每个顶点只通过一次的具有最短距离的回路。本文主要运用遗传算法,C 语言变成实现对经过的城市进行Grefenstette 编码,交叉和变异,之后对算法进行不断修正循环,得到一个最优解,即是最短距离。 1问题 假设有一个旅行商要拜访n 个城市,他必须选择所要走的路径, 2 TSP的人工智能求解 路径的限制是每个城市只能拜访一次,而且最后必须要回到原来出发的城市。路径的选择目标是要求所得的路径路程为所有路径之中的最小值。 本文中,给出具体的 10 个城市的坐标,利用遗传算法的思想对该问题进行具体求解。10 个城市TSP 坐标如下: 城市 X Y A 5.2 1.5 B 4.2 3.6 C 4.7 2.8 D 4.1 2.2 E 0.9 3.8 F 4.7 6.1 G 1.5 2.9 H 3.4 2.1 I 3.7 3.6 J 2.6 2.5 2 符号说明 V 顶点的集合 C 过所有定点且最后回到起点的圈(不重复) vi 第i 个城市的标号, i=1,2,…10 E 所有边的集合 eij vi 到vj 的边 3 TSP的人工智能求解 wij vi 到 vj 距离 Tx 巡回路线 G 巡回路线城市列表 gi 在访问中第n 个被访问的城市 W 圈C 的权值 Pm 变异概率 F 适应度函数 3 模型假设 假设n 取 10 已经足够大 假设变异概率以及适应度函数准确 在交叉运算和变异运算中没有产生不满足约束条件或无实际意义的巡回路线 设随机选取的r 准确  4 问题分析 这可以归结为一个图论问题:给出一个图G=(V,E),每个边e ij ∈E,且每一个边 e 上都有非负权值 w(e),寻找一个 G 的一个回路C, 使得C 不重复过定点v (i=1,2,…n),使 C 的总权 W(C)=∑w(e) i (其中e∈E)最小。 可以知道,总的旅程路线为组合数(n-1)!/2 ,TSP 搜索空间随着城市数n 的增加而增大,一般很难精确地求出其精确的最优解, 因此利用遗传算法的思想对旅行商所经过的城市进行编码,将问题空间的数据映射成遗传空间的基因串结构数据。用遗传算法解决TSP, 4 TSP的人工智能求解 一个旅程很自然地表示为n 个城市的排列,但基于二进制编码的交叉和变异操作不能适用,因此利用Grefenstette 方法对其进行编码, 对这些已经编码的数据,再利用遗传算法常用的单点交叉对路径进行交叉变换,并且利用变异概率对路径进行进一步修正,从而得到接近 的解。  模型建立 交叉模型的建立 城市编码的设计 常规的交叉运算和变异运算使群体中产生一些不满足问题约束条件或者无实际意义的巡回录像,为了克服这种编码方法的缺点,基于对各个城市的访问顺序,采用由 Grefenstette 等提出的一种新的巡回路线编码方法,该方法可以使得任意的基因型个体都能够对应一条具有实际意义的巡回路线,下面对这种新的编码方法进行介绍: 对于一个旅行商问题的城市列表M,假定各个城市的一个访问顺序为T: T=(t ,t ,t ,…,t ,…t ) 1 2 3 i n 规定每访问完一个城市,就从城市列表 M 中将该城市删除,则用 第 i 个访问的城市 ti 在所有未访问的城市列表 M-{t ,t ,…t }中对 1 2 i-1 应位置序号 gi 就可以表示具体访问哪个城市,如此处理玩M 中的所有的城市。将所有的gi 排列在一起得到一个列表:G=(g1,g2,…gn) 就可以表示成一条巡回路线,它即为遗传算法的一个个体的基因型。为了方便运算,取 10 个城市: 5 TSP的人工智能求解 M=(A B C D E F G H I J) 现在有两条巡回旅行路线: Tx=(A D B H F I J G E C) Ty=(B C A D E J H I F G) 按照上述 Grefenstette 所提出的编码方法,这两条巡回旅行路线可以编码为 Gx=( 1 3 1 5 3 4 4 3 2 1) Gy=(2 2 1 1 1 5 3 3 1 1

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

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

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档