当前位置:文档之家› 蚁群算法迭代次数的一种优化策略

蚁群算法迭代次数的一种优化策略

第38卷 第4期 2010年7月 河南师范大学学报(自然科学版) 

Journal of Henan Normal University(Natural Science) f.38 No.4 July.2010 

文章编号:1000~2367(2010)04—0048—03 

蚁群算法迭代次数的一种优化策略 袁培燕 ,刘 萍 ,高宏卿 (河南师范大学a.物理与信息工程学院;b.网络中心,河南新乡453007) 摘 要:针对蚁群算法中后期多次迭代无法产生更优解的问题,提出了一种优化策略,当连续多次迭代没有产 生更优解时,减少迭代的总次数,加速算法的收敛性.仿真结果显示,在不影响最优解的情况下,优化后的策略明显 降低了算法的时间复杂度和空间复杂度. 关键词:蚁群算法;随机环境;性能评价;旅行商问题 中图分类号:TP393.01 文献标志码:A 

近年来,智能算法的研究受到了越来越多的关注.而作为继模拟退火算法、遗传算法、禁忌搜索(Tabu Search)算法、人工神经网络算法后的又一种应用于组合优化问题的启发式搜索算法——蚁群算法(Ant A卜 gorithm)[ ,更是研究的热点,并得到了广泛的应用.蚁群算法由意大利M.Dorigo等人首先提出,它模拟 蚂蚁觅食时的行为,按照启发式思想,通过信息素的诱导作用,逐步收敛到问题的最优解. 旅行商问题(Traveling Salesman Problem)是NP(Non—deterministic Polynomia1)问题中的一个典型例 子.实际上,蚁群算法在首次提出时,就是充分利用了蚂蚁搜索食物的过程与TSP(旅行商)问题之问的相似 性来求解TSP的.目前,基于蚁群算法求解TSP问题的相关文献很多Ⅲ3 ].其中,文献[3]主要研究了蚁群算 法中蚂蚁位置的初始化问题,通过将蚂蚁边缘化而不是随机设置,来增大解的空间,提高解的质量.文献[4] 通过将蚁群算法中的参数进行分段继而达到优化的目的.文献[5]分析了蚁群算法中最佳配置参数的问题, 文献[6]则对目前智能算法求解TSP问题进行了归纳分类,通过不同的实验发现进化算法与局部搜索组合 求解TSP效果最好.结合相关文献及进行的大量实验发现,在迭代中后期,多次迭代无法产生更优解的现象 明显增多,蚁群算法陷入局部最优的可能性增大.基于此,对总的迭代次数进行了优化,当多次迭代无法产生 更优解的次数超过某个界限时,减少总的迭代次数,从而降低算法的时间复杂度和空间复杂度. 

1 蚁群算法及TSP问题 蚁群算法由意大利学者M.Dorigo等人首先提出,该算法利用蚂蚁搜索食物的过程与TSP问题的相似 性,通过模拟自然界中蚂蚁寻找食物的行为,来解决TSP等各类复杂优化问题.蚁群算法采用分布式正反馈 并行计算机制,容易与其它算法结合,具有较强的鲁棒性和适应性.由于蚂蚁在寻路时主要依据于路径上的 信息素浓度,所以不同的信息素更新策略对蚁群算法的性能影响很大.Dorigo M曾给出3种不同的信息素 更新模型,分别为Ant cycle system(ACS),Ant quantity system(AQS),Ant density system(ADS). 旅行商问题是一个经典的组合优化问题,它是指一个商人欲到”个城市推销产品,希望选择这样的一条 路径:使得商人经过所有城市一次又回到初始城市,并且所走的路径最短.TSP问题是一个典型的NP一难问 题,也是验证求解组合优化问题有效性的一个间接标准.TSP问题的数学描述为:设 一{vl,v2,…,"UYt}是 个城市的集合,E一{(vi, ),vi, ∈V}足 中任意两个城市两两连接的边的集合,c(i, )一c(j, )是边(vi, vj)∈E所需要的费用.TSP问题就是寻找一条闭合的汉密尔顿回路使之能够访问所有的城市一次,并且这 

收稿日期:2009一n—l0 基金项目:河南省教育厅自然科学基金(2009B520016);河南师范大学青年科学基会(2OO8qkO6) 作者简介:袁培燕(1978一),男,河南邓州人,河南师范大学讲师,研究方向:网络协议 l 程. 第4期 袁培燕等:蚁群算法迭代次数的一种优化策略 49 条回路的费用最少E ]. 2 蚁群算法的优化及仿真分析 蚁群算法最初就是为解决TSP问题而提出的,因此用TSP问题评价蚁群算法在不同参数体系下的相 对性能是恰当的.在大量的实验中发现,在算法的中后期,大量的迭代次数产生相同解,即存在多次迭代无法 产生更优解的现象.最坏的一次是在500次的迭代实验中,从第4次到最后一次的值是一样的.也就是说,在 具体的实验中,大量的迭代次数是不必要的.能不能在不影响解的情况下,减少总的迭代次数,从而达到降低 算法复杂度的目的?基于这样的考虑,设置了一个统计连续多次没有产生更优解的计数器counter,每当当 前迭代产生的解与上一次迭代产生的解相同,counter的值加1,当counter的值大于某一规定值K时,减少 迭代次数,同时counter清零.算法的伪代码如下: when(当前迭代产生的解同上一次一样) {总的迭代次数一总的迭代次数一D counter加1 counter=0) when(counter大于某个值K) D为每次减少的迭代次数,实验中D的变化为1、2、5、10.仿真平台采用VC++,仿真数据是TSPLIB 标准库(Reinelt,1991)里面的实例eil51.实验中通过改变a,J3的值来观察蚁群算法的性能.蚂蚁个数为34 个,迭代次数为500次,K的值等于6,a取值范围为0.1到1.0,J3取值范围为0.1到5.实验一共生成85种 随机场境,每种场境运行1O次,最后的结果为1o次的平均值.算法的评价因子有两个,一个是求得最短路径 的距离,另一个是算法的实际迭代次数. 2.1 a,I3对算法的影响 

瀣 

600 550 蛰 

500 

变动的 图I最短路彳争VS口 

变动的B 图3最短路径VS 0 

隶罨 杠 

上< 较 

◆__Ant—D一1—1卜D一2 ■ D一5—● D l0 

O.1 O.2 O.3 O.4 O.5 O.6 0.7 O.8 O.9 1 

变动的d 图2实际迭代次数VS o 

O.1 O.2 0.5 1 2 3 4 5 变动的13 图4实际迭代次数VS13 

0 0 0 0 0 O O 鲫 ∞ ∞ ∞ 加 50 河南师范大学学报(自然科学版) 图I至图4显示了当a,8变动时,算法求得的最短路径及迭代次数的变化情况.从图1可以看到,当a 小于0.6时,优化后的策略影响了最优值,当D===10,a一0.2时,误差最大,偏离最优值达到2.46 ,而随着a 的增大,这种影响逐渐减小.不过从图2也可以看到,优化后的策略明显降低了算法的迭代次数,从而降低了 算法的时间和空间复杂度.从图3和图4可以看到,相对于a而言,G值的波动对最短路径的影响较小,两种 情况下基本一致.而对迭代次数的影响与a一样,显著降低了算法的迭代次数.从上面的分析可知,优化后的 策略,在不影响最优解的情况下,显著改善了算法的复杂度. 2.2 D的改变对算法的影响 从图1到图4可以同时看到,当改变D时,最短路径及迭代次数的变化情况.当迭代次数每次减少的次 数由1、2、5到10发生变化时,最短路径的波动较小(图1和图3所示),而迭代次数的变化较为明显,即呈现 递减的趋势.说明随着D的增大,在对最优解没有产生明显影响的情况下(图1和图3各条均线粘合在一 起),总的迭代次数随之减少.当然,也不可能将D无限增大来降低问题的求解规模,否则求得的解将会严重 偏离最优解.也就是说,为了求得尽可能的最优解,一定的迭代次数是必要的,但同时也观察到,在实验中后 期,许多次的迭代是不必要的.从图2和图4可以看出,最大的迭代次数仍然没有超过400,所以在实验初期 设置的迭代次数500过大,浪费了系统资源.但是,对某个TSP问题来说,在实验初期,如何设定迭代次数是 未知的,不可能设置一个恰到好处的值,所以如何合理优化蚁群算法的迭代次数,从而降低算法的时间和空 间复杂度,是一个值得认真考虑的问题.文中通过发现连续多次迭代无法产生更优解这一实验现象,继而降 低总的迭代次数以达到对算法进行优化的目的,仿真结果表明该方案是可行的,有效的. 

3 结 论 结合TSP问题,对蚁群算法的性能进行了评价,发现在算法运行的中后期,大量的迭代次数实际上是不 必要的,通过对该阶段的研究提出了文中的优化策略,对减少蚁群算法的迭代次数,降低算法的时空复杂度 进行了有益的尝试. 

参 考 文 献 [1]Dorigo M,Maniczao V,Colom i A.Ant system:Optimization by a colony of cooperating agents[J|].IEEE Transactions on Systems Man and Cybernetics Part B,1996,26(1):29—41. [23 Dorigo M,Gam bardeila L M.Ant colony system:A cooperative learning app roach to the traveling salesman problem[J].IEEE Trans. on Evolutionary Computation,1997,1(1):53 66. [3] 吴春明,陈治,姜明.蚁群算法中系统初始化及系统参数的研究[J].电子学报,2006,34(8):1530—1 533. [4] 卢辉斌,贾兴伟,范庆辉.基本蚂蚁算法中参数的讨论与改进[J].计算机工程,2005,31(20):175—179. E5] 叶志伟,郑肇葆.蚁群算法中参数a、B、P设置的研究一以TSP为例[J].武汉大学学报:信息科学版,2004,29(7):598—601. [6] 张煜东,吴乐南,韦耿,智能算法求解TSP问题的比较[J].计算机工程与应用,2009,45(11):11-1 5. [7] 朱颢东,钟勇基.于贝叶斯粗糙集的文本特征选择方法[J].河南师范大学学报:自然科学版,2009,37(4):3l 35 [8] 蒋玲艳,张军,钟树鸿.蚁群算法的参数分析啊J].计算机工程与应用,2007,43(20):31—36. 

An Optimized Strategy for Iteration Numbers in Ant Colony Algorithm YUAN Pei—yan ,LIU Ping ,GAO Hong—qing (a.College of Physics 8乙Inf0rmation Engineering,b.Network Center,Henan Normal University,Xinxiang 453007,China) Abstract:This paper provides an optimized strategy to solve the problem of not calculating better answer in the latter phase of simulation,that is,when much Of consecutive iteration can not work out better answer,it is necessary to decrease the number of iteration in order to speed up astringency of the algorithm.The simulation results show that the optimized strategy reduces the time and space complexity obviously without sacrificing the best answer at the same time. Key words:ant colony algorithm;random environment;performance evaluation;TSP

相关主题