Upload
kifly-catursakti
View
7
Download
0
Embed Size (px)
DESCRIPTION
terj
Citation preview
7/17/2019 terj
http://slidepdf.com/reader/full/terj 1/8
Pencari solusi TSP cepat dengan menggunakan Algoritma Genetik dengan program
JAVA
Hiroki Sengoku
System Development Laboratory
Hitachi, Ltd.Kawasaki, 21 !"#"$
Abstrak
%enggunakan program !"&" berdasarkan algoritma Hybrid untuk mencari solusi
masalah 'S#. (entuk )ile e*ecutablenya bisa diakses di webpages penulis untuk mencari
solusi yang diinginkan. Karena !"&" dapat ber+alan pada berbagai plat)orm, setiap
pembaca bisa membuat algoritma sendiri untuk dibandingkan dengan algoritma penulisdalam hal mencari solusi masalah 'S# pada mesin yang sama.
1 Pengenalan
" merupakan algoritma optimasi yang dimodelkan berdasarkan evolusi
organisme. Salah satu kelebihan " adalah mudah dikembangkan tanpa perlu
mengetahui masalah secara mendetail, " dapat mencari secara global dan dapatmenyesuaikan dengan perubahan kondisi dalam masalah
%eskipun demikian, " seringkali lebih lambat daripada metode konvensional
seperti pencarian heurisik. Hal ini ter+adi karena " tidak membutuhkan pengetahuan
tentang bagaimana mencari solusi terhadap masalah yang ada. -leh karena itu digunakanmetode hybrid yang menggabungkan " dengan tehnik lain.
#encari solusi 'S# yang penulis kemukakan 2/ adalah salah satu metode hybrid
tersebut. %etode ini menggunakan metode " dan metode 2opt 0 bagian 2.1. Denganmenggunakan metode 2opt, men+adi lebih cepat daripada pencari solusi 'S# lain
berdasarkan " itu sendiri.
mumnya sulit membandingkan dua algoritma secara obyekti). "lgoritma satumungkin memiliki kelebihan dalam hal kecepatan dalam mencari solusi, tetapi memiliki
kekurangan dalam menentukan tingkat kesuksesan untuk mendapatkan solusi optimal.
3ara terbaik untuk membandingkan keduanya adalah dengan men+alankan
keduanya pada mesin yang sama. 'etapi program seperti ini sedikit pada domain publik4/, dan tidak pula ditemukan pada 'S#L5(/.
Sebagai akibatnya, penulis menggunakan program !"&" berdasarkan metode
yang telah di+elaskan diatas, dan di6upload ke situs 7orld 7ide 7eb0777 yang penulis miliki. #rogram !"&" bisa ber+alan pada berbagai plat)orm, sehingga pembaca
bisa membandingkan program yang telah dibuat dengan program penulis pada mesin
yang sama dengan kondisi yang sama pula.
#enulis +uga telah membuat bentuk 5, sehingga pembaca bisa memilih kotayang dimaksud dengan menggunakan mouse untuk memecahkan masalah 'S#. Hal ini
akan membantu mahasiswa dalam mempela+ari dasar6dasar algoritma komputer.#ada bagian 2, penulis +elaskan tentang metode yang dimaksud. #ada bagian 8,
penulis menun+ukkan halaman 777 yang bisa diakses untuk menyelesaikan program
'S# tersebut.
2. Pencari solusi TSP: 2optGA
1
5kuo 9oshihara
raduate School o) :ngineering,
'ohoku niversity
Sendai, ;<=6>> !"#$
7/17/2019 terj
http://slidepdf.com/reader/full/terj 2/8
ntuk memecahkan masalah 'S#, bisa digunakan metode hybrid2/ yang
menggunakan " dan metode 2opt. #ada metode " penulis, metode 2opt bertindak
sebagai mutasi, sedangkan operator crossover sebagai kemampuan melompat dariminima local dimana seringkali hasil yang diperoleh tidak bisa digunakan ketika hanya
menggunakan metode 2opt
"lgorima yang digunakan tediri dari?Inisialisasi: enerate % individu secara acak.
Seleksi Alam: Hilangkan pe @ individu. #opulasi turun % * pe A 1==.
Penggandaan: %emilih % * pe A 1== pasangan individu secara acak dan menghasilkan
keturunan dari masing6masing pasangan. #opulasi kembali men+adi
populasi awal %.
Mutasi dengan 2opt: %emilih pi @ individu secara acak dan dikembangkan dengan
metode 2opt. 5ndividu elit, yaitu individu yang memiliki nilai paling layak
dalam populasi, selalu dipilih. !ika individu telah berkembang, tidak perludikembangkan lagi dengan metode 2opt.
Selan+utnya di+elaskan secara detail dari tiap6tiap langkah?
2.1 Mutasi dengan 2opt
%etode 2opt merupakan salah satu algorima local search yang paling banyandigunakan dalam mencari solusi masalah 'S#. %etode ini meningkatkan per+alanan dari
u+ung ke u+ung dan membalik urutan subtour. Sebagai contoh, bayangkan per+alanan
seperti ditun+ukkan pada bagian atas gambar 1. Hilangkan 2 u+ung ab dan cd, dan balik
urutan subtour 0dari b ke c,dan tambahkan 2 u+ung ac dan bd. Sehingga men+adi seperti pada gambar 1 bagian bawah. #er+alanan pada gambar 1 bawah men+adi lebih pendek
daripada per+alanan pada gambar 1 bagian atas karena abBcdCacBbd
ambar 1? metode 2opt
Kemudian memeriksa setiap pasangan u+ung, sebagai contoh ab dan cd.!ika
abBcdCacBbd, tingkatkan dengan cara yang sama seperti ditun+ukkan pada gambar 1.Sebenarnya +ika acCab dan bdCcd, maka tidak perlu lagi diperiksa u+ung6u+ungnya.
Sehingga ini bisa dilewatkan pasangan u+ung6u+ung yang ber+auhan.
2
7/17/2019 terj
http://slidepdf.com/reader/full/terj 3/8
langi prosedur seperti di+elaskan diatas sampai tidak ada lagi peningkatan yang
bisa dibuat.
2.2 rosso!er dalam penggandaan
Ketika menggunakan metode 2opt seringkali solusi ada pada minimum local,sehingga tidak bisa lagi dilakukan peningkatan dengan menggunakan metode 2opt.
(andingkan 2 solusi yang ada pada minimum lokal yang berbeda. Setiap solusi bisa
memiliki subtour terbaik pada bagian per+alanan yang berbeda. %aka dapat dibuat solusiyang lebih baik +ika menggabungkan subtour6subtour tersebut secara tepat. 'entunya
tidak bisa dikatakan suatu subtour bagus, tetapi setelah melewati banyak percobaan,
dapat diduga solusi keturunan yang ditempatkan pada dasar minimum global seperti
ditun+ukkan pada gambar 2.
ambar 2? pop6up local minima
#enulis menggunakan operator crossover baru yang memerlukan urutan paling
pan+ang subtour induk yang mungkin. -perator ini dinamakan Greedy Subtour Crossover(GSX). Seperti ditun+ukkan 8/ dengan percobaan yang menggunakan S,
solusi yang muncul dari local minima lebih e)ekti) daripada menggunakan metodeS"0Simulated Annealing).
Dalam S, digunakan penya+ian +alur pengkodean genetik. Sebagai contoh,
kromosom gE0D, H, (, ", 3, F, , : berarti salesman mengun+ungi kota D, H, (, G, :
dan kembali ke kota D.
ambar 8? reedy Subtour 3rossover
8
7/17/2019 terj
http://slidepdf.com/reader/full/terj 4/8
Algoritma: Greed" Subtour rosso!er
Input: Kromosom g a = (a0 , a1 , , an!1 ) dan g b = (b0 , b1 , , bn!1 ).
#utput: Kromosom keturunan g .#rocedure crossover0 g a , g b
" a I6 true
" b I6 true pilih kota t secara acak
pilih #, dimana a # = t
pilih y, dimana b y = t g $! t
do
# $! # %1 (mod n),
y $! y & 1 (mod n),i) " a E true then
i) a # ∉ g then
g $! a #'g ,
Jelse " a I6 )alse.
JJ
J
i) " b E true then
i) b y ∉ g then
g I6 g'b y,
Jelse
" b I6 )alse
J
JJ
while " a E true or " b E truei) g I g a then
tambahkan sisa kota ke g dalam urutan acak
J
return g
J
#erlu diketahui bahwa .M #ada g $! a #'g M adalah operator konkatenasi, dankalimat tersebut berarti tambahkan a # sebelum kromosom g'
Sebagai contoh ditun+ukkan pada gambar 8. Kromosom induk ga E 0D, H, (, ",3, F, , : D"$ ( E 0(, 3, D, , H, F, :, ". #ertama pilih 1 kota secara acak,misalnya kota 3 dipilih. %aka * E 4 dan y E 1 karena a 4 E3 dan b1 E 3. Kemudian anak g
adalah 0 3 .
Kemudian diambil kota dari induk secara bergantian. Dimulai dengan a8 0kota "karena * I6 461 E 8, dan kota yang dipilih kemudian adalah b 2 0kota D karena y I6
1B1E2. "nak g E 0",3,D.
4
7/17/2019 terj
http://slidepdf.com/reader/full/terj 5/8
Dengan cara yang sama, tambahkan a2 0kota (, b8 0kota , a1 0kota H, dan
anaknya men+adi g E 0H, (, ", 3, D, . Kemudian kota selan+utnya adalah b4 E H dan H
telah ada pada anak 0ingat salesman tidak bisa mengun+ungi kota yang sama dua kali,sehingga kota dari induk g b tidak bisa lagi ditambahkan.
Sehingga ditambahkan kota dari ga. Kota selan+utnya adalah a= E D, tetapi D telah
digunakan. %aka kota dari ga +uga tidak bisa ditambahkan lagi.%aka ditambahkan sisa6sisa kota yaitu :, dan F ke anak dalam urutan acak.
"khirnya anaknya men+adi g E 0H, (, ", 3, D, , F, :.
2.$ Seleksi Alam
Hilangkan N E % * pc A 1== individu. Dalam " sederhana, kemungkinan
mempertahankan diri sebanding dengan nilai yang sesuai, tetapi yang perlu diperhatikan
adanya keanekaragaman populasi. Dengan menghilangkan individu yang se+enis untuk mempertahankan keanekaragaman dalam urutan untuk menghindari kekonvergenan tak
se+ati yang merupakan salah satu masalah umum pada ".
#ertama, urutkan individu dalam urutan nilai yang layak. (andingkan nilai ad+oin
individu yang layak. !ika perbedaan kurang dariε
0bilangan positi) real kecil, denganmenghilangkan individu awal ketika +umlah banyaknya individu yang dihilangkan kurang
dari N. misalkan r adalah banyaknya individu yang dihilangkan.Kemudian, +ika r I N, hilangkan N O r individu dalam urutan nilai kelayakan
terkecil.
$ Applet JAVA
$.1 Applet pada %%%
Dengan menggunakan !"&" untuk menyelesaikan masalah 'S# dengan metode
hybrid dan meng6upload applet yang telah dibuat tersebut ke webpage 0777 penulis pada ? http?AA2=2.48.1>1.4AskripsiAskrip.html
#ada applet tersebut mudah digunakan, dengan menggunakan mouse untuk memilih kotaM pada bidang kotak. Kemudian menekan tombol StartM. "pplet akanmenyelesaikan masalah yang telah dibuat dan menun+ukkan per+alanan seta pan+angnya
0gambar 4. #arameter metode 2opt yaitu #opulasiM 0%, SeleksiM 0pe, 2optM 0pi
disesuaikan dengan mengisi masing6masing bidang pada applet.#ada halaman 777 tersebut +uga menyertakan contoh masalah berikut?
• 1== kota dengan lokasi random
• 1;2 kota berbentuk lingkaran ganda 0tipe63M
• 1;2 kota berbentuk lingkaran ganda 0tipe6-M
%asalah lingkaran ganda digunakan sebagai standarisasi oleh 9amamur dkk.P/solusi minimum pada masalah itu dikenal sebagai tipe63M atau tipe6-M
7/17/2019 terj
http://slidepdf.com/reader/full/terj 6/8
ambar 4
Seperti ditun+ukkan pada gambar 4, tipe solusi akan minimum, tergantung banyaknya kota dan rasio +ari6+ari lingkaran didalam dan diluar.
$.2 Aplikasi Stand-alone
"pplet +uga dapat digunakan sebagai aplikasi Stand!alone. #ertama, download
)ile6)ile class yang ada pada 1 dan contoh masalah pada tabel 2 dari NL penulis dihttp?AA2=2.48.1>1.4AskripsiA
3ities.class 8k
3ity.class 1k
".class 8k
ene.class 8k
Sort.class 1k
Sortable.class 1k
'S#.class <k
'spNoute.class 4k
'abel 1?)ile class yang perlu didownload
&ama 'ile Masala(
r;P.data Submasalah PPP kota 'S# di ")rika
r2=2.dat Submasalah PPP kota 'S# di :ropa
'est1==.dat 1== kota dengan posisi yang acak
31;264P<2.dat Lingkaran ganda 1;2 kota 0tipe63M
31;264P<4.dat Lingkaran ganda 1;2 kota 0tipe6-M
'abel 2? 3ontoh masalah
Submasalah PPP kota 'S# di ")rika dan Submasalah PPP kota 'S# di :ropa sudah
ada pada 'S#L5(/.'S#.class memuat metode utama, +adi )ile ini bisa di+alankan sebagai )ile aplikasi
!"&" dengan argumen nama )ileM dan generasiM. $ama )ileM berarti nama )ile 'S#yang memuat lokasi kota pada 'S# yang akan diselesaikan. enerasiM berarti generasi
maksimum yang terlibat. #arameter tambahan seperti yang ada 'able 8 bisa +uga
digunakan.
#ilihan "rti De)ault
6p % populasi 1==
P
'ipe6-M
5nnerAouterE4A
'ipe O 3M
5nnerAouterE 8A
7/17/2019 terj
http://slidepdf.com/reader/full/terj 7/8
6e pe Hilangkan pe@ individu 8=
6Npi 'ingkatkan pi@ individu dengan 2opt 2=
6v #enambahan tingkat verbosity
'able 8? #arameter tambahan pada 'S#.class
Setiap garis pada )ile 'S# menya+ikan koordinat kota dan terdiri dari dua bidangyang dipisahkan koma. (idang pertama berarti koordinat kota, dan bidang kedua
berarti koordinat y. (iaya antara dua kota diukur sebagai +arak :uclid antara koordinatmasing6masing kota.
!ika )ile 'S# memuat baris
:D:Q7:5H'Q'9#:? :-
(iaya dide)inisikan sebagai +arak geogra)is dua kota yaitu? +araknya di bumi, yangdihitung dengan +arak :uclid. Koordinat , dan 9 seperti di+elaskan diatas berarti garis
lintang dan garis bu+ur.
!ika )ile 'S# memuat baris%in? n
Dimana n adalah bilangan positi) real, program akan berhenti ketika individu elit, yangmemiliki pan+ang per+alanan n, didapatkan
#ada windows ;<Se dengan ava evelo*ment +it(+)>/, digunakan perintah
sebagai berikut melalui S!-S .rom*t
3?C ava /S. %v %* 00 gr2'data 300
#erintah ini berarti menyelesaikan masalah 'S# yang ada pada gr;P.data, dimana populasi 2==, dan generasi maksimum 8==
-utput yang diperoleh sebagai berikut 0sebagian dihilangkan
3?C ava /S. %v %* 00 gr2'data 300
File? gr;P.dta
#opulation? 2==Selection? 8=@
2 opt? 2=@
1?8;8 ;4 ;2 ;1 >P GGGGG 2> P4 ;/>2<42?28;4 ;8 ; P4 P GGGG >P ;1 ;2/<4=
8?11;8> 84 88 82 1= GGGG 81 8 8P/4<1
1;?1214; 1 2 4 = GGG 4> 4P 4/882
44?2P4P;8 ;4 ;2 ;1 >P GGG P P4 ;/82212=?>18241 4= 8; 8< >< GG.. 4; 4< 42/2;1
1P?;><=4; 4 4P 4> 8 GG.. 4 2 1/2;
1<=?1=P;22 1 4; 4 4P GG 4< = 4/2=;
-utput tersebut elit, elite baru akan ditemukan dalam )ormat berikut?
g 4 i 5 tour 6 ldimana g, i, tour, dan l berarti generasi, 5D individu, per+alanan 0da)tar kota dalam urutan
sedang dikun+ungi, pan+ang per+alanan.
(aris terakhir menyatakan elit baru diperoleh pada generasi 1<=, yaitu individu
ke61=P;2 dan pan+ang per+alanan 2=;. menurut 'S#L5(, ini merupakan solusiminimum
>
7/17/2019 terj
http://slidepdf.com/reader/full/terj 8/8
) *esimpulan
"lgoritma hibrid ini akan cepat menyelesaikan masalah 'S# karenamenggabungkn metode " dan metode 2opt. #rogram yang telah dibuat, dipublikasikan
ke webpage penulis. Karena program ini ditulis dengan bahasa !"&", maka dapat
di+alankan pada berbagi plat)orm, setiap pengguna bebas untuk membuktikan kee)isienanalgoritma ini dan bebas untuk membuat program sendiri untuk dibandingkan dengan
algoritma ini dengan men+alankan pada mesin yang sama.
+a'tar pustaka
1/ Holland, !.H.? "daptation in $atural and "rti)icial Systems, niv. o) %ichigan #ress
01;>
2/ Sengoku H., 9oshihar, 5.? " Fasr 'S# Solution using enetic "lgorithm 0 !apanese,5n)ormation #rocessing Society o) !apan 4Pth $atRl 3onv. 01;;8
8/ Sengoku, H., 9oshihara, 5.? "n :volution o) -ptimiing 3apability o) enetic
"lgorithm O " vs S" O 0 !apanese , 5n)ormtion processing Society o) !apan 4> th
$atRl 3onv. 01;;84/ %oscato, #.? 'S#L5(, http?AAwww.ing.unlp.eduArAcetadAmosA'S#L5(Qhome.html
/ Neinelt, .? 'S#L5(, )tp?AAso)tlib.rice.eduApubAtsplibAtsplib.tar P/ 9amamura, %., -no, '., Kobayashi, S.? 3haracter6#reserving enetic "lgorithms )or
'ravelling Salesman #roblem, !ournal o) !apanese Soceity )or "rti)icial 5ntelligence
&ol. >, $o. P 01;;2>/ 3ornell, ., Horstmnn, 3.S.? core !"&", Sun So)t #ress 01;;P.
<