遗传算法和模拟退火法在解决tsp问题上的对比分析

遗传算法和模拟退火法在解决tsp问题上的对比分析

ID:38424527

大小:30.00 KB

页数:3页

时间:2019-06-12

遗传算法和模拟退火法在解决tsp问题上的对比分析_第1页
遗传算法和模拟退火法在解决tsp问题上的对比分析_第2页
遗传算法和模拟退火法在解决tsp问题上的对比分析_第3页
资源描述:

《遗传算法和模拟退火法在解决tsp问题上的对比分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、遗传算法和模拟退火法在解决TSP问题上的对比研究邓朝丞摘要:TSP问题是组合优化领域的经典问题之一,旨在求出遍历若干个城市的最短路径。针对在用各种算法解决TSP问题的不同点,本文分析比较了运用遗传算法,模拟退火法处理TSP问题的优缺点,得出解决TSP问题的最适宜算法。关键词:TSP问题,遗传算法,模拟退火法1引言:TSP问题也称为巡回旅行商问题,是一个相当古老的优化问题,最早可以追溯到1759年Euler提出的骑士旅行问题【1】。TSP问题是一个典型的容易描述但是难以处理的NP完全问题,是运筹学有代表性的组合优化问题,

2、可简单描述为有n个城市.一位销售商从某个城市出发,不重复地走完其余n-1个城市并回到原出发点,在所有可能的路径中求出路径长度最短的一条。其实际模型在印刷电路板的钻孔路线方案、连锁店的货物配送、网络布线等优化问题中有着广泛的应用【2】。同时TSP问题也是诸多领域内出现的多种复杂问题的集中概括和简化形式.所以,有效地解决TSP问题在计算理论和实际应用上都有很高的价值。目前求解TSP问题的主要方法有遗传算法,模拟退火算法,本文将该两种算法在解决TSP问题时所存在的不同,通过实验对比,分析这两种算法在求解组合优化上的优劣性,同

3、时提出改进的建议。2.遗传算法简介遗传算法(GA)是一种基于自然群体遗传演化机制的算法,它模拟自然界生物进化过程,采用人工进化的方式对目标空间进行随机化搜索。它将问题域中的可能解看作是群体的个体,并将个体编码成符号串形式(即染色体),模拟生物进化过程,对群体反复进行交叉、变异、选择等操作,根据预定的适应度函数对每个个体进行评价,依据优胜劣汰的进化规则,不断得到更优的群体,同时搜索优化群体中的最优个体,求得满足要求的最优解。GA采用一定的编码技术构造染色体(个体),而基因是组成染色体的单元,可以表示为一个二进制位,一个整

4、数或一个字符等。染色体表示待求解问题的一个可能解,由若干个基因组成,是GA操作的基本对象。而一定数量的个体组成了种群,表示GA的搜索空间。在GA的执行过程中,每一代有许多不同的种群个体同时存在。根据这些个体对环境的适应能力来决定下一代的个体,适应性强的有更多的机会被选择保留下来。适应性强弱是通过适应度函数的值来判别的,适应度函数的构成与目标函数有密切关系,往往是目标函数的变种【3】。3用遗传算法求解TSP用遗传算法解Tsp问题,采用十进制编码,基因定义为一个城市,染色体定义为到各城市顺序的一种组合,适应度为一条旅行路径

5、对应的距离,路径越短的染色体适应度越高。例如,取N=10,城市代号为1,2,3,4,5,6,7,8,9,10,则种群中的染色体:28410517369:表示一条旅行路径:2---8---4---1---5---1---7---3---6---9---2:其总路径长,并把最小化优化目标函数变换为以最大值为目标的适应度函数,适应度函数定义如下:=。3.1选择算子:模仿自然选择作用,选择适应性强的个体组成新的种群,保留它们的部分基因到下一代,这里采用最简单的轮盘赌选择法【5】。一开始用随机方法产生初始群体。随着遗传算法的执行

6、,则保留N个较优的个体作为群体。在每一代运算过程中,个体被选中的概率与其在群体中的相对适应度成正比。3.2交叉算子:把两个父本的部分结构加以替换重组而生成新的个体,它是遗传算法取得新优良个体的最重要手段。这里采用改进的顺序交叉方式(IOX,improvedordercrossover)【6】.即先用随机均匀分布方法在欲交换两父染色体串中各产生两个交换点,把这两点之间的区域定义为交配区域.将两个交配区域交换后分别放到两个父本的前面.为了保证基因的唯一性.再将父本中原有的重复个体删除。举例如下:A=12(3456)789B

7、=98(7654)321将B的交配区域加到A的前面,A的交配区域加到B的前面,得到:A’=7654123456789B’=3456I987654321然后在A’中自交配区域依次删除与交配区相同的城市码,达到最终的子串如下A”=765412389B”=345698721这样,在两个父代串相同的情况下仍能产生一定程度的变异效果,维持群体内一定的多样化特性,在一定程序上有效抵制了早熟现象【7】。4.3变异算子:变异保持了种群的多样性,与选择、交叉算子结合在一起,保证了遗传算法的有效性,防止出现非成熟收敛。这里采用交换变异,也

8、称为对换变异,即随机选择串中的两点,交换码值。如在下面的串中交换4和7,得到A’:A=123456789A’=1237564891.1模拟退火算法简介模拟退火算法(SimulatedAnnealing,简称SA)是基于MonteCarlo迭代求解策略的一种随机寻优算法【8】,其出发点是基于物理退火过程与组合优化之问的相识性,SA由

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。