Transcript Document

早わかりアントコロニー最適化
(Ant Colony Optimization)
ACOとは



ここでは,ACO手法の概要を解説する。
アントコロニー最適化(Ant Colony Optimization, ACO)は、
実際のアリの採餌行動の際の経路生成過程にヒントを得
た探索手法であり、多くの組合せ最適化問題に適用され、
有効な結果が得られている。
アリはフェロモンを介したコミュニケーションを行いな
がら群れで行動し、ある種の秩序を形成する。ACOでは、
この秩序形成過程を探索に用いる。
アリが最短経路を見つける方法



アリは通過した経路にフェロモンを排出し、フェロモンに誘引され
て経路を選択する。まず、図aのように、A-E間に経路が形成される。
そして、図bのように、障害物が置かれていた場合、まず、アリは
どちらの経路の方が短いかについて知る手立てを持っていないため、
経路の選択はランダムになる。
図cは、その後の経過である。アリは経路にフェロモンを排出して
移動するため、短い経路の方が長い経路よりもフェロモン濃度が高
くなる。そのため、アリは短い経路を選ぶ度合が高くなる。
フェロモンは蒸発する性質
があるので、少数のアリし
か通らなくなった長い経路
は最終的にフェロモンが
なくなり、最短経路が確立
される。
(a)
(b)
(c)
巡回セールスマン問題(TSP)
都市の集合と各都市間の移動コストが与
えられ、全ての都市を一度ずつ巡り出発
地に戻る時、総移動距離が最小のものを
求める組合せ最適化問題である。問題例
の大きさは、都市の数で表わされる。
ACOのTSPの解法への応用原理

フェロモン濃度tの更新式
t
  t ij , k
0
k 1
t
t
06
6
t

if j  allowed
k
( t )]

k
1
02
03
2
04
05
(i )
5
otherwise
t
t
01
is

4
フェロモンによる経路選択確率


[t ij ( t )]  [ ij ]



k
p ij ( t )  
 [t is ( t )]  [ is ]
 s  a llowed k ( i )

0

 [t
s  allowed
m
t ij ( t  1)    t ij ( t ) 
[t ij ( t )]
k
p ij ( t ) 
3
代表的なACO手法

Ant System (AS) [Dorigo 96]


Ant Colony System (ACS) [Dorigo 97]



最良解を最良エージェントのみがフェロモンを放出
フェロモンの多様性を維持するLocal Updateを導入
Max Min Ant System (MMAS) [Stutzle 00]


ACOの基本アルゴリズム
フェロモン軌跡濃度を最小濃度と最大濃度の区間に限定
cunning Ant System (cAS)[Tsutsui 96]


経路生成にフェロモン濃度の利用に加えて,他エージェントの部分解を借用
これにより,探索過程での多様性維持の効果が得られる
 cASをACOの中で優れた性能を持つ
MMASおよびACSの結果と比較する。
 一般に大きな問題を解くには、ベースと
するアルゴリズムにローカルサーチを組
み合わせるのが一般的であり、これは
ACOにおいても同様である。ここでは、
cASにTSPのローカルサーチとして最も強
力な一つであるLin-Kernighan法(LK法)を
組み合わせる。
TSP
あり
(%)
(%)
426.2
0.5
0.06
427.1
0.26
427.6
0.38
428.1
0.48
kroA100
21282.0
0.0
0.00
21291.6
0.05
21320.3
0.18
21420.0
0.65
d198
15780
15954.1 35.6
1.10
15956.8
1.12
15972.5
1.22 16054.0
1.74
ry48p
14422
14465.4 34.9
0.30
14523.4
0.70
14553.2
0.91
14565.5
0.99
ft70
38673
38736.1 77.1
0.16
38922.7
0.65
39040.2
0.95
39099.1
1.10
kro124p
36230
36303.2 120.3
0.20
36573.6
0.95
36773.5
1.50
36857.0
1.73
ftv170
2827.1 8.7
2.62
* std : standard deviation of Best avg
2817.7
2.28
2828.8
2.68
2826.5
2.59
なし
25 0.00
1.8
25 0.00
5.7
vm1748 25 0.00
(n =1748)
pr2392
(n =2392)
fl3795
(n =3795)
rl5934
(n =5934)
5.6
25 0.00
10.1
25 0.00
9.8
25 0.00
43.2
7.8
[1.4, 27.8]
27.4
[6.0, 54.4]
72.4
[8.4, 171.0]
104.9
[33.7, 190.0]
435.1
[102.8, 1228.7]
1336.1
[729.1, 1996.8]
MMAS
Error
(%)
I avg
25 0.00
2.4
22 0.00
10.3
21 0.00
5.6
12 0.00
20.4
17 0.00
17.6
10 0.00
82.8
Chained LK
T avg
[min, max]
10.5
[1.4, 32.6]
48.8
[6.1, 74.1]
78.4
[8.3, 173.0]
211.3
[170.3, 233.2]
770.7
[159.9, 1081.1]
2533.6
[1499.2, 2897.0]
#OPT
d1291
(n =1291)
c AS
c AS (g =0.4)
T avg
Error
I avg
(%)
[min, max]
#OPT
(n =532)
#OPT
TSP
att532
サーチ
(%)
21282
2755
ローカル
(%)
eil51
STSP
サーチ
opt
426
ATSP
ローカル
MMAS
c AS
ACS
MMAS+pts
MMAS
c AS (g =0.4)
Best avg std* Error Best avg Error Best avg Error Best avg Error
Error
(%)
17 0.02
6
0.12
T avg
[min, max]
6.11
[0.3, 28.5]
17.0
[4.0, 61.3]
72.8
T max
40
80
1
0.06
4
0.17
0
0.57
-
1400
0
0.27
-
3300
[-]
122.4
[40.2, 222.1]
200
240
 ACOアルゴリズムは継続的に実行されるの
で、リアルタイムで変化に適応すること
ができる。このことから、
① ネットワークの経路制御
② 都市交通システム
での応用が考えられる。