ant-algorithm.pdf
-
Upload
chandra-darmawan -
Category
Documents
-
view
225 -
download
2
Transcript of ant-algorithm.pdf
-
1 | P a g e
Ant Algorithm Oleh: Ahmad Riyad Firdaus
Politeknik Batam
Ant algorithm (Algoritma Semut) merupakan sebuah teknik optimasi yang terinspirasi dari
proses alam yang digunakan khususnya dalam permasalahan optimasi kombinatorial
(Combinatorial Optimization Problem - COP). Dalam algoritma ini, terdapat sejumlah semut
buatan, dinamai ants, yang berfungsi sebagai agent yang ditugaskan untuk mencari solusi
terhadap suatu masalah optimasi. Kerja sama antar ants dilakukan dengan cara bertukar
informasi melalui pheromone yang diletakkan pada ruas-ruas sebuah graf. Elemen graf
dengan kuantitas pheromone yang tinggi akan memiliki daya tarik tersendiri bagi semut-
semut yang lain. Kuantitas dari pheromone yang disimpan pada masing-masing elemen
merupakan sebuah fungsi kualitas dari solusi. Algoritma ini sudah diterapkan pada
Travelling Salesmen Probem (TSP) dan pada Quadratic Assigment Problems (QAP). Dalam
TSP, sebuah artifisial semut direpresentasikan sebagai sebuah agen yang bergerak dari kota
ke kota pada sebuah grafik TSP. Strategi perjalanan dari agen-agen tersebut adalah
berdasarkan sebuah fungsi probabilistik yang mempertimbangkan dua fakta. Pertama: agen
tersebut menghitung edge (tepian) yang sudah dikunjungi yang akumulasinya dihitung
sebagai sebuah jarak dari perjalanan tersebut. Kedua: agen men-sense jejak (pheromone)
yang tertinggal dari agen-agen yang lain. Semut-semut selanjutnya memilih kota j yang ada
pada list kandidat dengan mengikuti transition rule sebagai berikut:
[ ][ ]{ }
[ ][ ][ ][ ]
.....(3).......................................................................................... )()(
)()()(
2).........(.................................................. jika
jika )()(maxarg
=
=
kl
kl
Jl
ilil
iuiuk
iJ
o
oiuiuJu
tt
tttP
qqJ
qqttj
Dimana adalah pheromone, adalah inverse dari jarak antara dua kota, q adalah sebuah variabel random yang terdistribusi secara uniform pada range nilai [0,1], qo adalah sebuah
parameter yang dapat di-tune pada interval [0,1], dan J adalah sebuah list kandidat dan dipilih
berdasarkan pada probabilistic rule di atas (persamaan 3). Masing-masing semut
memodifikasi lingkungannya dengan dua cara yang berbeda, yaitu:
1. Update jejak lokal: agen bergerak dari satu kota ke kota yang lain dengan meng-update sejumlah pheromone pada setiap tepi (edge) dengan mengikuti persamaan berikut:
( ) ( ) ( ) .......(4)................................................................................ 11 oijij tt += Dimana merupakan konstanta evaporasi (penguapan). Nilai o merupakan inisial nilai
dari jejak pheromone. Nilai ini diperoleh dengan menggunakan rumus: o=(nLnn)-1
,
dimana n merupakan jumlah kota dan Lnn panjang tour yang diperoleh dengan satu
heuristic atau metode pelacakan nears neighborhood.
2. Update jejak global: ketika semua agen telah melaksanakan satu tour secara lengkap, dan agen tersebut menemukan rute terpendek. Maka tepian-tepian yang dilewati oleh agen
tersebut akan di-update pheromone-nya dengan menggunakan persamaan:
( ) ( ) ( ) ......(5)................................................................................ 11+
+=L
tt ijij
Dimana L+ merupakan panjang dari best tour yang ditemukan oleh satu agen dari
beberapa agen yang bekerja.
-
2 | P a g e
Berikut ini adalah algoritma:
1. Ant System Untuk kasus Travelling Salesmen Problem (TSP)
Algorithm 2.1 High-Level description of AS-TSP
/*Intialization*/
For every edge ( ji, ) do
ij (0) = 0 End For
For 1=k to m do Place ant k on a randomly chosen city End For
Let T+be the shortest tour found from beginning and L
+ its length
/* Main loop */
For 1=t to tmax do For 1=k to m do
Build tour )(tTk
by applying 1n times the following step:
Choose the next city j with probability
'][)]([
][)]([)(
ililjl
ijijk
ijt
nttp
ki
=
Where i is the current city End For
For 1=k to m do
Compute the length )(tLk of the tour )(tT K produced by ant k End For
If an improved tour is found then
Update +T and +L
End If
For every edge ),( ji do Update pheromone trails by applying the rule:
)()()()1()( tettt eijijijij ++ where
),()(1
ttm
k
k
ijij =
=
=,0
);(),()(/)(
otherwise
tTjiiftLQt
kk
e
ij
and
=++
,0
;),(/)(
otherwise
TjiifLQt
e
ij
End For
For every edge ),( ji do
-
3 | P a g e
)()1( tt ijij =+
End For
Print the shortest tour +T and its length +L
Stop
/*Values of parameters used in experiments */
5,10,100,,5.0,5,1 60 =======
eQnm
2. Ant Colony System Untuk kasus Travelling Salesmen Problem (TSP) Algorithm 2.2 High-Level description of ACS-TSP
/*Initialization*/
For every edge ),( ji do
0)0( =ij End For
For 1=k to m do Place ant k on a randomly chosen city End For
Let +T be the shortest tour found from beginning and +L its length
/* Main Loop */
For 1=t to maxt do
For k =1 to m do
Build tour kT (t) by applying n -1 times the following steps:
If exists at least one city j candidate list then
Chose the next city ,, kijjj among the cl cities in the candidate list as follows
[ ] [ ]{ }
>
=
,
;)(maxarg
0
0
qqifj
qqiftj iuiuju
ki
Where k
iJJ is chosen according to the probability:
[ ] [ ]
[ ] [ ]
=kijl
ilil
ijijk
ijt
ttp
)(
)()(
And where i is the current city Else
Choose the closest K
iJj End If
After each transition ant k applies the local update rule:
( ) 0)(1)( + tt ijij
End For
For 1=k to m do
Compute the length )(tLk of the tour )(tT k produced by ant k End For
If an improved tour is found then
Update +T and +L
-
4 | P a g e
End If
For every edge ( ) +Tji, do Update pheromone trails by applying the rule:
( ) )()(1)( ttt ijijij + where += Ltij /1)(
End For
For every edge ( )ji, do ( ) )(1, tt ijji =+ End For
End For
Print the shortest tour +T and its length +L
Stop
/* Values of parameters used in experiments */
15,)(,10,9.0,1.0,2 100 ======
clLnmq nn