您好,欢迎来到步遥情感网。
搜索
您的当前位置:首页基于蚂蚁算法的混合方法求解旅行商问题

基于蚂蚁算法的混合方法求解旅行商问题

来源:步遥情感网
维普资讯 http://www.cqvip.com Vo1.40 2 0 0 2年10月 吉林大学学报(理学版) JOURNAL OF JILIN UNIVERSITY(SCIENCE EDITION) No.4 369~373 基于蚂蚁算法的混合方法求解旅行商问题 黄 岚,王康平,周春光,原 媛,庞 巍 (吉林大学计算机科学与技术学院.长春130012) 提要:通过介绍蚂蚁觅食过程中最短路径的搜索策略,给出蚂蚁算法在旅行商问题中的应 用,并加入3-opt方法和去交叉策略对问题求解进行局部优化.实验结果证明了其有效性. 关键词:蚂蚁算法;旅行商问题;组合优化 中图分类号:TP31 文献标识码:A 文章编号:1671—5489(2002)04—0369—05 蚂蚁算法是模拟自然界蚂蚁觅食过程中的一种分布式、启发式搜索算法,最早是由Colorni等人Ⅲ 提出的,用于求解复杂的组合优化问题,如旅行商问题(Traveling Salesman Problem,TSP)、加工调度 问题(Job Shop Scheduling Problem,JSSP)、图着色问题(Graph Colouring Problem,GCP)等. TSP是典型的组合优化问题,是NP完全的.目前,TSP问题得到较为深入的研究,其求解算法 包括最近邻域搜索、模拟退火、神经网络方法和遗传算法等[2],而应用蚂蚁算法求解TSP是近年来研 究的新方向[3“],因为其并行性与分布性,特别适用于大规模启发式搜索,实验结果证明了其可行性和 有效性. 1 蚂蚁觅食过程中最短路径的搜索策略 自然界中蚂蚁在觅食过程中沿途散播一种化学物质,称为信息素(pheromone),信息素中记录了 食物源的远近与食物量的多少,而其它蚂蚁通过触角能够检测识别到这种信息素,并跟踪,从而找到 食物源.当大量蚂蚁不断地从蚁穴通往食物源,并在识别原有信息素的同时沿途不断地散播新的信息 素时,使得越短路线上的信息素浓度越来越高,从而最终找到一条最短的路线,此后所有的蚂蚁都将 沿这条路线到达食物源. 如图1(a)所示,假设从蚁穴到食物源有两条等长路线NAF和NBF(NAF=NBF).开始两条路 线上都没有信息素,每个蚂蚁是随机选择其中一条路线,并沿途散播信息素的;随着时间的推移,各 路线会挥发掉部分信息素,同时也不断地增加新蚂蚁带来的信息素,这是一个正反馈的过程;后来的 蚂蚁再选择路线时,浓度较高的路线被选择的概率较大;一段时间后,越来越多的蚂蚁会选择同一条 路线,而另一条路线上的蚂蚁数越来越少,且其上的信息素逐渐挥发殆尽. 如图1(b)所示,对两条不等长的路线NAF和NBF(NAF>NBF),如何找到较短路径.开始时, 两条路线上都没有信息素,每个蚂蚁随机选择其中一条路线,即一些走NAF路线,另一些走NBF路 线,并沿途散播信息素,两条路线上的蚂蚁数大致相等;假设蚂蚁的行走速度相同,则选择走NBF路 线(较短路线)的蚂蚁比选择走NAF路线(较长路线)的蚂蚁先到达食物源F;当走NBF路线的蚂蚁返 回到蚁穴时,走NAF路线的蚂蚁仍在途中C点处,即2NBF=NAF+FAC,可以看出,线段NC上的 信息素要少于别处;下次蚂蚁再选择路线时,会以较高概率走较短路线,这使得较长路线上的信息素 浓度越来越低,较短路线上的信息素浓度越来越高;一段时间后,所有的蚂蚁都将选择较短的路线. 收稿日期:2002.04.19. 作者简介:黄岚(1974 ̄),女,博士研究生.讲师,从事智能算法与应用的研究,E-mail:huanglan@ ̄public.CC.j1.cn.联系人:周 春光(1947 ̄),男,教授,博士生导师,从事人工神经网络、模糊系统和进化计算的研究,E-mail:cgzhou@_,mail.jlu.edu.cn. 基金项目;国家自然科学基金(批准号:60175024)和教育部“符号计算与知识工程”重点实验室资助基金. 维普资讯 http://www.cqvip.com 370 吉林大学学报(理学版) /5 (a) (b) Fig.1 Choice between the equal paths(a)and the unequal paths(b) 人工蚂蚁算法就是从蚂蚁觅食时寻找最短路径的现象中得到启示而设计的,由计算机编程实现的 分布式并行搜索策略.蚂蚁通过别的蚂蚁留下来的信息素的强弱来作为自己选择路径的参数。信息素 越强的路径被选择的可能性越大.信息素的更新策略是越好的路径上获得的信息素越多,通过这个正 № ~ S 反馈来寻找更好的路径,这是蚂蚁算法工作的基本原理.单个蚂蚁的规则相当简单,但是通过蚂蚁群 体的协同工作,产生对复杂环境的认知,以实现对解空间进行有效的搜索. 2蚂蚁算法在旅行商问题中的应用 旅行商问题描述如下:给定 个城市及各城市间的距离,求一条经过各城市一次且仅一次的最短 路线.其图论描述为:给定图G:( ,A)。其中 为顶点集,A为各顶点相互连接组成的弧集,已知各 顶点间连接距离,要求确定一条长度最短的Hamilton回路,即遍历所有顶点一次且仅一次的最短回 路.设d ,为城市i与 间的距离,即弧( ,.『)的长度.引入决策变量: f1, 若旅行商访问城市i后访问城市 ; …、 10,否则, ・¨ 则TSP的目标函数为 min Z:∑xod . (2.2) t ;1 TSP问题描述非常简单,但最优化求解很困难,若用穷举法搜索,则要考虑所有可能情况。并两 两对比,找出最优.算法复杂性呈指数增长,即所谓的组合爆炸.所以,寻求和研究TSP的有效启发 式算法,是问题的关键所在. 求解TSP问题的蚂蚁算法中,每只蚂蚁是一个的用于构造路线的过程,若干蚂蚁过程之间通 过自适应的信息素值来交换信息,合作求解,并不断优化.这里的信息素值分布式存储在图中.与各 弧相关联.蚂蚁算法求解TSP问题的过程如下: (1)初始化.初始时,设定最大代数maxGEN,蚂蚁数 ,GEN=0. (2)起始点.将 只蚂蚁分别随机地置于各顶点处,即每个蚂蚁过程随机地给予一个起始点. (3)构造解.每个蚂蚁按照状态变化规则一步一步地构造一个解,即生成一条线路. 蚂蚁过程相当于一个智能体(agent),其任务是访问所有的城市后回到起点,生成一个回路.设蚂 蚁k当前所在的顶点为r,其待访问的点用集合。, (r)表示,那么,蚂蚁k由点r向点 移动要遵循 farg max([-r(r,u)3.[7(r,“)] ),q≤qo(利用); :f ’ (2.3) S, 否则(开发) 的状态变化规则而不断迁移,按不同概率来选择下一点.(2.3)式中r(r,“)相当于真实蚂蚁沿途散播 的信息素,是一个正实数,与图G中弧(r,“)关联,其值在运行时不断改变,用于表示蚂蚁从点r向点 “移动的动力; (r,“)用于评价蚂蚁从点r向点“移动的启发函数,其值通常用距离的倒数来求得,即 (r,“):1/d ;参数 >0描述启发函数的重要性;参数qo(0≤g。≤1)决定利用和开发的相对重要性, 利用是指走最好的路,开发是指按浓度高概率高的原则选路S;q是在[0,1]上任取的随机数,当g≤ o 维普资讯 http://www.cqvip.com No.4 黄岚等:基于蚂蚁算法的混合方法求解旅行商问题 时,按(2.3)式选最好的路,否则按下式的概率进行选路: :』{煮 。舞,,[r(r )] (r )] 臼 r). (2.4 ) 否 (4)局部更新信息素值.应用局部信息素更新规则来改变信息素值. 在构造解时,蚂蚁七对其走过的每条弧用 r(r, )一(1一p)r(r, )+pro (2.5) 局部信息素更新规则来改变弧上关联的信息素值,其中O<p<l是信息素挥发参数;ro=(nL )~,L 是最近邻域启发算法产生的路线长度;一为城市数. (5)若所有的m个蚂蚁都构造完解,则转(6);否则转(3). (6)全局更新信息素值.应用全局信息素更新规则来改变信息素值. 当所有,一个蚂蚁生成了棚个解,其中有一条最短路径是本代最优解,将属于这条路线上的所有弧 相关联的信息素值按下式更新: r(r, )=(1一口)rO , )+aAr(r,s), (2.6) 其中O<a<l是挥发参数; /x., 、 r(,.,s)= I ‘ 暑6 ,若弧(,., )在全局最优解中; 【0, 否则, L一是目前得到的全局最优解的路线长度. 全局信息素更新的目的是在最短路线上注入额外的信息素,即只有属于最短路线的弧上的信息素 才能得到加强,这是一个正反馈的过程,也是一个强化学习的过程.在图中各弧上,伴随着信息素的 挥发,全局最短路线上各弧的信息素值得到增加. (7)终止.若终止条件满足,则结束;否则GEN=GEN+1,转(2)进行下一代进化.终止条件可 指定进化的代数,也可限定运行时间,或设定最短路长的下限. 3用3.opt方法局部优化 对于我们用蚂蚁算法构造的TSP解,若用于小规模问题,一般能快速找到最优解,但由于TSP是 NP完全问题,其规模的扩展,即城市数的增加,使问题求解变得复杂化.蚂蚁算法尽管能够分布式并 行搜索,但在限定的时间或代数内找到最优解仍是困难的,可能找到的只是可行的近优解,这一点与 遗传算法相似.因此,我们在蚂蚁算法中混入局部优化算法,对每代构造的解进行改进,从而进一步 缩短解路线的长度,以加快蚂蚁算法的收敛速度. 用于启发式局部优化的方法很多,主要包括2-opt,3-opt,顶点重定位(relocate),交换(exchange) 和交叉(cross)等,其中最实用有效的是2-opt和3-opt算法. 将3-opt方法混入蚂蚁算法求解过程中,对每代最优解进行改进,这样,在上述求解过程(5)与(6) 之间加入(5 ): (5 )改进解.对本代最优解使用3-opt算法进行改进.当所有 个蚂蚁生成了m个解,其中有一 条最短路线是本代最优解 .设 为路线 经过顶点的有序排列, r2,,.。是从 中随机地选择的 3个顶点,Ⅳ为没有任何改进的最大循环次数,则3-opt算法的步骤如下: . 1)初始化.循环次数变量f一1,当前最优解S。= ,其长度为L(S。). 2)选择点.在 中随机选择3个顶点,. ,,.z,r3. 3)评价解.将这3个顶点排序得到 ’的6个相邻解 , ,…, ,比较这6个相邻解的路线长度 L(S1),L(S2),…,L(S6),选L - ̄mi-n{L(S1),L(S2),…,L(S6)),其对应的解为 . 4)改进解.若L <L( 。),则S‘= ,t--1,转2);否则,f—f+1,转5). 维普资讯 http://www.cqvip.com 吉林大学学报(理学版) 5)终止.若 ( )在最后Ⅳ个循环中没有减少,则结束, = 。;否则转2). 4去交叉策略改进解的可视效果 求解TSP问题的方法很多,事实上,无论通过何种方法得到其最优解或可行的近优解,都希望它 不仅达到标准目标(如最短路长下限,时间或代数的限定),而且能够满足某些非标准的目标(如视觉 可行性).这样,尽管已得到的解已经满足需求,仍要对之进行去交叉操作,以增强解的可视效果.经 进一步研究发现,对交叉的消除可以再次缩短路线长度. 去交叉策略描述如下:首先,遍历解回路,找到一交叉点(),如图2(a)所示,将相交两弧的端点按 解路线访问先后次序分别设为 ,B,c,D.去交叉时,如图2(b)所示,将解路线访问次序变为 ,c,B, D,其中B和c之间所有结点要颠倒次序. 上) 上) (a) (b) Fig.2 Cross・removing strategy (a)Before CrO. ̄・removing(b)after ero, ̄s—removing. 下面证明去交叉操作能够缩短路线长度,即A—c—B—D—A长度小于A—B.c—D—A长度. 证明: L(A—B—C—D—A)=AB+BC+CD+DA一 (AO+0B)+BC+(CO+0D)+DA= (AO+C0)+BC+(OB+()D)+DA, (4.1) L( —C—B—D—A)=AC+∞+BD+D , (4.2) 据TSP对称性,有BC=CB;又据三角形不等式两边之和大于第三边,有AO+CO>AC, ()B+()D>BD,比较(4.1)式和(4.2)式,得 (A—B—C—D—A)> (A…C B D—A). 5 实验结果 使用P3—1G的PC机进行测试,内存为256 M,操作系统为Win2000,开发软件为Vc++6.0.程 序中用到参数设置为 =10, =2,a=p=0.1,q0=O.9. 测试数据来源于TsP的标准问题库.表1分别列出用蚂蚁算法、蚂蚁算法与3一opt混合算法、带 去交叉策略的混合算法所求得的最短路线长度及相对偏差率.对于每个测试问题,每种方法测试5次, 结果取平均值. Table 1 Comparison of BAA,HAA一3・Opt and Haa・3・Opi-CR on TSP problems 由表1可见,加入3-opt方法改进了蚂蚁算法的局部搜索能力,因而提高了算法的求解能力,同等 的运算时间内可得到更短的路线长度,如对Bier127(127个城市)问题,基本蚂蚁算法得到平均路线长 度为123 958.4,而加入3-opt后的长度为122 563.4.另外,同等的运算时间内交叉的消除对提高解的 维普资讯 http://www.cqvip.com No.4 黄岚等:基于蚂蚁算法的混合方法求解旅行商问题 373 质量没有明显的效果,主要原因是交叉消除策略不能为蚂蚁算法提供好的指导信息,而且计算时间的 消耗可能会产生稍差的结果.总之,基于蚂蚁算法的混合方法获得的解接近目前已知最优解,与之相 对偏差率的平均值低于5%,计算速度较快,生成解时间可以接受,生成路线图的可视效果较好,说明 算法是有效的.图3和图4是Berlin52(52个城市)问题的初始解和混合算法运行60 s时得到的解. Fig.3 Initial sol ution(f=O) Fig.4 HAA-3-opt-CR sol ution(f一60 s) 实验证明,我们研究并提出的混合算法是有效的,同时为继续深入研究更复杂的带约束的组合优 化问题一车辆路线问题(Vehicle Routing Problem,VRPfl 创造了条件. 参考文献 [1]Colorni A・Dorigo M,Maniezzo V.Distributed Optimization by Ant Colonies[C].In:Varela F,Bourgine P.Eds. Proceedings of]st European Conference on Artificial Life(ECAL'91).Paris:Elsevier Publishing,1991.134~ l42. [2]周春光.梁艳春.计算智能[M].长春:吉林大学出版社.2001.1O2~104,277 ̄280. [3]Dorigo M・Gambardella L M.Ant Colony System:A Cooperative Learning Approach to the Traveling Salesman Problem[J].IEEE Transactions n oEvolutionary Computation,1 997.1(1):53 ̄66. [4]Gutjahr W J.A Graph—based Ant System and Its Convergence[J].Future Generatin Computoing Systems.2000. 16:873~888. [5]Bullnheimer B,Hartl R F。Strauss Ch.An Improved Ant System Algorithm for the Vehicle Routing Problem[J]. Annals of Operations Research,1999.89:319 ̄328. Hybrid Approach Based on Ant Al gorithm for Sol ving Travel ing Sal esman Probl em HUANG Lan,WANG Kang—ping,ZHOU Chun—guang,YUAN Yuan,PANG Wei (College of Computer Science and Technology.Jilin University.Changchun 130012.China) Abstract:In the present paper the authors introduce an ant algorithm,a distributed algorithm for the solution of combinatorial optimization problems which has been inspired by the observation of real colonies of ants.Then the authors apply a hybrid approach of ant algorithm with 3一opt and cross—removing to the traveling salesman problem(TSP).The results show that it is able to find good solutions quickly. Keywords:ant algorithm;traveling salesman problem;combinatorial optimization 

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

Copyright © 2019- obuygou.com 版权所有 赣ICP备2024042798号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务