TSP问题容易懂的遗传算法.doc

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TSP问题容易懂的遗传算法

TSP问题,容易懂的遗传算法 TSP 问题的遗传算法求解 摘要:遗传算法是模拟生物进化过程的一种新的全局优化搜索算法,本文简 单介绍了遗传算法,并应用标准遗传算法对旅行包问题进行求解。 关键词:遗传算法、旅行包问题 一、 旅行包问题描述: 旅行商问题,即TSP 问题(Traveling Saleman Problem)是数学领域的一 个著名问题,也称作货郎担问题,简单描述为:一个旅行商需要拜访n个城市 (1,2,…,n),他必须选择所走的路径,每个城市只能拜访一次,最后回 到原来出发的城市,使得所走的路径最短。其最早的描述是1759年欧拉研究 的骑士周游问题,对于国际象棋棋盘中的64个方格,走访64个方格一次且最 终返回起始点。 用图论解释为有一个图G=(V,E),其中V是顶点集,E是边集,设D= (d ij )是有顶点i 和顶点j 之间的距离所组成的距离矩阵,旅行商问题就是求出 一条通过所有顶点且每个顶点只能通过一次的具有最短距离的回路。若对于 城市V={v1 ,v2,v3,... ,vn}的一个访问顺序为T=(t1,t2 ,t3 ,…,ti ,…, tn),其中ti V(i=1 ∈ ,2,3,…,n) ,且记tn+1= t1 ,则旅行商问题的数学模型 为: min L= Σd(t(i),t(i+1)) (i=1 ,…,n) 旅行商问题是一个典型组合优化的问题,是一个NP难问题,其可能的 路径数为(n-1)!,随着城市数目的增加,路径数急剧增加,对与小规模的旅 行商问题,可以采取穷举法得到最优路径,但对于大型旅行商问题,则很难 采用穷举法进行计算。 在生活中TSP 有着广泛的应用,在交通方面,如何规划合理高效的道路 交通,以减少拥堵;在物流方面,更好的规划物流,减少运营成本;在互联 网中,如何设置节点,更好的让信息流动。许多实际工程问题属于大规模TSP , Korte于1988 年提出的VLSI芯片加工问题可以对应于1.2e6的城市TSP , Bland于1989年提出X-ray衍射问题对应于 14000 城市TSP ,Litke于1984 年提出电路板设计中钻孔问题对应于17000 城市TSP ,以及 Grotschel1991 年 提出的对应于442 城市TSP 的PCB442 问题。 二、 遗传算法简介 遗传算法(Genetic Algorithm,GA)是借鉴生物界自然选择和自然遗传 机制“适者生存”的一种高度并行、随机化和自适应的全局优化算法,其首 先由Holland与1975年提出。其将问题的求解表示成“染色体”的适者生存 过程,通过“染色体“群的一代代不断进化,包括复制、交叉和变异等操作, 最终收敛到”最适应环境“的个体,从而得到问体的最优解。 标准的遗传算法的只要步骤可描述为为: 1、 随机产生一组初始个体构成初始种群,并评价每一个体的适配值; 2、 判断算法的收敛准则是否满足。若满足则输出搜索结果,否则执行 下面步骤; 3、 根据适配值大小以一定的方式执行复制操作; 4、 按交叉概率pc 执行交叉操作; 5、 按变异概率pm 执行变异操作。 6、 返回2 执行新一轮的复制、交叉、变异。 在算法中,适配值是对染色体进行评价的一种指标,是遗传算法进行优 化所用的主要信息,与个体的目标值存在一种对应关系;复制操作通常采用 比例复制,即复制概率正比于个体适配值,适配值高的个体在下一代中复制 自身的概率大,从而提高种群的平均适配值;交叉操作通过交换两父代个体 的部分信息构成后代个体,使得后代继承父代的有效模式,从而有助于产生 优良个体;变异操作通过随机改变个体的某些基因而产生新个体,有助于增 加种群的多样性,避免早熟收敛。 遗传算法利用生物进化和遗传的思想实现优化过程,区别与传统优化算 法 1、 算法进行全空间并行搜索,并将搜索重点集中于性能高的部分, 从而能够提高效率并且不易陷入局部最小。 2、 算法具有固有并行性,通过对种群的遗传处理可以处理大量的模 式,并且容易并行实现; 其主要设计如下: 1、确定问题的编码方案。 2、确定适配值函数。 3、遗传算子的设计。 4、算法参数(种群数目、交叉与变异概率和进化代数等)的选取。 5、确定函数终止条件。 三、 对 TSP 问题的遗传算法实现 设计思路: 1、初始化城市距离 采用一个city_xy函数获取 n 个城市的 TSP 问题的坐标,保存在city 矩 阵中,并且用city_dis 矩阵表示任意两个城市之间的距离,矩阵

文档评论(0)

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

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

1亿VIP精品文档

相关文档