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 solus i yang diingi nkan. Karena !"& " dapat ber+alan pada berbag ai plat) orm, seti ap  pembaca bisa membuat algoritma sendiri untuk dibandingkan den gan algoritma penulis dalam hal mencari solusi masalah 'S# pada mesin yang sama. 1 Pengenalan " me rupakan al gori tma opti ma si ya ng di model kan berdasar kan evo lusi or gani sme. Sala h sa tu kelebi han " adal ah mudah di kembang kan ta npa perl u mengetahui masalah secara mendetail, " dapat mencar i sec ara global dan dapa t menyesuaikan 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 y ang ada. -leh karena itu digunakan metode hybrid yang menggabungk an " dengan tehnik lain. #encari solusi 'S# yang penulis kemukakan 2/ adalah salah satu metode hybrid terse but. %etode ini men ggunakan met ode " da n metode 2opt 0 bagian 2.1. Dengan menggunaka n me tode 2opt, men +adi leb ih cepat dar ipa da penc ari sol usi 'S# lain  berdasarkan " itu sendi ri. mumnya sulit membandi ngkan dua algor itma secar a obyekti). "l gorit ma satu mungkin memiliki kelebihan dalam hal kecepatan dalam mencari solusi, tetapi memiliki kekurangan dalam menentukan tingkat kesuksesan untuk mendapatkan solusi optimal. 3ar a ter bai k unt uk membanding kan keduany a ada lah deng an men +al ankan kedu any a pada mes in yang sama. 'etapi progra m seperti ini sedikit pada domain  publik4/, dan tidak pula ditemukan pada 'S#L5(/. Sebagai akibat nya, penuli s menggu nakan progr am !" & " berdasa rkan metod e yang tel ah di+elaskan dia tas , dan di6 upl oad ke sit us 7or ld 7ide 7e b0777 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 kota yang 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 T SP: 2optGA 1 5kuo 9oshihara raduate School o) :ngineering, 'o hoku niversity Sendai, ;<=6>> !"#$

terj

Embed Size (px)

DESCRIPTION

terj

Citation preview

Page 1: terj

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>> !"#$

Page 2: terj

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

Page 3: terj

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

Page 4: terj

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

Page 5: terj

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

Page 6: terj

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

Page 7: terj

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

>

Page 8: terj

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.

<