搜索
您的当前位置:首页正文

基于遗传-模拟退火的蚁群算法求解TSP问题

来源:二三娱乐
计与应j 文章编号:1671—4598(2016)03—0143—02 计算机测量与控制.Computer Measuremen2t&Co01 6.24n(t3)rol DOI:10.16526/j.cnki.11--4762/tp.2016.03.039 中图分类号:TP18 ・ 143 ・ 文献标识码:A 基于遗传一模拟退火的蚁群算法求解TSP问题 徐 胜,马小军,钱 海,王震宇 (南京T业大学电气工程与控制科学学院,南京 211800) 摘要:传统的蚁群算法具有收敛性好、鲁棒性强等优点,但在解决旅行商(TSP)问题方面存在收敛时间长,容易出现停滞等问题; 为了提高传统蚁群算法的解的质量,本文提出了基于遗传一模拟退火的蚁群算法(G—SAACO),将遗传算法和模拟退火算法引入蚁群 算法中;其方法是在传统蚁群算法中引入遗传算法的变异与交叉策略来得到候选j辞,增加解的多样性;同时引进模拟退火算法机制,使 得在高温时以较高概率选择候选集中比较差的解加入最新集,温度控制上加入了回火机制,进一步提高解的质量;为了检验改进的蚁群 算法,随机选用了TSPLIB中的部分城市进行仿真,结果与传统蚁群算法、模拟退火蚁群算法、遗传蚁群算法相比,算法具有较强的发 现较好解的能力,同时增强了平均值的稳定性。 关键词:传统蚁群算法;遗传算法;模拟退火;旅行商问题 Genetic--simulated Annealing--based Ant Colony Algorithm for Traveling Salesman Problem Xu Sheng,Ma Xiaojun,Qian Hal,Wang Zhenyu (College of Electrical Engineering and Contro1 Science,Nanjing Tech University,Nanjing 211800,China) Abstract:The traditional ant colony algorithm has the advantages of good convergence and robustness,but has a long convergence time in solving the problem of TSP.In order tO improve the quality of the solution of the traditional ant colony algorithm。G—SAACO is pro— posed,the genetic algorithm and simulated annealing algorithm are introduced into the ant colony algorithm..The idea of the algorithm was to introduce the variation and crossover strategy of genetic algorithm into the traditional ant colony algorithm to get the candidate solutions, which increased the diversity of the solution.And introduction of simulated annealing algorithm mechanism made the algorithm have higher probability of selecting poor solutions in a candidate set into the latest set.Besides,In the mechanism of controlling the temperature,the quality of the solutions was improved through backfire strategy.In order to test the improved ant colony algorithm,randomly selected parts of the city of the TSPLIB to simulate.Compared with the standard GA,simulated annealing algorithm and the traditional ant colony algo— rithm for traveling salesman problem(TSP).The results show that the algorithm has a strong ability to find good solutions,and the stabili— ty of the average value is enhanced. Keywords:traditional ant colony algorithm;genetic algorithm;simulated annealing;traveling salesman problem 0 引言 在20世纪5O年代中期,人们从生物行为和生物进化的机 理中获得启发,提出了各种用来解决优化问题的方法,如遗传 算法、禁忌搜索、模拟退火、进化策略等。20世纪9O年代, 意大利学者Dorigo等人通过观察蚂蚁觅食的行为提出了蚁群 慢 。 本文将遗传算法和模拟退火算法引入蚁群算法中,在对原 有算法改进的基础上,提出了一种基于遗传一模拟退火的蚁群 算法。此算法利用遗传算法对蚁群算法得到的解进行交叉变异 操作,从而获得新解,把蚁群算法的解和遗传算法的解组合成 候选集,扩大了解的范围,并在一定程度上避免了早熟现象。 同时结合模拟退火算法机制,使得在高温时能够以较高的概率 选择候选集中比较差的解加入最新集,增加了解的多样性,很 好的防止了早熟现象的发生;在低温时较差的解只有很小的概 率才会被加入到最新集,这有效地提高了算法的收敛速度。在 温度控制上加入了回火策略,进一步提高解的质量。 算法(ACO)[13。蚁群算法利用了蚁群觅食的正反馈原理,具 有收敛性好、鲁棒性强、并行性好等优点,使得其在解决TSP 问题方面优于模拟退火算法、禁忌算法、遗传算法等智能算 法 2 ]。但同时也存在收敛时间长,容易出现停滞等问题。文 献[4]中张晓婧等人提出的模拟退火蚁群算法在求解Job— Shop问题时,虽然提高了算法的收敛速度,但导致了早熟现 象。文献[53中江新姿等人提出的求解旅行商问题的模拟退 火蚁群算法,在一定程度避免了早熟现象,但收敛速度变 收稿日期:2015一O8—28;修回日期:2015—11—16 基金项目:江苏省普通高校研究生科研创新计划项目(SJLX一 0334)。 l传统蚁群算法求解TSP问题 1.1 TSP问题描述 设有 个城市,为任意两个城市i,J之间的距离,求经过 每个城市有且仅有一次的一条路径M一(M(1),M(2),…, M( )),使得 作者简介:徐胜(1990一),男,江苏常熟人,研究生,主要从事建筑 智能化技术方向的研究。 min{ ‰… + … ) 1.2传统蚁群算法的TSP求解 意大利学者M.Dorigo等人发现:蚂蚁在运动过程中会在 马小军(1956一),男,江苏南京人,教授,主要从事建筑智能化技术, PLC,嵌入式技术方向的研究。 ・144 ・ 计算机测量与控制 第24卷 所经过的路径上留下一种称之为信息素的物质,而且它们能够 感知到这种物质,并倾向于朝该物质强度高的方向移动 ]。因 此,由大量蚂蚁所组成的集体行为就表现出一种信息正反馈现 象:某一路径越短,那么该条路径上走过的蚂蚁就越多,所留 下的信息素的强度自然也就越大,后来者选择该条路径的概率 也就越大。蚂蚁个体之间通过这种信息交流来选择最短路径并 达到搜索食物的目的。 在旅行商问题中,设m为蚂蚁总数,表示t时刻位于城市i 的蚂蚁数,则。为t时刻边上信息素的强度,设(c为常数)。随着 时间的推移,先前的信息素会挥发,而新的信息素会加入,ID为 信息素保留程度,1一fD为信息素消逝程度,当m只蚂蚁都完成 一次循环后,各边的信息素按下面公式调整: rt+1、一 ( )+Ar (1) Ar 一∑ (2) 表示第k只蚂蚁留在路径 上的信息素,为此次循环中边 ij上的信息素增量。 一{ (3) L 一∑d (4) 为本次循环后,第k只蚂蚁的路径长度,Q为常数。 在循环过程中,由转移概率决定转移方向,表示第k只蚂蚁 从城市i转移到城市 的概率。 f 堡丛 … 一1∑嘲 ,J∈all。W d舢 为边(i, )的能见程度,是某种启发信息,信息素 和能见程度的相对重要性,一{0,1,2,3,…,n~1}一ta— buk表示允许蚂蚁k选择城市的集合,是蚂蚁k的禁忌表,用 来记录蚂蚁k已走过的城市,体现了人工蚂蚁的记忆性。 传统蚁群算法解TSP问题的基本步骤。 Step1:迭代步数”f—o,r 一c(C为常数),r,j—O,将 只蚂蚁随机放在 个顶点上; Step2:首先将各只蚂蚁的出发点放在当前解集中,然后 根据式(5)计算蚂蚁k的转移概率p ,并按照转移概率 移到下一个顶点 ,最后将顶点 放在当前解集中; Step3:当各蚂蚁k完成本次循环后,计算各只蚂蚁的路 径长度 ,并按照式(1)来更新信息素; Step4: c c+1; Step5:如果nc%总迭代步数,则转步骤2; Step6:根据各路径上信息素的强度,得出最好解。 2遗传一模拟退火的蚁群算法 在求解TSP组合优化问题时,蚁群算法是在整个可行解 内进行盲目的随机搜索全局最优解,因此就产生了算法的收敛 速度慢、易于停滞等问题,为了很好的克服这些问题。本文对 传统蚁群算法作了一些改进。 2.1遗传算法的引入 遗传算法是以“适者生存”和遗传变异理论为基础的一类 仿生优化算法。本文利用遗传算法的交叉和变异的策略来改善 蚁群算法的解的多样性。 遗传算法对蚁群算法得到的解集pathl中的解与pathl中 的最优解pbestl按概率交叉操作得到解集path2,然后再对 pathl中的解按概率进行变异操作获得解集path3,最后将 path1、path2和path3组合成候选集path。 交叉策略:在pbestl中随机选择一个交叉区域,删除待 交叉解中已在pbestl的交叉区中出现过的城市,将pbestl的 交叉区域加到待交叉解的随机位置上。例如:pbestl一1,2, 3,4,5,6,7,8;交叉区域为:5 6 7 8;待交叉解为8,7, 6,5,4,3,2,1;随机位置为3,交叉后为:4,3,2,5, 6,7,8,1。 变异策略:随机选择待变异解的第次和第次访问的城市, 在待变异解中交换这两次访问的城市,其他不变。例如:待变 异的解为8,7,6,5,4,3,2,1;一1,一4;则变异之后 的解为5,7,6,8,4,3,2,1。 2.2模拟退火算法的引入 2.2.1模拟退火机制的引入 本文利用模拟退火机制由候选集path生成最新解path— rlew,逐个计算候选集中的解,按照下列公式决定候选集中的 解是否加入最新集。 P 一 8‘亍 ,(△L>0),1,( ), (6) 其中:△L—L 一L… ,表示候选集中第W个解的路径长 度,表示候选集中最短的路径长度,T为当前温度值。若,则 将第W个解加到最新集pathnew中;否则在[o,1)之间产 生一个随机数,若,则第W个解进入最新集pathnew。 由式(6)可知:在高温时以较高概率选择候选集中比较 差的解加人最新集,增加了解的多样性,在一定程度在避免了 早熟和停滞现象。在低温时比较差的解只有很小的概率加入最 新集中,这样加快了算法的收敛速度。 2.2.2回火机制 在完成一次循环和信息素的更新后,温度T按照下列式 子进行降温: Trt+1、一, 口丁( ), (7) 从式(7)可以看出:如果取较小的降温系数a,这样可 以加快算法的速度,但很可能算法会陷入局部最优。为了克服 这个困难,本文运用了回火策略,当温度T下降到T 时,算 法立即温度T升到丁。,同时可以设定回火次数G,最大回火 次数G… 回火策略很好的发挥了模拟退火机制的作用。当温度T 上升到T 时,以较高概率选择候选集中比较差的解加入最新 集,大大减少了落人局部最优的风险。 2.3信息素的更新 对于TSP问题,在算法的初始阶段,信息素保留程度取 较大的值可以提高蚁群寻找新解的能力,但在后期取较小的值 可以使蚁群搜索更加集中|7]。为了使算法满足这一条件,本文 1 借助P(G+1)一lD(G)*(÷)。(G为回火次数)作为信息素保 留程度p的更新规则。当算法第一次执行回火策略时,信息素 保留程度将降为原来的1/2,第二次执行回火策略时,P为原来 的1/4,直到达到最大回火次数Gmax,ID才不变,这样,大幅 提高了算法的收敛速度。 2.4算法的描述 遗传一模拟退火的蚁群算法的步骤如下。 (下转第148页) 计算机测量与控制 参考文献: 第24卷 [6]高晋占.微弱信号检测[M](1版).北京:北京清华大学出版 社,2004. [1]孙成正,尹文庆,赵建平,等.植物电信号前置放大电路的设计 与仿真EJ].电子测量技术,2007,30(7):168—171. [23薛琳,赵东杰,侯佩臣,等.自参考离子选择性电极技术应用 中的微电极制备及测试[J].农业工程学报,2013,29(16): 182—189. [7]方捷.最新器件快讯[J].电脑维护与应用,1994(6):2—3. [8]张石锐,郑文刚,黄丹枫,等.微弱信号检测的前置放大电路设 计[J].微计算机信息,2009,25(23):223—224. [9]朱星,许 强,邓茂林,等.岩石次声滤波处理新技术—— [3]Kuhtreiber W M,Jaffe L F.Detection of extracellular calcium gra— dients with a calcium—specific vibrating electrode I-J].The Journal of Cell Biology,1990,110(5):1565—1573. sa11en—Key数学模型[J].煤炭学报,2013(8):1357—1361. Elo]李东仓,杨566. 磊,田 勇,等.基于Sallen—Key滤波器的核脉 冲成形电路研究[J].核电子学与探测技术,2008(3):563 —E43彭敏.基于ARM7的工业控制数据采集系统的研究[J].现代 电子技术,2011,34(2):12—14. [11]陈贺明,赵国敏.基于FIFO电路的高速大数据采集系统的设计 [5]王秀华.前置低噪声放大器的研究与设计EJ].电子测量技术, 2O13(6):35—37. 与实现[J].计算机测量与控制,2014(8):2542—2545. (上接第144页) 表1 3种算法的测试结果 算法 最差解/ 最好解/ 平均值/ 平均进 (km) 模拟退火蚁群算法 Stepl:初始化算法参数m,T,T1,T ,a,d,卢,ID,Gm…Q,P , P , =c,Ar 一0,t一0将所有的蚂蚁都放在城市1; Step2:第 只蚂蚁按转移概率移动到 城市; (km) (km) 化代数 451 1 062.3O 1 012.16 1 041.42 Step3:当m只蚂蚁都完成了一次循环,蚁群得到解集 pathl,pathl内最优解为pbestl; 遗传蚁群算法 遗传一模拟退火蚁群算法 1 058.17 1 O05.08 1 035.50 1 048.38 989.14 1 024.36 409 286 Step4:解集pathl中的解逐个按概率P 与pbestl进行交 叉操作,获得解集path2; Step5:解集pathl中的解逐个按概率P 进行变异操作, 得到解集path3; Step6:解集pathl、path2和path3组合成候选集path, 记录当前最优解gbest; Step7:根据模拟退火机制,按照概率P 来选择path中 的解,生成最新集; Step8:根据最新集里的解按照式(1)~式(4)对信息 素进行更新; ∞蚰∞∞踮∞∞∞0 Step9:丁一nT, 一 +1;若T≥Tl,则转到Step2;若T <T ,回火次数G—G ,则退出循环,输出最优解;如果且 G<G ,则G—G+1,T— ,转到Step2。 图1 用遗传一模拟退火蚁群算法解TSPa280最好的解 TSP问题能够获得比模拟退火算法、标准遗传算法和传统蚁 群算法都要好的解,而且也增加了解的多样性和稳定性,同时 算法的收敛度也得到了一定程度的改善,证明了该算法具有一 定的有效性。 参考文献: 3算法测试 为了检验本文算法,随机选用了国际上通用的TSP测试 库TSPLIB中a280(280个城市)里的5O个城市来进行仿真, 并且与传统蚁群算法、模拟退火蚁群算法、遗传蚁群算法进行 比较。传统蚁群算法参数如下:蚂蚁数m:3O,信息素保留程 度P一0.9,信息素的重要程度a一1.5,能见性的重要程度卢一 2,初始信息素c—i00;采用文献[5]中的模拟退火蚁群算 法,初始温度T一100 000,终止温度To;10,降温系数n [1]宋志飞.基于蚁群算法的TSP问题研究[D].江西:江西理工大 学,2012. [2]吴华锋,陈信强,毛奇凰,等.基于自然选择策略的蚁群算法求 解TSP问题[J].通信学报,2o13,34(4):165一l7O. [3]侯文静,马永杰,张燕,等.求解TSP的改进蚁群算法[j]. 0.9;采用文献[8]中的遗传蚁群算法,染色体数N=30,交 叉概率P 一0.4,变异概率P 一0.1;本文算法参数设计:m 一计算机应用研究,2010,27(6):2087—2089. [4]张晓婧,高慧敏.基于模拟退火的蚁群算法求解Job—Shop问题 30,.D一0.9,a=1.5,卢一2,C一100,Q一100 000,a一 [J].计算机应用与软件,2008,25(5):77—79. [5]江新姿,高 尚,陈建忠.求解旅行商问题的模拟退火蚁群算法 0.9,T一5 000,Tl一100,Tz一2 000,G…一8,Pc一0.4, P 一0。1。对各种算法测试5O次,结果如表1所示。图1是遗 传一模拟退火蚁群算法最好的解,总路程为989.14 km。 [J].计算机工程与设计,2008,29(6):1491—1493. [6]刘波,蒙培生.采用基于模拟退火的蚁群算法求解旅行商问题 [J].华中科技大学学报(自然科学版),2009,37(11):26—30. [7]陈冰梅,樊晓平,周志明,等.求解旅行商问题的Matlab蚁群仿 真研究[J].计算机测量与控制,2011,1 9(4):990 997. [8]江君莉,潘 丰.求解TSP的遗传蚁群融合算法[J].江南大学 学报(自然科学版),2o12,11(3):253—256. 从表1中的最好解--YU可以看出遗传一模拟退火蚁群算法 具有较强的发现较好解的能力。观察他们的平均值可以知道本 文算法也具有较好的稳定性。 4 结论 采用传统算法改进后的遗传一模拟退火蚁群算法来求解 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top