ant-algorithm.pdf

4
1 | Page 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 ) ( ) ( max arg = = k l k l J l il il iu iu k iJ o o iu iu J u t t t t t P q q J q q t t j β β β η τ η τ η τ Dimana τ adalah pheromone, η adalah inverse dari jarak antara dua kota, q adalah sebuah variabel random yang terdistribusi secara uniform pada range nilai [0,1], q o 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) .......... .......... .......... .......... .......... .......... .......... .......... 1 1 o ij ij t t ρτ τ ρ τ + - - = Dimana ρ merupakan konstanta evaporasi (penguapan). Nilai τ o merupakan inisial nilai dari jejak pheromone. Nilai ini diperoleh dengan menggunakan rumus: τ o =(nL nn ) -1 , dimana n merupakan jumlah kota dan L nn 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) .......... .......... .......... .......... .......... .......... .......... .......... 1 1 + + - - = L t t ij ij ρ τ ρ τ Dimana L + merupakan panjang dari best tour yang ditemukan oleh satu agen dari beberapa agen yang bekerja.

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