Computer Engineering and Applications计算机工程与应用 基于信息熵的异类多种群蚁群算法 邓可1,林杰1,张鹏1,2 DENG Ke ,LIN Jie ,ZHANG Peng ’ 1同济大学经济与管理学院,上海200092 2.西安理工大学信息系,西安710048 1.Department of Economics&Management,Tongji University,Shanghai 200092,China 2.Department of Information Engineering,Xi’an University,Xi’an 710048,China E—mail:dk94@163.COB DENG Ke,LIN Jie,ZHANG Peng.Multiple heterogeneous ant colonies algorithm based on information entropy.Computer Engineering and Applications,2008,44(36):16-19. Abstract:This paper presents an Information Entropy Based Muhiple Heterogeneous Ant Colonies Algorithm(IEBMHACA).This algorithm uses muhiple heterogeneous ant colonies in simultaneous optimization calculation.For each ant colony,evolution degree is expressed by information entropy,SO the ants can adaptively choose strategies to exchange information between colonies to achieve dynamic equilibrium between solution diversity and convergence speed.Those strategies include selecting ifnormation exchanging object,regulating exchanging cycle and updating pheromone.Experimental results on traveling salesman problem show that this algorithm has a good global searching ability,high convergence speed and solution diversity. Key words:information entropy;multiple heterogeneous;ant colonies algorithm;Travel Salesman Problem(TSP) 摘要:提出了一种基于信息熵的异类多种群蚁群算法。算法使用多个异类种群的蚂蚁子群体同时进行优化计算,引入信息熵来 表示蚂蚁种群的进化程度,根据蚂蚁子群体间的信息熵来决定子群体间的信息交流策略,包括选择信息交流的对象和调节信息交 流的周期以及信息更新策略,以取得各蚂蚁子群体中解的多样性和收敛性之间的动态平衡。基于旅行商问题的实验证明,该算法 具有很好的全局搜索能力、收敛速度以及解的多样性。 关键词:信息熵;异类多种群;蚁群算法;旅行商问题 DOI:10.3778/j.issn.1002—8331.2008.36。004 文章编号:1002—8331(2008)36—0016—04 文献标识码:A 中图分类号:TP301 1引言 比采用相同总个数的单蚂蚁群体的蚁群算法收敛速度快,在问 蚁群算法是1992年由意大利学者Dorigo M等人首先提 题规模较大时,这个优点更加突出[5-7]。目前,对于多种群蚁群算 出的,它是对蚂蚁进行模拟而得出的一种模拟进化算法,该算 法的研究主要针对同类种群的蚂蚁算法(Multiple Congener 法不依赖于具体问题的数学描述,有很强的全局优化能力和本 ant Colonies Algorithm,MCACA):Gambardella rsl提出了专门用 质上的并行性,是解决NP一完全问题的有效方法,在求解TSP 于解决多目标规划的基于层次结构的多蚁群算法,不同的蚁群 问题上取得了很好的结果llI。蚁群算法主要包括5个基本系统: 针对不同的子目标函数进行求解,蚁群间按照规则进行通信和 蚂蚁系统(Ant System,AS)、精英策略蚂蚁系统(Ant System 解交换;Martin等 “ 提出了子群体之间进行信息交流的4种 with Elitist Strategy,ASWES)、优化排序蚂蚁系统(Rank—Based 方法,但4种方法存在共同的缺点:子群体问的信息交流缺乏 Version of Ant System,RBVAS)、蚁群系统(Ant Colony SvS 定的导向性,不利于各子群体根据自身的进化特点选择进行 tem,ACS)、最大最小蚁群系统(Max—Min Ant System,MMAs) 。 信息交流的对象。对于蚁群算法,在对全局搜索过程中,通常的 然而,单一种群的蚁群算法存在搜索时间长、易于停滞的问题。 目标是在前期有较高的探索能力以得到合适的解,而在后期有 实际上蚁群是有组织、有分工的,不同种类的蚁群有不同的信 较高的开发能力以加快收敛速度。为实现上述目标,本文将采 息素调控机制,这种分工组织方式对蚁群完成复杂任务具有重 用精英策略蚂蚁系统和优化排序蚂蚁系统作为两种蚁群的算 要意义。采用多种群的蚁群算法可使多个种群充分加速收敛, 法。这两种算法具有较强的互补性,精英策略蚂蚁系统在每次 基金项日:国家自然科学基金(the National Natural Science Foundation of China under Grant No.70531020);同家863/CIMS主题资助项目(Pro— ject supported by the National High—Tech.R&D Program for CIMS,China No.2007AA04ZI51);新 :ifl{ 西『\才支持计划资助(Program ofr New Century Excellent Talents in University,China No.NCET一06—0377 o 作者简介:邓可(1975一),男,博士,主要研究领域为系统建模与仿真、决策支持系统;林杰(1967一),男,教授,博士生导师,主要研究领域为系统建 模与仿真、群体智能;张鹏(1975~),男,博士,主要研究领域为管理信息系统。 · 收稿I:1期:2008—07—31 修回Ⅱ期:2008—10-13 邓可,林杰,张鹏:基于信息熵的异类多种群蚁群算法 2008,44(36) 17 循环之后给予最优解以额外的信息素量,以加快最优解的收敛 是同类蚁群,即多个种群的算法是基本相同的。多个种群在并 行求解后期容易出现停滞现象,其保持解的多样性的能力有 速度,但是弱点在于很容易过早收敛。基于优化排序的蚂蚁系 统在每次迭代后,对路径进行长度优化排序,并根据排序结果 按照路径的排名进行信息素的激励,以有效避免某些极优路径 被很多蚂蚁过分重视的情况发生,这样以减缓收敛速度的代 价,尽力避免陷入局部最优的陷阱。将这两种蚁群算法构成异 类多种群蚁群算法,充分发挥各自优势,扬长避短,有利于提高 算法性能。同时,在异类多种群的蚁群算法中,算法将根据当前 各蚂蚁种群的进化程度自适应的交换种群之间的信息素,使算 法跳出局部极值点,因此如何衡量算法是否陷人局部最优是算 限,从根本上不能有效减少早熟停滞的现象。本文中,采用具有 不同寻优策略的异类蚁群并行进行优化计算,并且根据当前各 蚂蚁种群的进化程度自适应的交换种群之间的信息素,达到避 免算法早熟的目的。 3.1信息熵 为了描述蚁群的进化程度,即各种群中蚂蚁在选择路径时 的不确定性,本文引入信息熵作为度量值。熵(Entropy)作为热 力学概念,最早由克劳修斯提出用以描述系统的无序状态。后 法的关键。 本文提出了一种基于信息熵的异类多种群蚁群算法(In— formation Entropy Based Multiple Heterogeneous Ant Colonies Algorithm,IEBMHACA),将蚁群划分为若干个子群体,每个种 群具有不同的信息素更新机制。运算中,用信息熵来衡量各个 种群自身的解的进化程度,根据信息熵自适应地选择种群间的 通讯策略,交换各自的最优解和信息素,完成合作和竞争,有效 地缓解蚁群算法容易早熟、停滞和收敛速度之间的矛盾。 2基本蚁群算法模型 所有的蚁群算法都是在基本蚁群算法的基础上发展起来 的,其转移概率和信息素更新机制如式(1)一(4)所示蚴。 状态转移概率 (t)公式: :( ) j=dlowedk ∑r:(t) (1) Eallowedk 0 otherwise 其中,allowedk={0,1,…,n一1l表示蚂蚁k下一步允许选择的城 市; 是边( √)上的信息素强度; 是边( √)的能见度,d 是城 市i到城市 之间的距离,7/ =1,df ; 和13为两个参数,分别反 映了蚂蚁在运动过程中积累的信息素和启发信息在蚂蚁路径 选择中的相对重要性。 蚂蚁完成一次循环,各路径上的信息素更新的公式: (t+1)=(1 ) (t)+△Jr ( ,t+1),PE(0,1) (2) AT t+1)=∑△tr t+1) (3) △ ?(t.t+1)={L f 蚂蚁k在本次循环中经过路径( . ) (4) 【0 否则 其中,P为信息素的衰减系数;m是蚁群中蚂蚁的数量;Q为常 数;At:( ,t+1)表示第k只蚂蚁在( ,t+1)时刻留在( ,. )路段上 的信息素;△ .( ,t+1)表示本次循环中路段( )的信.息素增量。 3 基于信息熵的异类多种群蚁群算法(IEBMHACA) 基本蚁群算法主要由两部分构成:选择策略和信息素更新 机制。从公式(1)中可知,选择策略的正反馈机制是造成算法易 于停滞的根本原因,而蚂蚁的选择策略直接与路径的信息素大 小相关。在算法进行的过程中,各路径的信息素大小具有不确 定性,因此,蚂蚁选择哪条路径也表现出不确定性。就全局来 看,这种不确定性越大,说明算法陷入停滞的可能性越小,反 之,算法可能出现早熟。传统的多种群蚁群算法,所用到的种群 来熵的概念被引入多个领域,申农(Shannon)将热力学熵引入 信息论提出信息熵,用于度量信息、选择的不确定性。对于离散 型随机变量,其信息熵为s—k p lnp ,其中,Pi为各状态发生 E=1 的概率,且满足P I>0, P =1。 ‘=1 对于给定的TSP问题,每只蚂蚁完成一个解的构造需要进 行连续的n次搜索以构成一条回路,17,为城市节点的数目,蚂 蚁的每一步选择代表一个状态,在蚁群算法中,其状态转移概 率如公式(1)所示。设在t时刻,蚂蚁 在节点i的下一步路径 搜索空间为 :J∈dlowed ,dlowed ̄=f0,1,…,n一1}表示蚂蚁k 下一步允许选择的城市,则 :对应的概率分布为 , I>0,且 XPj=l  ̄=l, 为蚂蚁k路径选择的概率向量。因此,可以定义蚂 蚁k从状态i到状态f的信息熵表达式为: s:( )=一f∑ (J d/owd ̄ )l ( ) (5) 上式表示在t时刻,蚂蚁k由状态i到状态.7的不确定性。根据 公式(5),可以表示蚂蚁k在t时刻构造解的不确定性,即蚂蚁 k在t时刻的信息熵表达式为: 三L s ( )= s (t) (6) i=1 整个蚁群的信息熵表达式定义为: 三 ,s( )=1 s (t) (7) m酉 其中,m为当前蚁群的蚂蚁数量。公式(7)表示整个蚁群在t时 刻构造解集的平均不确定性,此定义结合了蚁群算法自身的特 点,将蚁群算法的运算过程与信息熵结合了起来。 由s(t)的定义可知,算法初始时各路径的信息素相等,信 息熵值最大,而后随着特定路径的信息素不断增强,信息素在 各路径间的分布不均衡,其值逐渐变小,若群体的信息熵出现 持续增大或保持不变时,则必定发生了成熟前收敛。由此可知, 蚁群信息熵的变化可用来预报群体内成熟前收敛的发生,同 时,信息熵值越小,说明蚂蚁种群进化程度越高。因此,信息熵 是自适应调节收敛速度、信息素更新以及群体之间交流信息的 依据。 3.2交流子群体的选择 为了保持各个子群体解的多样性,同时扩大较优解在整个 群体中的影响,各蚂蚁子群体之间要在一定的时间间隔后,通 过最优解和信息素的交换进行信息交流。各个子群体根据信息 熵来选择信息交流的对象。设子群体i选择子群体 作为进行 18 2008.44(36) Computer Engineering and Applications计算机工程与应用 表1 IEBMHACA与MCACA实验结果对比表 信息交流的对象,则. 可由式(8)决定。 j=arg max(I s z-sj I) 删(8) 其中,h为子群体的个数, 、 ,分别为当前时刻子群体i和. 的 相同。初始化设置各个子群体内的参数,信息素矩阵都设为相 同的值,设置 、JB、P、Q等参数。 步骤2各子群体按照不同的蚁群算法进行独立的路径寻 信息熵。 由公式(8)可见,信息熵大的子群体会选择信息熵小的子 群体来交流信息,避免了随机选择的盲目性。信息熵小的子群 体路径上的信息素过于集中,可以根据信息熵较大的子群体上 的信息来平衡自己的信息素分布,使得大多数的路径都有被选 择的机会;反过来,信息熵较大的子群体的路径上信息素较分 散,通过与信息熵较小的子群体的交流,适当地将信息素集中, 这样都有利于互相交流的两个子群体进一步进化,提高了寻求 最优解的潜力。 3.3交流周期的确定 在算法中,子群体间交流的时间间隔并不是固定的,而是 根据解的分布情况进行变化,这样有利于在解的多样性和算法 的收敛速度两个方面达到平衡。算法根据整个蚂蚁群体的收敛 情况来调整子群体之间交流的时间间隔gap: gap=k1·e (9) 其中,k 为常数,h为子群体的个数,s,为第i个子群体的信息熵。 从式(9)可以看出,在蚁群搜索开始阶段,当COY--( s )/h 的值较大时,整体的信息素都比较分散,表示解的多样性较好, 此时交流的时间间隔较大,以免破坏每个子群体内部的搜索。 搜索后期随着COY值的减小,整个蚂蚁群体中信息素都比较集 中,不利于各子群体蚂蚁进行进一步的搜索,此时交流的时间 间隔可以适当地减小,使得优质解在子群体之间得以迅速传 播,以改善每个子群体的进化环境。 3.4信息素的自适应更新 设子群体i根据公式(8)选择与-T- ̄kj进行信息交流,那 么子群体i则会根据 上的信息来更新自己的信息素,反之亦 然。其具体方法是:假设子群体 的最优解经过路径( , ),自 适应的更新系数A体现了子群体对i的信息素的影响程度, 可以有效避免路径上的信息素过于集中而造成算法的早熟。A 越大,子群体门生子群体i的路径( , )上的信息增量就越多, 这样可以有效地促进信息素均匀分布在各条路径上,防止子群 体i陷入局部最优: +A△7_ (1o) 其中,A…与A 为常数,分别表示更新系数的最小值和最大 值;A=l Si l,A <A<^ ,△ 为子群体 在路径( , )上的信 息素。 3.5算法流程 算法流程如下: 步骤1把蚁群分为多个子群体,每个子群体的蚂蚁数量 优,一次迭代完成后,各子群体根据公式(7)计算种群当前的信 息熵值s 。 步骤3如果满足子群体进行信息素交换的时间间隔gap, 根据公式(8)选择进行信息素交流的子群体P (i,. 利用子群 体 上解的信息,计算出更新系数A,根据公式(10)来更新子群 体i的信息素,采用同样方式更新子群体. 的信息素;重新根据 公式(9)计算蚁群进行信息素交换的时间间隔值gap,即下一 次交换发生在距离当前迭代次数的第几次迭代上;否则,转步 骤4。 步骤4循环执行。如果已经达到最大蚁群迭代次数则退 出循环,输出最优路径;否则转步骤2循环执行。 4实验结果及分析 实验选取eil51TSP、eill01TSP、st70TsP[”作为实验对象,将 基于信息熵的异类多种群蚁群算法IEBMHACA和同类多种群 蚁群算法MCACA性能进行对比,其中MCACA算法的信息交 换方法参照Martin Middendof总结的子群体之间进行信息交 流的最优的环形局部最优解交换方法『1ol。实验中,算法的蚂蚁 总数量相同。本文算法的参数设置如下:精英策略蚂蚁系统的 参数为a=l, =5,tr=4,r=O.1,Q=IO0,优化排序蚂蚁系统的参数 为a=l,JB=3,p=to=O.05,自适应交换的参数为A =O.1,A…=0.4, k =10,所有蚁群蚂蚁个数之和m为100,迭代次数为500次。 实验结果如表1所示:对于eil51TSP,两种算法都找到目 前最优解428.13,但IEBMHACA的迭代次数明显较少。在 st70TSP中,两种算法均未能在500次迭代中找到理论最优解 675,而IEBMHACA则找到相对最优解680.49。而在ei1101TSP 的优化中,如图1(b)所示,IEBMHACA则获得更为优良的解曲 线,可以明显看出IEBMHACA具有更快的收敛速度和更高的 解精度。同时,在多次实验中IEBMHACA算法的平均解也优于 MCACA算法。对种群的数量和配比作了进一步的实验,在不同 种群数量下,对于eillO1城市问题,采用不同的种群算法配比 的IEBMHACA的求解结果如表2所示。从表中可以看出当种 群数量为4时,精英蚁群同优化排序蚁群数量比例为1:3时有 最好的结果。图1(c)是本文算法在求解过程中的解的多样性 曲线,其多样性用公式(11)进行计算: 表2 IEBMHACA异类蚁群数最配比实验结果对比表 邓 可,林杰,张鹏:基于信息熵的异类多种群蚁群算法 ∞ 2008,44(36) 加 m 5 0 19 流的周期以及信息更新策略,以取得各蚂蚁子群体中解的多样 DIV(n)= (11) 性和收敛『生之间的动态平衡。实验证明该算法比基本同类多种 群蚁群算法具有更好的收敛速度和稳定性,此优点在求解复杂 问题时显得尤为重要。下一步的研究工作是将算法应用于复杂 的组合优化问题,以进一步检验算法的性能。 其中,AⅣ ⅣUM为蚂蚁数,L (n)为第17,代第k个蚂蚁所经过 的路径长度,avg(L(n))为第n代所有蚂蚁经过路径长度的平 均值。从图中可以看出,在整个进化过程中,解的多样陛一直很 好,具有不断获得新的最优解的能力,使得本文算法可以获得 全局最优解,而不易陷入局部最优解。 图1(d)是IEBMHACA在精英蚁群同优化排序蚁群种群 数量配比为1:3时,求解eillO1城市问题的性能曲线,图中4 条曲线分别表示4个种群的收敛性能,粗曲线表示精英策略蚂 蚁系统的性能曲线,其余3条表示优化排序蚁群种群的性能曲 参考文献: [1]Dorigo M,Maniezzo V,Colorni A.Ant system:Optimization by a colony of cooperating agents[J].IEEE Transactions on SMC,1996, 26(1):29—41. [2]Bullnheimer B,Hartl R F,Strauss C.A new rank based version of the ant system—A computational study[J].CEJOR,1999,7:25—38. 线。由图中可见,精英策略蚂蚁系统在求解的初期,能快速收 敛,给其他3个采用优化排序蚁群算法的种群提供启发信息, 后期精英蚂蚁系统性能下降,但优化排序蚁群算法的种群能弥 补其缺点,进行l夹速收敛。 [3】Stutzle T.Parallelization strategies for ant colony optimization[C]// Eiben A E,Back T,Schoenauer M,et a1.LNCS:Parallel Problem Solving from Nature_—pPSN V.Berlin Springer-Verlag.1998:722-731. [4]Stutzle T,Hoos H H.Max—min ant system[J】.Journal of Future Generation Computer Systems,2000,16(9):889—914. [5]Talbi E G,Roux O,Fonlupt C,et a1.Parallel ant colonies for eom- binatorial optimization problems[C]//Rolim J.LNCS:Parallel and Dis- tributed Processing,1 1 IPPS/SPDP’99 Workshops.Berlin:Springer, 1999:239—247. [6]章春芳,陈峻,陈娟.求解频率分配问题的自适应的多种群蚁群算 法[J】_小型微型计算机系统,2006,27(5):837—841. [7 Chug Shu-chuan,Ri7]ddiek J F,Pan Jeng-shyang.Ant colony system with communication strategies[J].Information Science,2004,167(124). (a)最优路径图 (b)两种算法效果比较 [8】Gambardella L M,Taillard E,Agazzi G.MACS—VRPTW:A muhiple ant colony system for vehicle routing problems wih ttime windows, Technical Repo ̄Idsia IDSIA一06—99 LUGANO[R].Switzerland, 1999. f9 Mi9]ddendorf M,Reischle F,Schmeck H.Multi colony ant algorithms[J]. Heuristics,2002,8(3):305—320. [10]Middendorf M,Reischle F,Schmeck H.Information exchange in multi colony ant algorithms[C]//Rolim J.LNCS:Parallel and Dis— loo 200 300 400 500 tributed Computing,Proceedings of the 1 5 IPDPS 2000 Work- (c)解的多样性曲线 (d)异类种群收敛曲线 shops.Third Workshop on Biologically Inspired Solutions to Par- 图1 eill01TSP实验结果图 allel Processing Problems(BioSP3),Mai 1 5,2O00,Cancun,Mexi— co.Berlin:Springer—Verlag.2000:645—652. 4结论 本文提出一种基于信息熵的异类多种群的蚁群算法,算法 将蚂蚁群体划分为若干个子群体,每个子群体利用具有互补特 性的不同种类的蚁群算法并行地进行优化,以便充分发挥算法 机制的优越性。在寻优过程中,算法根据信息熵来决定蚂蚁群 体间的信息交流策略,包括选择信息交流的对象和调节信息交 f1 1】Michels R,Middendorf M.An ant system for the shortest common super sequence problem[C]//Crone D,Dario M,Glover F.New Ideas in Optimization.New York:McGraw—Hill,1999:51-61. [12】段海滨.蚁群算法原理及其应用fM] E京:科学出版社,2005. [13]Reinelt G.TSPLIB95[EB/OL].http://www.informatik.uni-heidelberg. de/groups/eomopffsoflware/TSPLIB95/index.htm1. (上接10页) [7]Zhao S,Stutzbach D,Rejaie R.Characterizing files in the modern Gnutella network:A measurement study[C]//Proceedings of the [9 Li9] Chun-xi,Chen Chang-ji&On Gnutella topology dynamics by study— ing leaf and ultra connection joinfly in phase space【J1.Computer Networks,2008,52:695—719. SPIE/ACM Multimedia Computing and Netw叫king(MMCN’06),San Jose,CA,2006. [10】Acosta W,Chandra S.Understanding the practical limits of the gnutella P2P system:An analysis of query terms and object na/ne [8】Wang Xiao—ring,uYao Zhong-mei,Loguinov D.Residual-based measurement of peer and link li ̄times in gnutella networks[j/oE1. [20071.http://ieeexplore.ieee.ors/ie15/4215581/4215582/04215635. distributions[C]//Proceedings of the ACM/SPIE Multimedia Computing and Networking(MMCN’08),San Jose,CA,April 2008.