1 蚁群算法简介 ( o; V1 h# O) X- S
蚁群是自然界中常见的一种生物,人们对蚂蚁的关注大都是因为“蚁群搬家,天 要下雨”之类的民谚。然而随着近代仿生学的发展,这种似乎微不足道的小东西越来越 多地受到学者们地关注。1991 年意大利学者 M. Dorigo 等人首先提出了蚁群算法,人们 开始了对蚁群的研究:相对弱小,功能并不强大的个体是如何完成复杂的工作的(如寻 找到食物的最佳路径并返回等)。在此基础上一种很好的优化算法逐步发展起来。 蚁群算法的特点是模拟自然界中蚂蚁的群体行为。科学家发现,蚁群总是能够发 现从蚁巢到食物源的最短路径。经研究发现,蚂蚁在行走过的路上留下一种挥发性的激 素,蚂蚁就是通过这种激素进行信息交流。蚂蚁趋向于走激素积累较多的路径。找到最 短路径的蚂蚁总是最早返回巢穴,从而在路上留下了较多的激素。由于最短路径上积累 了较多的激素,选择这条路径的蚂蚁就会越来越多,到最后所有的蚂蚁都会趋向于选择这条最短路径。基于蚂蚁这种行为而提出的蚁群算法具有群体合作,正反馈选择,并行 计算等三大特点,并且可以根据需要为人工蚁加入前瞻、回溯等自然蚁所没有的特点。 在使用蚁群算法求解现实问题时,先生成具有一定数量蚂蚁的蚁群,让每一只蚂 蚁建立一个解或解的一部分,每只人工蚁从问题的初始状态出发,根据“激素”浓度来 选择下一个要转移到的状态,直到建立起一个解,每只蚂蚁根据所找到的解的好坏程度 在所经过的状态上释放与解的质量成正比例的“激素”。之后,每只蚂蚁又开始新的求 解过程,直到寻找到满意解。为避免停滞现象,引入了激素更新机制。
, r+ L: [2 R$ k0 j3 z/ d. \
4 U4 j# W4 b# Y% N2 解决TSP 问题的蚁群算法描述
/ Q4 y2 w1 U+ r: z% Y- c- c6 g6 M
& f1 u6 f3 W$ O5 p![]()
: s6 a3 l4 n, m0 [3 a$ J @/ v0 b" i( u
根据上述原理,蚂蚁 k(k = 1,2,...,m)在运动过程中根据各条路径上的信息量决定 转移方向。与真实蚁群系统不同,人工蚁群系统具有一定的记忆功能。随着时间的推移, 以前留下的信息逐渐消逝,经 n 个时刻,蚂蚁完成一次循环,各路径上信息量要作调整。 由此得到下述的人工蚁群系统模型:
% i7 [4 v4 H. z) Y+ H
% l% |2 X" S8 ~9 ?& @. ~1 g5 Y6 U1)设人工蚁群在并行地搜索 TSP 的解,并通过一种信息素做媒介相互通信,在每 个结点上且和该结点相连的边上以信息素量做搜索下一结点的试探依据,直到找到一个 TSP 问题的可行解。 X& l: T. A4 v# M! c Q
2 C8 \# z+ ^, l2)在时刻t 人工蚁 k 由位置i 转移至位置 j 的转移概率为! j5 J( A, D1 g# p
6 Z' ~3 P& f$ w/ ~- A; Y0 K: j![]()
9 ^* G+ C/ B: @# G1 x% j Y" M
# l, M$ G+ J8 ?3 m4 y8 B% o! s" I其中参数α 为轨迹的相对重要性(α ≥ 0 );β 为能见度的相对重要性( β ≥ 0 );S 为 可行点集,即蚂蚁 k 下一步允许选择的城市。α, β 分别反映了蚂蚁在运动过程中所积 累的信息及启发式因子在蚂蚁选择路径中所起的不同作用。) ~. E8 X, ~3 e
& w! I4 R7 g: T! \2 P3)当 m 个人工蚁按(3)式找到了可行解,则将各边的信息量用下式修改。即调 整信息量的轨迹强度更新方程为; x+ t5 J/ L5 ^ g2 G% y ^
$ r+ o% s0 `# o2 x6 W) q & y3 z ^3 o- _9 c6 |/ ?- z2 _, E
/ X& q' K% h+ |, M& L$ C) m! W- C( f/ K8 W2 R! o$ F9 y
![]()
! h3 K$ S$ c& u( D5 a9 y- z6 \8 E, t6 i! D( s/ Q' i
人工蚁群算法的求解步骤对上述系统模型,采用人工蚁群方法求解的算法步骤可归结为: ![]()
/ q( ~( j& \9 O2 ~) y/ A* e
# l! E2 `' c; z# b# K3 人工蚁群算法性能的讨论* o. L$ L' c h; I3 b
人工蚁群算法是一种基于种群的进化算法。作为一个新兴的研究领域,虽它还远 未像 GA、SA 等算法那样形成系统的分析方法和坚实的数学基础,但目前已有一些基 本结果。 在 M. Dorigo 三种不同的模型中,循环路径(i, j) 上信息量的增量 不同。9 L' f( ^; |) f# T f& d+ l; |
1 `( m0 w$ p' S2 P+ N) Z1 h1)Ant-quantity system 模型中,1 M6 }3 y1 O" i: v
1 Z/ g3 h) F* N1 X- c v* Z5 E![]()
$ M4 o/ U( i& q6 {2 R. v7 M
" K8 F+ A* t3 A( Z' @* m) h0 ]
: n) G6 _9 E6 m$ `3 g6 s3 g' x( T2)在 Ant-density system 模型中,+ |% Z5 \ C7 ]0 p( l
; Z: h+ r( Z" Q1 h9 C7 O' Q - x: {1 T8 W; w2 l1 q) r
$ X; F |6 j) {
3)在 Ant-cycle system 模型中,
8 M+ _% r* r" I g: o9 c$ N: a/ L( I! N; T8 Q- t$ I" g8 z
8 A! o' G6 k, _; [/ W2 I* y1 O. o
人工蚁群算法中,α, β,Q 等参数对算法性能也有很大的影响。α 值的大小表明留 在每个结点上的信息量受重视的程度,α 值越大,蚂蚁选择以前选过的点的可能性越 大,但过大会使搜索过早陷于局部极小点;β 的大小表明启发式信息受重视的程度;Q 值会影响算法的收敛速度,Q 过大会使算法收敛于局部极小值,过小又会影响算法的 收敛速度,随问题规模的增大Q 的值也需要随之变化;蚂蚁的数目越多,算法的全局搜索能力越强,但数目加大将使算法的收敛速度减慢。
* I, y6 t7 i7 F
9 k0 p% _5 s7 k5 W) o" M4 ]: x& g————————————————3 N ~4 _- w. x
版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 F" D, ?& V$ F% t+ \
原文链接:https://blog.csdn.net/qq_29831163/article/details/896757281 o$ J1 ]$ {9 q
1 S& [! O6 f* ~. F5 I$ X5 o; A* h0 `# H
2 F1 a! m" o1 X. b: r) Z |