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

上传人:枫** 文档编号:493898021 上传时间:2023-02-24 格式:DOCX 页数:3 大小:13.84KB
返回 下载 相关 举报
遗传算法和模拟退火法在解决tsp问题上的对比分析_第1页
第1页 / 共3页
遗传算法和模拟退火法在解决tsp问题上的对比分析_第2页
第2页 / 共3页
遗传算法和模拟退火法在解决tsp问题上的对比分析_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《遗传算法和模拟退火法在解决tsp问题上的对比分析》由会员分享,可在线阅读,更多相关《遗传算法和模拟退火法在解决tsp问题上的对比分析(3页珍藏版)》请在金锄头文库上搜索。

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

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

3、人工进化的方式对目标空间进行随机化搜索。它将问题域中的可能解看作是群体的 个体,并将个体编码成符号串形式(即染色体),模拟生物进化过程,对群体反复进行交叉、 变异、选择等操作,根据预定的适应度函数对每个个体进行评价,依据优胜劣汰的进化规则, 不断得到更优的群体,同时搜索优化群体中的最优个体,求得满足要求的最优解。GA采用一定的编码技术构造染色体(个体),而基因是组成染色体的单元,可以表示为 一个二进制位,一个整数或一个字符等。染色体表示待求解问题的一个可能解,由若干个基 因组成,是GA操作的基本对象。而一定数量的个体组成了种群,表示GA的搜索空间。在 GA 的执行过程中,每一代有许多不同的种群

4、个体同时存在。根据这些个体对环境的适应能 力来决定下一代的个体,适应性强的有更多的机会被选择保留下来。适应性强弱是通过适应 度函数f (x)的值来判别的,适应度函数f (x)的构成与目标函数有密切关系,往往是目标 函数的变种【3】。3用遗传算法求解TSP用遗传算法解Tsp问题,采用十进制编码,基因定义为一个城市,染色体定义为到各 城市顺序的一种组合,适应度为一条旅行路径对应的距离,路径越短的染色体适应度越高。 例如,取N=10,城市代号为1,2, 3, 4, 5, 6, 7, 8, 9,10,则种群中的染色体:2 8 4 1051 73 6 9:表示一条旅行路径 :2-8-4-1-5-1-7-

5、3-6-9-2:其总路径长工D1 D + D + D + D + D + D + D + D + D + D,并把最小化优化目1 28 84 410 105 51 17 73 36 69 97标函数变换为以最大值为目标的适应度函数,适应度函数定义如下:f(x)=1 Y D。31 选择算子:模仿自然选择作用,选择适应性强的个体组成新的种群,保留它们的部分 基因到下一代,这里采用最简单的轮盘赌选择法【5】。一开始用随机方法产生初始群体。随 着遗传算法的执行,则保留N个较优的个体作为群体。在每一代运算过程中,个体被选中 的概率与其在群体中的相对适应度成正比。32 交叉算子:把两个父本的部分结构加以替

6、换重组而生成新的个体,它是遗传算法取得 新优良个体的最重要手段。这里采用改进的顺序交叉方式(IOX, improved order crossover) 【6】即先用随机均匀分布方法在欲交换两父染色体串中各产生两个交换点,把这两点之间 的区域定义为交配区域将两个交配区域交换后分别放到两个父本的前面为了保证基因的 唯一性再将父本中原有的重复个体删除。举例如下:A=1 2 (3 4 5 6) 7 8 9B=9 8 (7 6 5 4 )3 2 1将B的交配区域加到A的前面,A的交配区域加到B的前面,得到:A=7 6 5 4 1 2 3 4 5 6 7 8 9B=3 4 5 6I 9 8 7 6 54

7、 3 2 1然后在A中自交配区域依次删除与交配区相同的城市码,达到最终的子串如下A”=7 6 541 2 3 8 9B”=3 4 5 6 9 8 7 2 1这样,在两个父代串相同的情况下仍能产生一定程度的变异效果,维持群体内一定的多样化 特性,在一定程序上有效抵制了早熟现象【7】。43 变异算子:变异保持了种群的多样性,与选择、交叉算子结合在一起,保证了遗传算 法的有效性,防止出现非成熟收敛。这里采用交换变异,也称为对换变异,即随机选择串中 的两点,交换码值。如在下面的串中交换4和7,得到AA=1 2 3 4 5 6 7 8 9A=1 2 3 7 5 6 4 8 91 1 模拟退火算法简介模拟

8、退火算法(Simulated Annealing,简称SA)是基于Monte Carlo迭代求解策略的一 种随机寻优算法【8】,其出发点是基于物理退火过程与组合优化之问的相识性,SA由某 一较高温度开始, 利用具有概率突跳 特性的 Metropolis 抽样策略在解空间中进行随机搜 索, 伴随温度的不断下降重复抽样过程,最终得到问题的全局最优解。模拟退火算法能够 有效地解决连续变量和离散变量的全局寻优问题, 相对于传统的优化方法, 模拟退火算法 具有许多优点, 如高效性、 简化性、 健壮性、 稳定性、 通用性和灵活性等等。但模拟 退火算法也有不足, 如为了求得一个高质量的近似最优 解花费的时间

9、较长,尤其是当问题 规模不可避免地增 大时, 难以承受的执行时间将使算法丧失可行性。2 用拟退火算法解决TSP问题下面针对TSP问题给出模拟退火算法的基本步骤:(1 )给定初始温度t = t。,确定降温准则,并随机产生初始状态s = s 0 ,令初始最 优解为 s = s = s 。, 令 k= 0 ;( 2 ) 判断是否满足优化结束的收敛条件, 如果满 足则输出优化的结果, 不满足继续步骤 ( 3 ) ;( 3 ) 由状态产生函数产生新状态 s , 即 S j =G e n e r a t e ( s ) , 并计算路程目标 的增量值,设路程目标函数为c (),则增量A E= C ( s t ) 一 c ( . s );(4 )判断A E的值。如果A C , 0 ,判断条件m i n 1 , e x p 一 3 c / t o 三r a n d o m 0 ,1 是否满足,如果满足同 样接受s 为当前解, 即 s =s t , 如果不满足则保持当 前状态不变;4 ) 判断是否满足 Me t r o p ol i s 抽样稳定性准则, 如 果满足则转到步骤( 2 ) , 并令 k=k+1 , t =u p d a t e ( t ) ; 如果不满足则转到步骤(3)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号