蚁群算法的研究现状
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
蚁群算法的研究现状
Current Status of Re search on Ant Colony Algorithm
吴 斌 赵燕伟
(浙江工业大学机电学院,杭州 310032)
摘 要 蚁群算法是一种新型的模拟进化算法,研究表明该算法具有很好的通用性和鲁棒性,在离散的组合优化问题中实验,取得了良好的效果。
介绍了蚁群算法的原理,对目前蚁群算法的研究进展情况进行了分析,同时对比国内外的研究状况提出了自己的观点,以推动该算法在更广阔的领域内得到应用。
关键词 蚁群算法 研究 现状 蚁群系统 组合优化 TSP
Abstract Ant colony alg orithm is a kind of new emulated ev olution alg orithm.The research shows that this alg orithm can be comm only used and offers very g ood robustness,excellent result is obtained in the experiment of discrete combined optim ization.The principle of ant colony alg orithm is introduced and current progress in research of this alg orithm is analyzed.The situation of the research at home and abroad are com pared and the view point of author is given.The application of this alg orithm in wider area is prom oted.
K ey w ords Ant colony alg orithm Research Current status Ant colony system C ombined optim ization TSP
0 引言
很早人们就知道模仿生物的一些特性,来更好地为人类服务。
近几年,在优化算法领域,一种新的仿生优化算法进入了人们的视野———蚁群算法(ant colony alg orithm)。
首先,由意大利科学家M.D orig o等人提出,称为蚁群系统(ant system,AS),并成功地用于求解TSP问题,引起了人们关注。
在求解二次分配[1]、Job2 Shop问题[3]、图着色问题[4]、车辆调度[14]、集成电路设计[5]以及通信网络负载问题的处理中[13]都取得了较好的结果。
越来越多的研究人员正在从事这方面的工作。
1 算法的原理
根据昆虫学家的观察,发现自然界的蚂蚁虽然视觉不发达,但它可以在没有任何提示的情况下找到从食物源到巢穴的最短路径,并且能在环境发生变化(如原有路径上有了障碍物)后,自适应地搜索新的最佳路径。
为什么呢?原来蚂蚁在走过的路上会释放一种特殊的分泌物———信息激素(pherom one),使得一定范围内其它的蚂蚁能够觉察到并由此影响他们的行为,当一条路上的信息激素越来越多(当然,随时间的推移会逐渐减弱),后来的蚂蚁选择这条路径的概率也越来越大,从而增加该路径的信息激素强度,这种选择过程称为蚂蚁的自催化过程,其原理是一种正反馈机制,所以蚂蚁系统也称为增强型学习系统。
这里我们举一个例
子来说明蚂蚁的搜索机制。
图1 蚂蚁的搜索机制
如图1所示,假设在t=0时刻有16只蚂蚁从巢穴出发外出寻食(设蚂蚁在单位时间走过单位长度)。
在t=1时到达A点,因为此时AB和AC都没有信息激素,所以蚂蚁按等概率选择,8只选择AB,8只选择AC。
在t=4时,从AB走的8只到达食物处,并开始返回。
在t=5时,返回的蚂蚁到达D,这时BD和CD 上的信息素浓度还相等,都为8,所以蚂蚁还按等概率选择,4只从BD,4只从CD。
在t=8时,从BD返回的4只蚂蚁返回巢穴,并重新外出。
当t=9时,又来到A,此时AB的信息激素的浓度是16,而C A的是12,所以将有较多的蚂蚁选择从AB走。
以后,如此循环,最后所有的蚂蚁都会选择ABD路线。
由此可以看出,蚁群算法的基本思想是模仿蚂蚁依赖信息素(pherom one)进行通信而显示出的社会性行为,在智能体(agent)定义的基础上,由一个贪心法指导下的自催化(autocatalytic)过程引导每个智能体(agent)的行动,它是一种随机的通用试探法,可用来解各种不同的组合优化问题。
下面简单介绍一下TSP问题的基本蚁群算法求解:
假设n个城市,m个蚂蚁,任意两城市r,s之间的距离为d(r,s),τ(r,s)表示两个城市间信息素的浓度,Δτ(r,s)k表示第K个蚂蚁访问过支路(r,s)后释放的信息浓度。
P
k
(r,s)表示第K个蚂蚁的转移概率:
P k(r,s)=
τ(r,s)αη(r,s)β
6
s|=z
τ(r,s)αη(r,s)β
;s|z
;s∈z
(1)
式中:s表示未访问过的城市;z表示已经访问过城市的集合;η(r,s)=1/d(r,s),称为边弧的能见度;α为信息素浓度的重要程度;β为可见度的相对重要程度。
信息素浓度更新公式为
τ(r,s)new=ρ・τ(r,s)old+6k∈zΔτ(r,s)k(2)式中:ρ表示信息浓度挥发后的剩余浓度;
Δτ(r,s)k=Q/L k
0
;若蚂蚁k访问过(r,s)
;若蚂蚁k没有访问过
(3)
Q为一个常数,表示蚂蚁完成一次完整的路径搜索后释放的信息素的总量;L
k
表示路径总长度。
整个算法
的过程,简单描述如下:
①首先初始化,设迭代次数为NC。
初始化NC= 0,各τ(r,s),Δτ(r,s)初始化;将m个蚂蚁置于n个顶点上;
②将各个蚂蚁初始位置至于当前的解集z中。
然后对每个蚂蚁k(k=1,2,…,m),按照概率P
k
转移到下一个城市S,将S置于当前解集中,如此循环,直到所有的蚂蚁访问完所有的城市;
③计算每个蚂蚁行走的总路径L
k
,并将最优解保存;
④按信息浓度更新公式,更新各边的信息浓度;
⑤各边的Δτ(r,s)初始化,NC=NC+1;
⑥如果NC小于预定值并且没有稳定解,则转第②步,否则输出最优解。
整个算法的复杂度为O(NC・m・n2),经实验,一般情况下,m取与n同一数量级,大致相等的情况下,效果最好,所以最终复杂度是O(NC・n3)。
算法中的参数设置,现在尚无理论上的研究,已公布的实验结果都是针对特定问题而言的,就TSP问题,从实验结果可知:0≤α≤5,1≤β≤5,011≤ρ≤019(017左右最佳), 10≤Q≤10000,各参数在以上区间内取值,能得到比较好的结果。
2 算法研究
M.D orig o还设计了两种蚁群算法的变形,分别是蚁密算法(ant2density)和蚁量算法(ant2quantity)。
它们的区别主要在于更新信息素的方式。
对于这两种模型,每个蚂蚁不是在整个路径结束后释放信息素,而是在每一步的过程中释放。
对于ant2density算法,每当蚂蚁经过边(r,s)时,浓度为常量Q的信息素被释放在这条边上。
对于ant2quantity算法,每当蚂蚁经过边τ(r,s)时,浓度为Q/d ij的信息素被释放在这条边上。
很明显,在ant2density算法中,蚂蚁释放的信息素浓度与边长度d
ij
无关;在ant2quantity算法中,这两者就建立了相关性。
也就是说,蚂蚁倾向于选择下一步较短的路径。
前面介绍的蚁群算法,又称为蚁周算法(ant2cy2 clealg orithm)。
由于蚁周算法在搜索过程中使用的反馈信息是全局的,而蚁量和蚁密算法使用的反馈信息都是局部的,故蚁周算法要优于另两种算法,仿真的结果也证明了这个推断。
此外,在D orig o等人的论文中还对蚁群算法提出了一些讨论,其中包括不同的蚁群初始分布对求解的影响等,还提出了所谓的精英策略(elitistrategy),以强化精英蚂蚁(发现迄今最好路径的蚂蚁)的影响。
结果发现,对精英蚂蚁数而言有一个最优的范围,低于此范围,增加精英蚂蚁数可较早地发现更好的路径,高于此范围,精英蚂蚁会在搜索早期迫使寻优过程始终在次优解附近,导致性能变差。
1996年,G ambardella和D orig o又提出一种修正的蚁群算法,他们称之为蚁群系统(ant colony system, ACS)。
它与前面提到的蚁群算法有三点不同:
①蚂蚁选择城市时遵循的规则不同,这里使用的是所谓的状态转移规则(state transition rule):
S k=
arg M AX[[τ(r,s)]α・[η(r,s)]β];
s|z,Q≤Q0
P k ;s|z, 其他
(4)
式中:Q是一个随机变量;Q0是一个阀值。
蚂蚁在选择下一个城市之前先进行一次随机试验得Q,若Q≤Q0,则选择城市时按取最大值的情况转移,如果Q> Q0,则按式(1)的转移概率转移。
②全局更新规则不同。
全局更新不再是对所有的蚂蚁,而是仅对一次循环中最优的蚂蚁使用。
③增加了局部更新规则。
局部更新规则是在所有蚂蚁完成一次转移后执行。
为了克服蚁群算法存在的收敛慢、容易出现停滞现象、算法的运算时间长等缺点,人们提出了许多改进算法。
德国学者Thomastuzle和H olerhoos[8]提出的一种
改进的算法,最大最小系统(max2m in ant system, M M AS)是比较好的一个算法,在解决TSP,QAP等问题时结果要优于一般的AC O类算法。
M M AS与ACS两者的共同点是在算法的每次迭代中只允许表现最好的蚂蚁更新路径上的迹;其不同之处主要在于如何防止过早的停滞现象(stagnation)。
M M AS限定了痕迹浓度允许值的上下限,并且采用了平滑机制,M M AS在算法启动时将所有支路上的痕迹浓度初始化为最大值τmax,每次迭代后,按挥发系统ρ降低痕迹浓度,只有最佳路径上的支路才允许增加其浓度,并保持在高水平上。
但是,光采用最大最小痕迹浓度的限制还不足以在较长的运行时间里消除停滞现象,因此采用了平滑机制;痕迹浓度的增加正比于τmax和当前浓度τ(r,s)之差。
对于AC O算法的收敛性问题,2002年G utjah首先在他的论文中证明了AC O类算法的收敛性[18]。
一些学者还把蚁群算法与其他的算法相结合。
意大利学者Fabio,Abbattista等人受遗传算法的启发提出蚁群算法和遗传法相结合的思路。
鉴于在蚁群算法中参数α,β(分别对应信息素和能见度对决策的权重)和Q(对应蚂蚁在一个周期中留下的信息素量)的选择对算法的性能有很大影响,可以将α,β和Q看成代表蚂蚁典型特征的染色体G中的三段代码。
在G中,Gα和Gβ将α,β编码为实数,G Q将Q编码为整数,然后将此
这样就把蚁群系统的协作效应与遗传算法的进化效应结合起来。
1999年,吴庆洪等[28]提出了具有变异特征的蚁群算法。
其核心思想是为了克服蚁群算法收敛较慢的问题,采用逆转变异方式,随机地进行变异,以增大进化时所需的信息量。
这种变异机制充分利用了2-交换法简洁高效的特点,因而具有较快的收敛速度。
还有一些学者提出了一些自适应算法,如把常数Q改为时间的函数[24]等。
本文作者针对现有算法中每只蚂蚁都要访问所有城市的问题,提出了一种信息交换算法,即若干蚂蚁在某个城市相遇后,互相交换信息,这样蚂蚁系统不止是在并行的寻找所有可能路径,而且在同一条路径上也在并行搜索。
具体算法和实验数据将另文发表。
蚁群算法在其他方面的应用,如Job2shop、二次分配等,算法虽然不一样,但其原理是一样的,都可以归结为图上寻优的过程。
3 结束语
蚁群算法是一种新生算法,具有很强的通用性和鲁棒性。
从提出到现在,仅短短十余年的时间,但其在离散型组合优化问题中,表现得很突出,所以引起人们的关注。
目前蚁群算法的研究学者主要集中在比利时、意大利、德国等国家,美国和日本在近几年也开始了对蚁群算法的研究。
国内的研究始于1998年末,主要在上海、北京、东北少数几个学校和研究所开展了此项工作,主要围绕TSP及相关问题的实验仿真,少数涉及通信网络的路由选择[29]、负载平衡、电力系统的故障检测[10]以及蚁群算法在连续系统应用[19,23,26],如函数逼近[19]等方面应用的尝试。
在国外,蚁群算法已经在集成电路布线[5]、网络路由选择[13]、机器人线路规划[15]等方面得到了应用。
自1998年,第一届蚂蚁优化国际研讨会召开以来,已经是第三届了,大大推动了蚁群算法的发展。
蚁群算法已经引起越来越多的关注,尽管还缺乏完善的理论分析,对它的有效性也没有给出严格的数学解释,但回顾模糊控制的发展历史,理论的不完善并不妨碍应用,有时应用是超前于理论的,并推动理论的研究。
我们相信蚂蚁算法必将得到广泛的应用。
参考文献
1 C olorm A,D orig o M,M anieaao V.Distributed optim ization by ant colonies[C].Proc of the First European C on f.On Artificial Life, Paris,France E lsevier Publishing,1991:134~142
2 D orig o M,G ambardella L M.Ant colony system:a cooperative learning approach to the traveling salesman problem[J].IEEE T rans on Ev olu2 tionary C om putation,1997,1(1):53~66
3 C olorni A,et al.Ant system for job2shop scheduling[J].JOR BE L, 1994,34(1):39~53
4 C osta D,Hertz A.Ant can color graphs[J].of the Opnl Res S oc, 1997,48(3):295~305
5 C oello C AC,G utierrez R LZ,G arcia BM,Aguirre AH.Automated de2 sign of combinational logic circuits using the Ant System.Engineering Optim ization,2002,34(2):109~127
6 D orig o M.Heuristic from nature for hard combination optim ization prob2 lems[J].International T ransaction operational research,1998,3(1): 1~21
7 M erkle D,M iddendor f M.An ant alg orithm with a new pherom one eval2 uation rule for total tardiness problems,Real2W orld Applications of Ev o2 lutionary C om puting,Proceeding2000,18(3):287~296
8 S tutzle T,H oos H H.M AX2MI N ant system.Future G eneration C om2 puter Systems,2000,16(8):889~914
9 G ambardella L M,T aillard E D,D orig o M.Ant colonies for the quadratic assignment problem.Journal of The Operational Research S o2 ciety,1999,50(2):167~176
10 Chang C S,T ian L,W en F S.A new approach to fault section estima2 tion in power systems using ant system.E lectric P ower Systems Re2 search,1999,49(1):63~70
11 K untz P,Layzell P,Snyers D.A colony of ant like agents for partition2
ing in V LSI technology Proc.O f4th European C on f.On Artifical Life.
Boston MIT Press,1997:417~424
12 M iddendor f M,Reischle F,Schmeck H.Multi colony ant alg orithms.
Journal of Heuristics,2002,8(3):305~320
13 C ordone R,M affioli F.C oloured ant system and local search to design local telecommunication netw orks.Applications of Ev olutionary C om put2 ing,Proceeding,2001,2037:60~69
14 Bullnheimer B,Hartl R F,S trauss C.An im proved ant system alg orithm for the vehicle routing problem.Annals of Operations Research,1999, 89:319~328
15 John A.Sauter,R obert M atthews,H.V.D.Parunak,Seven Brueck2 er,Ev olving Adaptive Pherom one path planning mechanisms,Proceed2 ings of the first international joint con ference on Autonom ous agents and multiagent systems,AC M press,2002:434~400
16 W ang Lei,Wu Qidi.Per formance ev olution of ant system optim ization process.Proc.4th WCIC A2002,IEEE press:2546~2550
17 Y ang X inbin,Sun Jingao,Huang Dao.A new clustering method based on ant colony alg orithm.Proc.4th WCIC A2002,IEEE press:2223~2226
18 G utjah AC O alg orithms with guaranteed convergence to the optimal s olu2 tion[J].In formation Processing Letters,2002,82(3):145~153
19 W ang Lei,Wu Qidi.Futher exam ple study on ant system alg orithm based continuous space optim ization.Proc.4th WCIC A2002,IEEE press:2541~2545
20 庄昌文,范明钰,等.基于协同工作方式的一种蚁群布线系统.半
导体学报,1999,20(5):400~406
21 覃刚力,杨家本.自适应调整信息素的蚁群算法.信息与控制, 2003,31(3):199~201
22 马良,项培军.蚁群算法在组合优化中的应用.管理科学学报, 2001,4(2):32~37
23 马良.一种全局优化的新方法.系统工程与电子技术,2000,22
(9):61~63
24 王颖,谢剑英.一种自适应蚁群算法及其仿真研究.系统仿真学报,2002,14(1):30~33
25 张纪会,高齐圣,徐心和.自适应蚁群算法.控制理论与应用, 2000,17(1):1~3
26 林锦,朱文兴.凸整数规划问题的混合蚁群算法.福州大学学报(自然科学版),1999,27(6):5~9
27 郑肇葆.协同模型与遗传算法的集成.武汉大学学报(信息科学版),2001,26(5):381~385
28 吴庆洪,张纪会,徐心和.具有变异特征的蚁群算法.计算机研究与发展,1999,36(10):1240~1245
29 王颖,谢剑英.一种基于蚁群系统的多点路由新算法.计算机工程,27(1):55~56
30 徐宁,朱小科,等.用于两端线网布线的蚁群系统方法.计算机辅助设计与图形学学报,2002,14(5):410~412
收稿日期:2002-12-06。
第一作者吴斌,男,1979年生,在读硕士研究生;研究兴趣为神经网络、蚁群算法及其应用。
基于PS D算法的单神经元PID控制器在汽温控制中的应用
The Application of PSD Algorithm Based Single Neuron PID Controller in Steam Te mpera2 ture Control
肖 军 任挺进 李东海 高琪瑞
(清华大学热能工程系,北京 100084)
摘 要 介绍将自适应PSD控制算法中递推计算并修正增益的方法引入单神经元PID控制,形成了具有增益自适应能力的控制器,设计了基于PSD算法的单神经元PID控制器,并应用于超临界机组过热汽温控制系统。
仿真结果表明,基于PSD算法的单神经元PID控制器具有较强的自适应能力和鲁棒性,其控制品质优于常规的PID控制器和一般单神经元控制器。
关键词 PID控制器 单神经元 PSD算法 过热汽温控制 超临界机组
Abstract By introducing recurrence calculation and gain correction of self2adaptive PSD control alg orithm into single neuron PID control,the controller with self2adaptive gain capability is formed.Thus the single neuron PID controller based on PSD alg orithm is designed and used in superheated steam tem perature control in supercritical power unit.The result of simulation shows that the single neuron PID controller based on PSD alg orithm offers high a2 bility of self2adaptation and robustness.The control quality of this controller is better than of conventional PID controller and comm on single neuron con2 troller.
K ey w ords PID controller Single neuron PSD alg orithm Superheated steam tem perature control Supercritical power unit。