19
蚁蚁蚁蚁 ACO(ANT COLONY OPTIMIZATIO N) 蚁蚁 2014.05.30

蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

Embed Size (px)

DESCRIPTION

蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30. 大纲. 1、蚁群算法简介 2、蚁群算法原理 3、自然蚁群与人工蚁群算法 4、旅行推销员( TSP )问题 5 、蚁群算法求解旅行推销员问题 6 、蚁群算法的优缺点. 1、蚁群算法简介. 蚁群算法起源. 蚁群优化(ANT COLONY OPTIMIZATION,ACO)是20世纪90年代初由意大利学者M.DORIGO等通过模拟蚂蚁的行为而提出的一种随机优化技术。最初用于求解旅行商问题,现在已经成功用于许多组合优化问题。. Macro Dorigo. 2. - PowerPoint PPT Presentation

Citation preview

Page 1: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

蚁群算法ACO(ANT COLONY OPTIMIZATION)

刘威2014.05.30

Page 2: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

1 、蚁群算法简介2 、蚁群算法原理3 、自然蚁群与人工蚁群算法4 、旅行推销员( TSP )问题5 、蚁群算法求解旅行推销员问题6 、蚁群算法的优缺点

大纲

1

Page 3: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

蚁群算法起源

•蚁群优化( ANT COLONY OPTIMIZATION,ACO )是 20 世纪 90 年代初由意大利学者 M.DORIGO 等通过模拟蚂蚁的行为而提出的一种随机优化技术。最初用于求解旅行商问题,现在已经成功用于许多组合优化问题。

Macro Dorigo

1 、蚁群算法简介

2

Page 4: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

在经过路径上释放一种特殊的信息素——费洛蒙;路径越长,费洛蒙浓度越低;费洛蒙浓度愈强,该路线被蚂蚁选择的机率愈大;若一段时间不再有蚂蚁经过该路径并贡献费洛蒙时,其费洛蒙浓度便会降低;最优路径上的激素浓度越来越大,最终找出最优路径。

2 、蚁群算法原理

3

Page 5: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

2.1 简化的蚂蚁寻食过程

4

9 个时间单位,走 ABD 的蚂蚁到达终点,走 ACD 的蚂蚁刚好走到 C 点。

18 个时间单位,走 ABD 的蚂蚁到达终点后得到食物又返回了起点 A ,而走 ACD 的蚂蚁刚好走到 D 点。

36 个时间单位后, ABD 的路线往返了 2 趟,而 ACD 的路线往返了一趟,两条路线费洛蒙单位比值为 2 : 1 。

按费洛蒙的指导,蚁群在 ABD 路线上增派一只蚂蚁(共 2 只),而ACD 路线上仍然为一只蚂蚁。再经过 36 个时间单位后,两条线路上的费洛蒙单位积累为 12 和 4 ,比值为 3 : 1 。

Page 6: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

3 、自然蚁群与人工蚁群

7

Page 7: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

旅行推销员问题 (Traveling Salesman Problem ; TSP),该推销员需拜访八个城市,各城市的相对位置及彼此之间的距离(单位:公里)分别如下所示。这位推销员从城市 1 出发,必须拜访每个城市且仅能拜访一次,然后再回到城市 1 ,此推销员的最佳路径为何?   1 2 3 4 5 6 7 8

1 – 91.8 105.2 89.9 189.9 76.2 278.3 54.4

2 91.8 – 187.2 38.9 271.3 162.9 363.3 88.4

3 105.2 187.2 – 194.1 182.3 31.4 176.1 153.8

4 89.9 38.9 194.1 – 249.4 166.1 368.3 63.6

5 189.9 271.3 182.3 249.4 – 168.0 243.0 185.9

6 76.2 162.9 31.4 166.1 168.0 – 202.2 122.8

7 278.3 363.3 176.1 368.3 243.0 202.2 – 320.0

8 54.4 88.4 153.8 63.6 185.9 122.8 320.0 –

4 、旅行推销员( TSP )问题

Page 8: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

开发: 蚂蚁参考过去所经历的较佳路径,以获得更好的解0qq

探索: 蚂蚁欲发现未曾尝试过的解,以避免陷入区域最佳解控制开发与探索之相对比例的参数状态转移法则:在开发和探索之间提供了一个平衡机制第 i只蚂蚁初次迭代的解:迭代 n的最佳解:目前整体最佳解:节点排序集合

5 、蚁群算法求解旅行推销员问题

0q

0qq

)1(ix

*)(nx*gx

x

Page 9: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

贪婪法则: ACO 的蚂蚁不同于真实蚂蚁之处在于其并非全盲;除了拥有费落蒙引导外,亦可经由贪婪法则给予一个较为适当的搜寻方向。区域费洛蒙更新:某只蚂蚁完成一个可行解后,依据此蚂蚁的路径实时更新其费洛蒙浓度,目的是避免让其他蚂蚁陷入区域最佳解。全局费洛蒙更新:仅记录该迭代蚁群中表现最好的蚂蚁,并对其解进行费洛蒙更新,增加其行经路径的费洛蒙浓度,以给未来的蚁群适当的引导。

5 、蚁群算法基本概念

Page 10: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

反复步骤: 1.建构阶段。依据以下状态转移法则一次决定一个节点,以逐步建立第 n次迭代的第 i只蚂蚁的解

0( )

max [ ( , )] [ ( , )]

u J rr u r u q q

sS

否則( , )r u —— 节点 r 至 u 的费洛蒙量

( , )r u —— 节点 r 至 u 的贪婪法则的结果( TSP 问题中为距离倒数))(rJ

——该只蚂蚁走至节点 r时,尚未拜访城市集合 —— 决定费洛蒙量与贪婪法则之相对重要性参数

S —— 随机变量,一般使用罗盘法搭配以下机率分配产生

( )

( , ) ( , )( )

( , ) ( , )( , )

0

v J r

r u r uu J r

r v r vP r u

否則

Page 11: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

随机数 , 第一只蚂蚁从城市 1 出发 ,依 寻找下一城市 , 取 ru 节点间距离的倒数, 计算得 为最大值,选择城市 8

随机数 q=0.302 、 0.493,继续选择城市 4 及 2

0qq 275.0q (1) {2,3,J 4,5,6,7,8}

)(max

rJu k {[ 1,2 ] [ 1,2 ] ,..., [ 1,8 ] [ 1,8 ] }

([ 1,8 ] [ 1,8 ] )

85.00 q

0001.00 ( , )r u 2 1

  1 2 3 4 5 6 7 8

1 – 91.8 105.2 89.9 189.9 76.2 278.3 54.4

2 91.8 – 187.2 38.9 271.3 162.9 363.3 88.4

3 105.2 187.2 – 194.1 182.3 31.4 176.1 153.8

4 89.9 38.9 194.1 – 249.4 166.1 368.3 63.6

5 189.9 271.3 182.3 249.4 – 168.0 243.0 185.9

6 76.2 162.9 31.4 166.1 168.0 – 202.2 122.8

7 278.3 363.3 176.1 368.3 243.0 202.2 – 320.0

8 54.4 88.4 153.8 63.6 185.9 122.8 320.0 –

0( )

max [ ( , )] [ ( , )]

u J rr u r u q q

sS

否則

Page 12: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

产生一个随机数,使用罗盘法则得知该随机数落于城市 5 的机率范围内( S = 5 ),因此选取城市 5作为下一个拜访城市。依此类推,并将其所建构之初始解进行区域费洛蒙更新。五只蚂蚁之初始解如下表所示。

随机数 ,依转移法则找寻 S如下0972.0 qq

{3,5,6,7}

[ (2, )] [ (2, )](2, )

[ (2, )] [ (2, )]v

u uP u

v v

1 1 8 4 2 5 6 3 7 1 1082

2 1 8 4 2 6 3 5 7 1 1054.8

3 1 8 4 6 3 2 5 7 1 1295.3

4 1 8 2 4 6 3 5 7 1 1082.8

5 1 4 2 8 6 3 7 5 1 980.4

i )1(ix )( )1(

ixF

Page 13: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

2.区域费洛蒙更新:更新第 i只蚂蚁所经路径费洛蒙量如下:-1( , ) (1 ) ( , )r u r u F

费洛蒙蒸发比例 95.0

3. 区域搜寻:寻找最佳邻近解。若 ,则)()( *)()( nni xFxF )(*)( n

in xx

4.重复步骤 1 至 3 以建构每只蚂蚁的解。

Page 14: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

将各蚂蚁进行邻近搜寻,此范例使用随机两点换法,产生一个邻近可行解搜寻比现行解表现较佳的途径,直到达到最大邻近解搜寻次数( n=10 )为止。五只蚂蚁之较佳的邻近解如下表所示

1 1 8 4 2 3 6 5 7 1 1064.8

  1 8 4 2 6 3 5 7 1 1054.8

  1 2 4 8 6 3 5 7 1 1052.1

2 1 8 4 2 6 7 5 3 1 1052.5

  1 8 4 2 6 5 7 3 1 1012.1

3 1 4 8 6 3 2 5 7 1 1287.5

  1 4 8 2 3 6 5 7 1 1149.8

  1 4 8 2 3 7 5 6 1 1092.4

4 1 2 4 8 6 3 5 7 1 1052.1

5 1 2 4 8 6 3 7 5 1 957.5

i x )( )1(ixF

Page 15: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

由上表可知,第五只蚂蚁表现最佳,其路径为 1-2-4-8-6-3-7-5-1 ,因此增加 路段的费洛蒙量。)1,5(,),4,2(),2,1(

5.全局费洛蒙更新。找寻第 n次迭代中表最佳的蚂蚁解,并根据以下全局费洛蒙更新机制,更新该蚂蚁行经路径所有节点间的费洛蒙浓度:

),(),()1(),( ururur ),( ur 为整体表现最佳解之目标值(这里为该迭代中全局最小总距离和倒数)

Page 16: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

结束步骤:若迭代数已达默认值,则停止程序。否则令并回到返回步骤。本题中 n=60。搜寻过程如下表:

1nn

1 1 8 4 2 5 6 3 7 1 1082

2 1 8 4 2 6 3 5 7 1 1054.8

3 1 8 4 6 3 2 5 7 1 1295.3

4 1 8 2 4 6 3 5 7 1 1082.8

5 1 4 2 8 6 3 7 5 1 980.4

1 1 4 2 8 6 3 7 5 1 980.4

2 1 4 2 8 6 3 7 5 1 980.4

3 1 4 2 8 6 3 7 5 1 980.4

4 1 4 2 8 6 3 7 5 1 980.4

5 1 4 2 8 6 3 7 5 1 980.4

1 1 2 4 8 6 3 7 5 1 957.5

2 1 2 4 8 6 3 7 5 1 957.5

3 1 2 8 6 3 7 5 4 1 1092.8

4 1 2 4 8 6 3 7 5 1 957.5

5 1 2 4 8 6 3 7 5 1 957.5

)1(ix )( )1(

ixF

i

)2(ix )( )2(

ixFi

)3(ix )( )3(

ixF

i

Page 17: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

n=60

1 1 2 4 8 6 3 7 5 1 957.5

2 1 2 4 8 6 3 7 5 1 957.5

3 1 2 4 8 6 3 7 5 1 957.5

4 1 2 4 8 5 7 3 6 1 906.9

5 1 2 4 8 6 3 7 5 1 957.5

1 1 2 4 8 5 7 3 6 1 906.9

2 1 2 4 8 5 7 3 6 1 906.9

3 1 2 4 8 5 7 3 6 1 906.9

4 1 2 4 8 5 7 3 6 1 906.9

5 1 2 4 8 5 7 3 6 1 906.9

)20(ix

)( )20(ixF

i )60(ix )( )60(

ixF

i

n=20

Page 18: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

优点ACO 与粒子群算法( PSO )的想法皆来自于生物界个体与群集生活之社交行为。

属多点(多只蚂蚁)搜寻,而非单点搜寻。拥有正向回馈,对表现较好的解增加其费洛蒙浓度;拥有负项回馈,对表现较差的解降低其费洛蒙浓度。

倾向于选择费洛蒙浓度较高的路径,能透过费落蒙传达讯息。同时藉由费洛蒙量及经验法则,引导下一迭代蚁群的搜寻方向缺点容易陷入局部最优搜索时间较长

6 、蚁群算法的优缺点

Page 19: 蚁群算法 ACO(ANT COLONY OPTIMIZATION) 刘威 2014.05.30

THANK YOU!