1
IMPLEMENTASI ALGORITMA ANT COLONY DENGAN MULTI AGENT SYSTEM PADA GRAF
Winda Pitralisa1, Cokorda Agung W2, ZK. Abdurahman Baizal3
1,2Fakultas Informatika Institut Teknologi Telkom, Bandung
3Fakultas Sains Institut Teknologi Telkom, Bandung [email protected]3
Abstrak
Graf sudah banyak diaplikasikan dalam kehidupan sehari-hari, terutama dalam bidang pemrograman komputer. Salah satu contoh aplikasi graf yang dibahas pada makalah ini adalah pencarian jalan atau lintasan terpendek dari titik awal menuju titik tujuan. Penelitian pada makalah ini menggunakan algoritma semut yaitu Ant Colony System (ACS) dengan Multi Agent System (MAS). Sistem yang dibangun memanfaatkan semut sebagai agen yang ditugaskan untuk mencari solusi dari permasalahan optimasi jarak terpendek. ACS dengan MAS merupakan pengembangan dari Ant System (AS) dimana terdapat perbedaan pada aturan transisi status dan pembaharuan feromon.
Penelitian ini dilakukan dengan pembuatan sistem yang menerapkan MAS di dalam ACS dan menganalisa faktor-faktor yang dapat mempengaruhi hasil dari jarak terpendek baik dari segi parameter, waktu serta memori yang digunakan. ACS melibatkan proses ekplorasi dan ekploitasi untuk menghasilkan solusi dari proses perhitungan.
Hasil akhir yang diperoleh dari penelitian ini adalah ACS dengan MAS sebaiknya menggunakan parameter α yang bernilai lebih besar daripada β dan q0=0.75 yang menunjukkan peluang proses eksploitasi lebih banyak pada syarat transisi q≤q0 agar hasil jarak terpendek mendekati minimum. Pada pengujian pembagian jumlah ekplorasi dan eksploitasi menunjukkan akan lebih baik jika ada keseimbangan antara kedua proses tersebut. Selain itu, memori dan waktu terlihat lebih dipengaruhi oleh banyaknya simpul.
Kata kunci: Graf, ACS, MAS, AS, Eksplorasi, Eksploitasi.
1. Pendahuluan
Secara umum, pencarian jalur terpendek dapat dibagi menjadi dua metode, yaitu metode konvensional dan metode heuristik. Metode konvensional jika dibandingkan, hasil yang diperoleh dari metode heuristik lebih variatif dan waktu perhitungan yang diperlukan lebih singkat. Metode heuristik terdiri dari beberapa macam algortima yang biasa digunakan. Salah satunya adalah algoritma semut (Ant Colony, Antco). Algoritma semut atau Ant System diinspirasi oleh tingkah laku koloni semut, sebagai contoh menemukan jalur terpendek yang baru ketika yang lama sudah tidak memungkinkan lagi karena munculnya rintangan. Ant System (AS) yang tidak optimum jika kajian kasusnya lebih luas selanjutnya dikembangkan atau dilakukan perbaikan dengan munculnya Ant Colony System (ACS).
Peningkatan performa AS mengarah pada penerapan ACS. ACS juga menerapkan multi- agent system (MAS) yang merupakan paradigma pengembangan sistem di mana dalam suatu komunitas terdapat beberapa agent yang saling berinteraksi, bernegosiasi, dan berkoordinasi.
Konsep agen tersebut dianalogikan dengan
konsep algoritma semut sehingga bisa membantu performansi optimal mendapatkan jalur terpendek dari suatu graf dalam waktu seminimal mungkin. Oleh karena itu, diterapkan cara lain dengan menggunakan algoritma ini dalam pencarian solusi graf yang lebih memperlihatkan peran pada penerapan MAS didalamnya.
Tujuan dari Penelitian ini adalah pembuatan perangkat lunak untuk pencarian jalur terpendek pada graf menggunakan ACS dengan MAS dan menganalisa serta melihat peran dari MAS yang diterapkan pada ACS. Sistem yang dibangun merupakan program yang hanya mencari lintasan terpendek dalam graf dari titik awal ke titik tujuan dengan Algoritma Semut. Graf yang digunakan adalah graf lengkap berbobot dan tertutup dengan jarak antar simpul ditentukan dari hasil komputasi. Perangkat lunak dibangun menggunakan bahasa pemrograman java.
2 Algoritma Semut
Algoritma ini diinspirasi oleh tingkah laku koloni semut, yang dapat menemukan jalan terpendek (sarang semut dengan sumber makanan) jika bersama dalam suatu koloni [3]. Semut menemukan
suatu teknik dimana untuk saling bertukar informasi tentang jalur mana yang seharusnya dilalui yaitu dengan berkomunikasi melalui jejak feromon yang ditinggalkan (suatu zat kimia). Semakin banyak semut yang melalui suatu lintasan, maka akan semakin jelas bekas jejak kakinya serta semakin lama akan semakin bertambah kepadatan semut yang melewatinya, atau bahkan semua semut akan melalui lintasan begitu pula sebaliknya. Hasilnya, pengeluaran dan peninggalan feromon akan lebih banyak pada jalur yang terpendek. Gambar 2.1 menujukkan perjalanan semut dalam menemukan jalur terpendek dari sarang ke sumber makanan [6].
Gambar 1 : Perjalanan Semut Menemukan Makanan Gambar 1 menunjukkan ada dua kelompok semut L dari kiri dan R dari kanan. Kelompok semut L membagi dua kelompok lagi. Hal ini juga berlaku pada kelompok semut R. Gambar b dan gambar c menunjukkan bahwa kelompok semut berjalan pada kecepatan yang sama dengan meninggalkan feromon atau jejak kaki di jalan yang telah dilalui. Feromon yang ditinggalkan oleh kumpulan semut yang melalui jalan atas telah mengalami banyak penguapan karena semut yang melalui jalan atas berjumlah lebih sedikit dari pada jalan yang di bawah. Hal ini dikarenakan jarak yang ditempuh lebih panjang daripada jalan bawah. Sedangkan feromon yang berada di jalan bawah, penguapannya cenderung lebih lama. Karena semut yang melalui jalan bawah lebih banyak daripada semut yang melalui jalan atas. Gambar 1 menunjukkan bahwa semut-semut yang lain pada akhirnya memutuskan untuk melewati jalan bawah karena feromon yang ditinggalkan masih banyak. Dari sinilah kemudian terpilihlah jalur terpendek antara sarang dan sumber makanan.
3. Ant System
Algoritma ant colony pertama kali diperkenalkan oleh Marco Dorigo pada tahun 1992 kemudian dipublikasikan dengan nama Ant System (AS) dan diaplikasikan pada Traveling Salesman Problem (TSP) pada tahun 1996 [7]. TSP direpresentasikan dengan menggunakan sebuah graf dimana graf tersebut simpulnya terhubung satu sama
lain oleh ruas-ruas yang menghubungkan simpul- simpul pada graf tersebut.
Dalam algoritma semut, diperlukan beberapa 2ias2ble dan langkah-langkah untuk menentukan jalur terpendek [5], yaitu:
Langkah 1 :
a. Inisialisasi harga parameter-parameter algoritma.
Parameter-parameter yang di inisialisasikan adalah :
1. Intensitas jejak semut antar simpul dan perubahannya (τij).
2. Banyak simpul (n) termasuk koordinat (x,y) atau jarak antar simpul (dij)
3. Titik awal dan titik tujuan 4. Tetapan siklus-semut (Q)
5. Tetapan pengendali intensitas jejak semut (α), nilai α ≥ 0
6. Tetapan pengendali visibilitas (β), nilai β ≥ 0 7. Visibilitas antar simpul = 1/dij (ηij)
8. Banyak semut (m)
9. Tetapan penguapan jejak semut (ρ) , nilai ρ harus > 0 dan < 1 untuk mencegah jejak feromone yang tak terhingga.
10. Jumlah siklus maksimum (Ncmax) b. Inisialisasi simpul pertama setiap semut.
Langkah 2 :
Pengisian simpul pertama ke dalam tabu list.
Hasil inisialisasi simpul pertama setiap semut dalam langkah 1 harus diisikan sebagai elemen pertama tabu list. Hasil dari langkah ini adalah terisinya elemen pertama tabu list setiap semut dengan indeks simpul tertentu, yang berarti bahwa setiap tabu k(l) 2ias berisi indeks simpul antara 1 sampai n sebagaimana hasil inisialisasi pada langkah 1.
Langkah 3 :
Setiap semut memulai turnya melalui sebuah simpul yang ditentukan dan pemilihan simpul-simpul yang akan dilaluinya didasarkan pada suatu fungsi probabilitas, dinamai aturan transisi status (state transition rule). Aturan transisi status yang digunakan oleh AS dinamai random- proportional rule [8], yang ditunjukkan oleh persamaan (1) probabilitas transisi dimana semut ke- k di simpulϵ I berpindah menuju ke simpul j.
[ ] [ ] ( )
[ ] [ ] ( )
∋
= ∑
sebaliknya 0
allowed η j
τ t η τ t
p
β kij α ij
β ij α ij k
ij (1)
dimana
allowed
k={ N − tabu
k}
Langkah 4 :
3
a. Perhitungan panjang rute setiap semut.
Perhitungan panjang rute tertutup (length closed tour) atau Lk setiap semut dilakukan setelah satu siklus diselesaikan oleh semua semut. Perhitungan ini dilakukan berdasarkan tabu k masing- masing dengan persamaan (2).
( ) ( )
+ ∑
=− ( ) ( )+=
11 , 1
1 ,
n
s tabu s tabu s
tabu n tabu
k
d
k kd
k kL
………(2)
dengan dij adalah jarak antara simpul I ke simpul j yang dihitung berdasarkan persamaan (3).
d
ij=( x
i− x
j) (
2+ y
i− y
j)
2 (3)b.
Pencarian rute terpendek.Setelah
L
k setiap semut dihitung, akan didapat harga minimal panjang rute tertutup setiap siklus atauL
minNC dan harga minimal panjang rute tertutup secara keseluruhan adalah atauL
min.c. Perhitungan perubahan harga intensitas jejak kaki semut antar simpul.
Koloni semut akan meninggalkan jejak-jejak kaki pada lintasan antar simpul yang dilaluinya. Adanya penguapan dan perbedaan jumlah semut yang lewat, menyebabkan kemungkinan terjadinya perubahan harga intensitas jejak kaki semut antar simpul.
Persamaan perubahan ini ditunjukkan pada persamaan (4).
∑
==
∆
mkk
ij
L
Q
τ
1 (4)dengan
∆ τ
ij adalah perubahan harga intensitas jejak kaki semut antar semut setiap semut.Pembaharuan jejak kaki semut dilakukan setelah selesai satu siklus didasarkan pada penelitian sebelumnya [3]. Jika jejak kaki semut selalu diperbaharui setelah melewati satu jalur, hasil yang diperoleh kuran efisien atau belum mencapai optimal.Langkah 5 :
b. Perhitungan harga intensitas jejak kaki semut antar simpul untuk siklus selanjutnya. Harga intensitas jejak kaki semut antar simpul pada semua lintasan antar simpul ada kemungkinan berubah karena adanya penguapan dan perbedaan jumlah semut yang melewati. Untuk siklus selanjutnya, semut yang akan melewati
lintasan tersebut harga intensitasnya telah berubah. Harga intensitas jejak kaki semut antar simpul untuk siklus selanjutnya (global pheromone updating rule) dihitung dengan persamaan (5).
+
⋅
=
ijij
ρ τ
τ ∆ τ
ij (5)c. Atur ulang harga perubahan intensitas jejak kaki semut antar simpul.
Untuk siklus selanjutnya perubahan harga intensitas jejak semut antar simpul perlu diatur kembali agar memiliki nilai sama dengan nol.
Langkah 6 :
Pengosongan tabu list, dan ulangi langkah 2 jika diperlukan. Tabu list perlu dikosongkan untuk diisi lagi dengan urutan simpul yang baru pada siklus selanjutnya, jika jumlah siklus maksimum belum tercapai atau belum terjadi konvergensi. Algoritma diulang lagi dari langkah 2 dengan harga parameter intensitas jejak kaki semut antar simpul yang sudah diperbaharui.
3.1. Ant Colony System
Ant system memiliki kelemahan jika diimplementasikan pada TSP dengan jumlah simpul yang lebih banyak. Oleh karena itu, dikembangkan Ant Colony System (ACS) sebagai perbaikan terhadap AS untuk meningkatkan performanya jika diterapkan pada masalh yang lebih kompleks [8].
ACS menerapkan paradigma Multi-Agent System (MAS), paradigma pengembangan sistem di mana dalam suatu komunitas terdapat beberapa agen yang saling berinteraksi, bernegosiasi, dan berkoordinasi satu sama lain dalam menjalankan pekerjaan.
Algoritma ini menggunakan sistem multi agent, yang berarti akan dikerahkan seluruh koloni semut yang masing-masingnya bergerak sebagai agen tunggal. Setiap semut menyimpan daftar tabu yang memuat nodes yang sudah pernah ia lalui, dimana ia tidak diijinkan untuk melalui node yang sama dua kali dalam satu kali perjalanan [9].
ACS memiliki perbedaan dengan ant system yang sebelumnya karena tiga aspek utama [6]:
1. Aturan transisi status pada sistem ini memberikan suatu cara langsung untuk menyeimbangkan antara penjelajahan (exploration) ruas-ruas yang baru dengan eksploitasi (exploitation) dari sebuah priori dan pengetahuan yang dihimpun mengenai masalah tersebut.
( )
{ [ ] ( ) [ ] ( ) }
∈ ⋅ ≤=
sebaliknya S
loitation q
q u r u r r jk s u
) 0(exp ,
, max
arg β
η τ
……….(6)
dimana q adalah sebuah bilangan pecahan acak antara 0 s.d. 1 [0 .. 1],
𝑞𝑞
0 adalah sebuah parameter (0 ≤𝑞𝑞
0 ≤ 1) dan S adalah sebuah variabel acak yang dipilih berdasarkan distribusi probabilitas yang telah diberikan pada persamaan (1).2. Aturan pembaruan feromon global hanya dilakukan pada ruas-ruas yang merupakan bagian dari tur terbaik. Sedangkan pada ruas selain itu tidak mengalami pembaruan pheromone global [4].
( ) ( ) ( ) r , s 1 α τ r , s α τ ( ) r , s
τ ← − ⋅ + ⋅ ∆
……(7)dimana
( ) ( ) ( )
− ∈ − −=
∆
sebaliknya tour best global s gb r L s r
0 , 1 τ ,
3. Disaat semut-semut membangun sebuah solusi, diterapkan suatu aturan pembaruan feromon lokal (local pheromone updating rule). Selagi membangun turnya, seekor semut juga memodifikasi jumlah feromon pada ruas-ruas yang dikunjunginya dengan menerapkan aturan pembaruan feromon lokal.
( )
− ⋅ + ⋅ ∆
=
ij
ij ij
ij
τ
τ ρ τ τ 1 ρ
(8)
Nilai ρ sama dengan nilai parameter α pada persamaan (7) [6].
Setiap semut mengaplikasikannya hanya pada busur terakhir yang dilewati [7]. Peranan dari aturan pembaruan feromon lokal ini adalah untuk mengacak arah tur-tur yang sedang dibangun, setiap kali seekor semut menggunakan sebuah ruas maka ruas ini dengan segera akan berkurang tingkat ketertarikannya (karena ruas tersebut kehilangan sejumlah feromon-nya), secara tidak langsung semut yang lain akan memilih ruas-ruas lain yang belum dikunjungi. Konsekuensinya, semut tidak akan memiliki kecenderungan untuk berkumpul pada jalur yang sama [6].
4. Agent dan Multi Agent System
Agen adalah suatu entitas software komputer yang memungkinkan user (pengguna) untuk mendelegasikan tugas kepadanya secara mandiri (autonomously) dan mampu secara cerdas mengelola pengetahuannya (intelligence), serta memberikan kontribusi pada lingkungannya (interconnection). Dalam perkembangan aplikasi dan penelitian tentang agen bagaimanapun juga dalam suatu komunitas sebuah sistem tidak dapat dihindari akan dibutuhkannya lebih dari satu agent, seiring dengan semakin kompleksnya tugas yang dikerjakan oleh sistem tersebut, sehingga terbentuk Multi Agent System. Multi Agent System (MAS)
adalah paradigma pengembangan sistem dimana dalam suatu komunitas sistem terdapat beberapa agen, yang saling berinteraksi, bernegosiasi dan berkoordinasi satu sama lain dalam menjalankan pekerjaan [8].
Agen mempunyai kemampuan untuk melakukan suatu tugas dan melakukan tugas tersebut dalam kapasitas untuk sesuatu, atau untuk orang lain. Suatu agen juga memiliki karakteristik dan atribut [8], yaitu :
1. Otonomi
2. Intelegensi, Reasoning, dan Learning 3. Mobilitas dan Stationary
4. Pendelegasian 5. Reaktif
6. Proaktif dan Goal-oriented
7. Kemampuan Berkomunikasi dan Berkoordinasi
Koordinasi merupakan suatu proses untuk menyusun sekumpulan agen agar bergerak secara harmonis [2].
Pada algoritma semut atau ACS, MAS diterapkan pada semut-semut yang berperan sebagai agen. Para agen ini diberi tugas untuk menemukan jalur terpendek dalam suatu graf sebagai dasar dari algoritma untuk menggerakkan agen tersebut.
4. Perancangan Sistem 4.1 Deskripsi Sistem
Pada dasarnya sistem ini dibangun sama seperti pada fitur-fitur AS sebelumnya. Pada ACS menekankan pada karakteristik semut sebagai agen yang dapat saling berkoordinasi dan bekerja sama untuk mendapatkan solusi yang tepat dari masalah yang diberikan dengan adanya suatu transisi status pada salah satu prosesnya. Transisi status tersebut yaitu dari eksplorasi menuju eksploitasi yang akan memperlihatkan kemampuan dari agen sesungguhnya dengan memanfaatkan sifat/karakteristik yang dimiliki.
Graf yang digunakan adalah graf lengkap berbobot dan simetris (jarak dari suatu simpul ke simpul tujuan akan sama jika ditempuh sebaliknya).
Jadi, jika terdapat n buah simpul maka graf tersebut memiliki (n! / ((n-2)! 2!)) buah ruas, sesuai dengan rumus kombinasi.
4.2. Representasi Proses ACS
5
Start
Data jarak (dij) beserta bobot (1/dij)
Pilih n node yang akan dikunjungi
Inisialisasi nilai parameter dan konstanta
Titik awal semut
Hitung probabilitas ke node selanjutnya
Node tujuan
Pembaharuan feromon lokal
Sampai di titik tujuan?
Hitung jarak (Lk)
Tur terpendek dicapai
Jalur dan jarak terpendek Pembaharuan
feromon global
Yes
No
Yes
No
berhenti
Gambar 2 :Flowchart proses ACS
Berdasarkan Gambar 2, cara kerja algoritma ACS untuk proses penghitungan jarak terpendek yaitu :
1. Masukan terdiri dari parameter yang dibutuhkan untuk proses penghitungan beserta titik awal dan titik tujuan yang ingin dicapai.
2. Inisialisasi data jarak dan visibilitas (invers dari jarak) tiap-tiap simpul dalam bentuk matriks serta sejumlah simpul yang akan dikunjungi.
3. Dari simpul awal dihitung probabilitas untuk menemukan simpul yang akan dikunjungi selanjutnya.
4. Ketika suatu semut sudah sampai di simpul berikutnya, maka dilakukan pembaharuan feromon lokal pada jalur yang telah dilewati tersebut hingga mencapai simpul tujuan yang berarti selesai satu siklus.
5. Setelah suatu siklus siklus selesai, dilakukan pembaharuan feromon global pada jalur terbaik (terpendek) yang dihasilkan suatu semut.
6. Output berupa jarak terpendek yang diperoleh beserta jalur yang dilewati semut tersebut.
5. AnalisaHasil Pengujian Sistem 5.1 Tujuan Pengujian
Berdasarkan latar belakang dan tujuan sistem, maka tujuan pengujian yaitu :
1. Menganalisis faktor-faktor yang mempengaruhi hasil dari jarak/jalur terpendek dan kinerja sistem dalam proses ACS dengan MAS.
2. Membandingkan waktu pemrosesan dan memori yang digunakan pada parameter pengujian yang berbeda.
5.2 Analisa Hasil Pengujian
Analisa hasil pengujian diterangkan sebagai berikut :
5.2.1. Analisis pengaruh α dan β a. Pengaruh α dan β tehadap jarak
Gambar 3: Diagram pengaruh nilai α dan β terhadap jarak
Pada Gambar 3, total jarak yang dihasilkan memiliki nilai lebih kecil jika menggunakan parameter α>β. Hal itu menunjukkan bahwa nilai visibilitas lebih berpengaruh terhadap proses perhitungan daripada nilai intensitas feromonnya (τij), dimana β bertujuan untuk mengontrol nilai visibilitas tersebut. Nilai τij yang kecil dan α yang hanya digunakan pada proses ekplorasi juga menjadi penyebab nilai visibiltas lebih berperan dalam perhitungan untuk menghasilkan jarak terpendek.
b. Pengaruh α dan β terhadap waktu pemrosesan 0
500 1000 1500 2000 2500
20 30 50
Total Jarak
Jumlah Simpul
α=β α>β α<β
0 5 10 15 20 25 30
20 30 50
Rata-rata waktu
Jumlah Simpul
α=β α>β α<β
Gambar 4: Diagram pengaruh nilai α dan β terhadap waktu pemrosesan
Gambar 4 memperlihatkan bahwa α dan β tidak terlalu berpengaruh terhadp waktu pemrosesan. Perbedaan waktu yang diperlukan untuk melakukan proses ACS tidak terlalu signifikan dan 6amper sama. Namun semakin banyak simpul yang digunakan maka waktu yang dibutuhkan untuk pemrosesan juga semakin besar.
c. Pengaruh α dan β terhadap memori yang terpakai
Gambar 5: Diagram pengaruh nilai α dan β terhadap memori yang terpakai
Memori yang terpakai akan lebih sedikit jika nilai α=β seperti ditunjukkan pada Gambar 5, begitu juga dengan jumlah simpul yang digunakan.
Hal itu disebabkan karena jumlah simpul maupun jumlah siklus yang ditetapkan akan mempengaruhi memori sebagai tempat penyimpanan array/matriks yang diperlukan pada proses perhitungan sehingga jika perulangan proses lebih banyak maka membutuhkan memori yang lebih besar juga sampai pengulangan berhenti dan hasil diperoleh.
5.2.2. Analisis pengaruh q0
Pengujian pada 4.2.1 menunjukkan bahwa sebaiknya digunakan α<β. Hasil tersebut selnajutnya dipakai untuk pengujian q0.
a. Pengaruh q0 yang diset tehadap jarak
Gambar 6 memperlihatkan dengan jelas bahwa nilai q0 terbaik yaitu 0.75 yang dapat diartikan akan lebih baik jika proses eksploitasi mendominasi pemrosesan untuk menghasilkan jarak terpendek.
Semakin kecil nilai q0 maka jumlah ekplorasi akan lebih besar daripada jumlah eksploitasi berdasarkan kondisi q≤q0. Dominasi ekploitasi lebih baik karena pada ekplorasi pemilihan simpul tujuan dengan membangkitkan suatu bilangan random sehingga membuat hasilnya menjadi kurang akurat, sedangkan pada ekploitasi pemilihan simpul didasarkan pada nilai simpul yang lebih besar untuk dipilih.
Gambar 6: Diagram pengaruh nilai q0 terhadap jarak b. Pengaruh q0 yang diset terhadap waktu
pemrosesan
Gambar 7: Diagram pengaruh nilai q0 terhadap waktu pemrosesan
Nilai q0 tidak berpengaruh banyak terhadap waktu pemrosesan. Besarnya waktu pemrosesan lebih dipengaruhi oleh jumlah simpul. Namun sedikit terlihat pada Gambar 7 bahwa dengan q0=0.75 maka waktu pemrosesannya berkurang dibandingkan dengan nilai q0 yang lebih kecil.
c. Pengaruh q0 yang diset terhadap memori yang terpakai
0 1000 2000 3000 4000 5000
20 30 50
Rata-rata memori
Jumlah Simpul
α=β α>β α<β
0 500 1000 1500 2000 2500
20 30 50
Total Jarak
Jumlah Simpul
q0 = 0.25 q0 = 0.5 q0 = 0.75
0 5 10 15 20 25 30 35
20 30 50
Rata-rata waktu (s)
Jumlah Simpul
q0=0.25 q0=0.5 q0=0.75
7
Gambar 8: Diagram pengaruh nilai q0 terhadap memori yang terpakai
Seperti halnya pengaruh q0 terhadap waktu pemrosesan, pada Gambar 8 q0 juga tidak berpengaruh besar terhadap perubahan memori yang terpakai . Hal ini 7ias memperkuat pengaruh semakin besarnya jumlah simpul yang mempengaruhi jumlah memori yang terpakai saat proses perhiutungan.
5.2.3. Analisis pengaturan persentase eksploitasi
Jika pada pengujian sebelumnya proses ekplorasi dan eksploitasi dipengaruhin kondisi q≤q0, maka pada percobaan selanjutnya mengatur secara otomatis pembagian jumlah antar proses eksplorasi dan eksploitasi tanpa harus bergantung dengan jumlah siklus.
a. Pengaruh persentasi ekploitasi terhadap jarak
Gambar 9: Diagram pengaruh persentase ekploitasi terhadap jarak
Pada Gambar 9 menunjukkan jika jumlah ekploitasi diatur sama dengan jumlah eksploitasi maka solusi jarak terpendeknya bernilai lebih kecil.
Dengan eksploitasi terlalu banyak mendominasi
proses dan ekploitasi yang terlalu kecil justru membuat hasilnya tidak lebih baik dan cenderung buruk. Adanya keseimbangan antara proses eksplorasi dan eksploitasi menunjukkan peran masing-masing sama pentingnya, dimana ekplorasi berperan untuk mengeksplor simpul-simpul yang belum dikunjungi dan eksploitasi memanfaatkan hasil dari ekplorasi agar langsung dipakai untuk memperoleh solusi yang terbaik pada saat itu. Jika proses ekplorasi terlalu sedikit, kemungkinan ada simpul yang belum dijelajahi padahal bisa saja simpul tersebut merupakan salah satu solusi yang diinginkan.
b. Pengaruh persentasi ekploitasi terhadap waktu pemrosesan
Gambar 10 : Diagram pengaruh persentase eksploitasi terhadap
waktu pemrosesan
Proses ekplorasi berpengaruh terhadap banyaknya waktu yang digunakan cukup terlihat pada Gambar 10. Semakin banyak ekploitasi dan sedikitnya ekplorasi maka waktu yang terpakai semakin kecil. Eksplorasi memakan waktu lebih banyak karena proses yang dijalankannya juga lebih bertahap daripada ekploitasi.
.
c. Pengaruh persentase ekploitasi terhadap memori yang terpakai
Sama halnya dengan pengaruh persentase terhadap waktu pemrosesan, begitu pula pada memori yang ditunjukan Gambar 11. Memori yang terpakai akan lebih sedikit jika ekploitasi mendominasi proses dan eksplorasinya hanya sebagian kecil. Hal ini terkait dengan penggunaan array pada proses. Pada ekplorasi array yang digunakan lebih banyak daripada saat eksploitasi, sesuai dengan tahapan ekplorasi yang memang lebih banyak sampai menemukan solusi yang diinginkan
5000 10001500 20002500 30003500 4000
node20 30 node 50
node
Rata-rata memori
Jumlah Simpul
q0=0.25 q0=0.5 q0=0.75
0 200 400 600 800 1000 1200
Total Jarak
Jumlah Simpul
50%
80%
90%
0 20 40 60 80 100 120 140
node20 30 node 50
node
Rata-rata Waktu (ms)
Jumlah Simpul
50%
80%
90%
Gambar 11 : Diagram pengaruh persentase eksploitasi terhadap
memori yang terpakai .6. Kesimpulan
Dari hasil pengujian dan analisa yang telah dilakukan, dapat diambil beberapa kesimpulan sebagai berikut :
1) Solusi jarak terpendek yang dihasilkan bergantung pada :
- Paramater α dan β yang sebaiknya digunakan untuk menghasilkan solusi yang lebih baik yaitu α>β. Nilai β yang lebih besar menunjukkan bahwa visibilitas lebih berpengaruh daripada intensitas feromon pada proses perhitungan.
- Adanya syarat q≤q0 untuk transisi antara proses ekploitasi dan eksplorasi, akan lebih baik jika nilai q0=0.75 dimana kemungkinan besar ekploitasi lebih banyak dijalankan daripada ekplorasi.
- Jika kondisi q≤q0 digantikan dengan pengaturan otomatis jumlah ekploitasi pada proses, maka sebaiknya jumlah ekploitasi tidak terlalu banyak mendominasi dan memberi peluang juga terhadap proses ekplorasi untuk berperan dalam pencarian solusi.
2) Waktu yang digunakan akan lebih besar jika proses ekplorasi lebih banyak dan simpul juga lebih besar.
3) Memori yang digunakan lebih dipengaruhi oleh jumlah simpul karena akan lebih banyak kemungkinan menyimpan kandidat solusi yang perlu dicari.
4) ACS cukup optimal karena adanya ekplorasi dan ekploitasi yang diterapkan pada ACS sebagai peran dari MAS.
Referensi
[1] Astuti , Yuni D. Logika dan Algoritma.
Tersedia : http://yuni_dwi.staff.gunadarma.ac.id/Dow
nloads/files/12671/Bab+1+Dasar+Teori+Gr af.pdf [30 November 2009]
[2] Budianto. 2005. An Overview and Survey on Multi Agent System. Intelligent Systems and Control Systems (Jurnal Seminar Nasional “Soft Computing, Intelligent Systems and Information Technology”
(SIIT 2005) Indonesia Informatics Institute, Surabaya.
[3] Colorni, Alberto. Dorigo, M. Maniezzo, V.
1991. Distributed Optimization by Ant Colonies. Proceedings of ECAL91 – European Conference on Artificial Life, Paris, France, F. Varela and P. Bourgine (Eds.), Elsevier Publishing, hal. 134–142.
[4] Dorigo, M. Gambardella, L.M. 1997. Ant Colonies For The Traveling Salesman Problem. Journal of Université Libre de Bruxelles, Belgia.
[5] Mutakhiroh, Iing. 2007. Pencarian Jalur Terpendek Dengan Algoritma Semut.
Jurnal Seminar Nasional Aplikasi Teknologi Informasi 2007 (SNATI 2007).
Laboratorium Pemrograman dan Informatika Teori UII, Yogyakarta.
[6] Refianti, Rina. Mutiara, A,B. Solusi Optimal Travelling Salesman Problem Dengan Ant Colony System (ACS).
Makalah Jurusan Teknik Informatika, Universitas Gunadarma [Online]. Tersedia : http://paper.abmutiara.info/Ant_Colony_Sy stem/paper_J_GND_2005_3doc.pdf [13 Oktober 2009]
[7] Suyanto. 2010. Algoritma Optimasi. Graha Ilmu, Yogyakarta, hal. 206-221.
[8] Wahono, Romi S. 2001. Multi Agent System: Beberapa Isu, Pendekatan dan Tantangan. Proceedings IECI Japan Series Vol. 3, No.2, 2001, pp. 22-37. Department of Information and Mathematical Sciences Saitama University, Jepang
[9] Wardy, Ibnu S. Penggunaan Graf Dalam Agoritma Semut Untuk Melakukan Optimasi. Makalah Program Studi Teknik Informatika ITB, Bandung. Tersedia : http://elesys.fsaintek.unair.ac.id/admin/mak alah/Makalah0607-93.pdf [01 Desember 2009]
1000 200300 400500 600700 800
node20 30 node 50
node
Rata-rata memori
Jumlah Simpul
50%
80%
90%