粒子群算法和蚁群算法的结合及其在组合优化中的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2007年第2期空间电子技术收稿日期:2006-04-03;收修改稿日期:2006-04-30
粒子群算法和蚁群算法的结合及其在
组合优化中的应用
张长春苏昕易克初
(西安电子科技大学综合业务网国家重点实验室,西安710071)
摘要文章首次提出了一种用于求解组合优化问题的PAAA算法。该算法有效地
结合了粒子群算法和蚁群算法的优点,先利用粒子群算法的随机性、快速性、全局性得到初始信息素分布(即粗搜索),再利用蚁群算法的并行性、正反馈性、求解精度高等优点求精确解(即细搜索)。将文中提出的算法用于经典TSP问题的求解,仿真结果表明PAAA算法兼有两种算法的优点,同时抛弃了各自的缺点。该算法在时间效率上优于蚁群算法,在求精效率上优于粒子群算法,是综合了两种算法长处的一种新的启发式算法,达到时间性能和优化性能上的双赢,获得了非常好的效果。
主题词蚁群算法粒子群算法旅行商问题PAAA
0引言
近年来对生物启发式计算(Bio-inspiredComputing)的研究,越来越引起众多学者的关注和兴
趣,产生了神经网络、
遗传算法、模拟退火、粒子群算法、蚁群算法等许多用于解决复杂优化问题的新方法。然而,面对各种问题的特殊性和复杂性,每种算法都表现出了自身的优势和缺陷,都存在时间性能和优化性能不能兼得的矛盾。粒子群优化(ParticleSwarmOptimization,PSO)算法[1,2]是由Eberhart和Kennedy于1995年提出的一种全局优化算法,该算法源于对鸟群觅食行为的模拟。它的优势在于:(1)算法简洁,可调参数少,易于实现;(2)随机初始化种群,具有较强的全局搜索能力,类似于遗传算法;(3)利用评价函数衡量个体的优劣程度,搜索速度快;(4)具有较强的可扩展性。其缺点是:不能充分利用系统中的反馈信息,求解组合优化问题的能力不强。
蚁群算法[3,4](AntColonyOptimization,ACO)是由意大利学者M.Dorigo,V.Maniezzo和A.Colorni
于20世纪90年代初提出的一种新型的智能优化算法,已经被应用到TSP问题[5,6]、二次分配问题、工件调度问题、图着色问题等许多经典组合优化问题中,取得了很好的效果。它的优点是:(1)采用一种正反馈机制,通过信息素的不断更新,达到最终收敛于最优路径上的目的;(2)是一种分布式的优化方法,易于并行实现;(3)是一种全局优化的方法,不仅可用于求解单目标优化问题,而且可用于求解多目标优化问题;(4)适合于求解离散优化问题;(5)鲁棒性强。但由于在算法的初始阶段信息素匮乏,所以求解速度较慢。
文章将粒子群算法和蚁群算法有机地结合,提出了PAAA算法。它利用粒子群算法的较强的全局搜索能力生成信息素分布,再利用蚁群算法的正反馈机制求问题的精确解,汲取各自的优势,以达空间电子技术SPACEELECTRONICTECHNOLOGY76
2007年第2期到优势互补。最后,将该算法用于经典旅行商(TSP)问题的求解,获得了很好的效果。
1旅行商(TSP)问题
TSP(TravelingSalesmanProblem)问题[7]属于NP完全问题,如用穷举搜索算法,则需要考虑所有
可能的情况,找出所有的路径,再对其进行比较,以找到最佳的路径。
这种方法随着城市数n的上升,算法时间随n按指数规律增长,即存在“指数爆炸”问题。
TSP问题描述十分简单,即寻找一条最短的遍历N个城市的路径,其数学描述为:
设有N个城市的集合c=8c1,c2,…,cN9,每两个城市之间的距离为d(c1,c2)!R+,其中ci,cj!c(1≤i,j≤N),求使目标函数:
Td=N-1i=1"d(c
#(i),c$(i+1))+d(c$(N),c$(1))(1)
达到最小的城市序列8c
$(1),c$(2),…,c$(N)9,其中$(1),$(2),…,$(N)是1,2,3,……,N
的全排列。2
蚁群算法描述2.1蚁群算法的优化思想
蚂蚁在觅食的途中会留下一种信息素,蚂蚁利用信息素与其他蚂蚁交流,找到较短路径;经过某地的蚂蚁越多,信息素的强度也就越大。蚂蚁择路偏向选择信息素较强的方向,又因为通过较短路径往返于食物和蚁穴之间的蚂蚁能以更短的时间经过这条路径上的点,所以这些点上的信息素就会因蚂蚁经过的次数增多而增多,这样就会有更多的蚂蚁选择此路径,这条路径上的信息素就会越来越强,选择此路径的蚂蚁也越来越多,直到最后,几乎所有蚂蚁都选择这条最短的路。这是一种正反馈机制。
2.2蚁群优化原理分析
假如路径(i,j)在t时刻信息素强度为τij,蚂蚁k在路径(i,j)上留下的信息素强度为Δ
τkij,信息素的挥发系数为ρ,则该路径上的信息素强度按下式更新:
τij(t+1)=(1-ρ)・τij(t)+∑Δ
τkij(t)(2)设Lk为第k只蚂蚁在本次周游中所走的路径长度,则Δτkij(t)=QLk,Q为常数;设ηij=1dij为启
发式因子,dij为路径(i,j)的长度,启发式因子和信息素强度的相对重要程度分别为α、β
,设U为蚂蚁下一步运动的候选集,则蚂蚁k在t时刻的转移概率为:
pkij(t)=τij(t&’)αηij&(β∑l!Uτij(t&()αηij
&(βj!U0其他
)+*+,
(3)2.3MMAS算法对基本蚁群算法进行改进得到的算法有许多种,其中最大-最小蚂蚁系统(MMAS)是到目前为止解决TSP、QAP等问题最好的ACO算法。它直接来源于AS算法,主要做了如下改进:⑴每次迭代结束后只有最优解路径上的信息素被更新,更好地利用了历史信息;⑵将各条路径的信息素强度限制在[τmin,τmax],有效地避免了算法过早的收敛及不扩散;⑶各路径的信息素初始值设为τmax,有利于算法发现更好的解。
张长春等:粒子群算法和蚁群算法的结合及其在组合优化中的应用77