31 January 2014 Tugas Akhir – KI091391 1
PENDEKATAN CROSSOVER TERBARU UNTUK MENYELESAIKAN MULTIPLE TRAVELLING
SALESMEN PROBLEM MENGGUNAKAN ALGORITMA GENETIKA
(Kata kunci: multiple salemen problem, algoritma genetika, optimasi, two-
part chromosome crossover .)
PRESENTASI TUGAS AKHIR – KI091391
Penyusun Tugas Akhir :
Irwan Fauzi
(NRP : 5109.100.084)
Dosen Pembimbing :
Victor Hariadi, S.Si., M.Kom.
Rully Soelaiman, S.Kom., M.Kom.
31 January 2014 Tugas Akhir – KI091391 2
PENERAPAN METODE CROSSOVER TWO-PART CHROMOSOME PADA PENYELESAIAN MULTIPLE
TRAVELLING SALESMEN PROBLEM DENGAN ALGORITMA GENETIKA
(Kata kunci: multiple salemen problem, algoritma genetika, optimasi, two-
part chromosome crossover .)
PRESENTASI TUGAS AKHIR – KI091391
Penyusun Tugas Akhir :
Irwan Fauzi
(NRP : 5109.100.084)
Dosen Pembimbing :
Victor Hariadi, S.Si., M.Kom.
Rully Soelaiman, S.Kom., M.Kom.
USULAN JUDUL BARU
Pendahuluan
Metode Penyelesaian
Uji Coba
Kesimpulan
Pendahuluan
31 January 2014 Tugas Akhir – KI091391 3
MTSP merupakan variasi yang lebih rumit dari TSP, dimana selesman yang terlibat didalamnya lebih dari 1 orang.
31 January 2014 Tugas Akhir – KI091391 4
LATAR BELAKANG (bagian 1)
TSP MTSP
0 5 10 15 20 25 300
5
10
15
20
25
30
35
0 5 10 15 20 25 300
5
10
15
20
25
30
35
MTSP merupakan permasalahan NP-Hard yang tidak dapat diselesaikan menggunakan metode deterministik, sehingga untuk menyelesaikannya akan menggunakan metode pendekatan yaitu metode heuristik.
Metode heuristik yang akan digunakan untuk menyelesaikan MTSP adalah algoritma genetika.
Dalam menyelesaikan MTSP menggunakan GA ada beberapa teknik untuk merepresentasikan kromosom, diantaranya yaitu:
Two Chromosome Technique
One Chromosome Technique
Two-Part Chromosome Technique
31 January 2014 Tugas Akhir – KI091391 5
LATAR BELAKANG (bagian 2)
Berdasarkan diagram diatas, terlihat bahwa two-part chromosome technique mempunyai solution space yang lebih kecil dibandingkan 2 teknik lainnya, sehingga untuk kedepannya kami akan membangun aplikasi penyelesaian MTSP menggunakan algoritma genetika dengan two-part chromosome
technique[4].
31 January 2014 Tugas Akhir – KI091391 6
LATAR BELAKANG (bagian 3)
1. Penyusunan konsep algoritma genetika dalam menyelesaikan permasalahan MTSP menggunakan metode Two-part Chromosome Crossover(TCX)
2. Pengimplementasian algoritma genetika dengan metode TCX dalam menyelesaikan MTSP menggunakan MATLAB
3. Pengujian akurasi dari algoritma genetika menggunakakan metode TCX dalam menyelesaikan MTSP dibandingkan dengan metode Partial Mapped Crossover Operator(PMX), Ordered Crossover Operator(OCX) dan Cycle Crossover Operator(CYX)
31 January 2014 Tugas Akhir – KI091391 7
RUMUSAN MASALAH
1. Data uji coba yang digunakan diambil dari http://ims.uts.edu.au/MTSP/MTSP_dataset_solutions.zip.
2. Data uji coba yang digunakan adalah menggunakan
51 kota untuk 3, 5 dan 10 salesman
100 kota untuk 3, 5, 10 dan 20 salesman
150 kota untuk 3, 5, 10, 20 dan 30 salesman
3. Pengujian akurasi yang akan dibandingkan adalah total travel distance dan longest tour
31 January 2014 Tugas Akhir – KI091391 8
BATASAN MASALAH
1. Mengembangkan penyelesaian MTSP menggunakan algoritma genetika dengan metode TCX
2. Memahami kinerja algoritma genetika menggunakan metode TCX dalam menyelesaikan MTSP
3. Membandingkan tingkat akurasi (dalam hal ini total travel distance dan longest tour) antara metode TCX, PMX, OCX dan CYX
31 January 2014 Tugas Akhir – KI091391 9
TUJUAN
Metode Penyelesaian
Pendahuluan
Uji Coba
Kesimpulan Metode
Penyelesaian
31 January 2014 Tugas Akhir – KI091391 10
31 January 2014 Tugas Akhir – KI091391 11
GAMBARAN UMUM
Proses penghitungan longest tour
dari salesman
Proses penghitungan total distance
yang ditempuh
Proses penyelesaian permasalahan
MTSP menggunakan
GA
Proses penentuan
representasi kromosom
untuk MTSP
Data Masukan
Hasil total distance dan longest tour
31 January 2014 Tugas Akhir – KI091391 12
PROSES PENENTUAN REPRESENTASI
KROMOSOM UNTUK MTSP
Representasi kromosom yang akan digunakan untuk menyelesaikan MTSP
adalah Two-part Chromosome.
Apabila n merupakan jumlah kota dan m adalah jumlah salesman serta s1, s2, . .
. , sm merupakan representasi nilai dari tiap-tiap gen pada chromosome bagian
kedua, maka kromosom tersebut dapat dikatakan valid jika memenuhi
Persamaan dibawah ini:
s1 + s2 + . . . + sm = n,
dimana si > 0, i = 1, 2, . . ., m
PROSES PENYELESAIAN MTSP
MENGGUNAKAN GA
31 January 2014 Tugas Akhir – KI091391 13
Populasi awal
Evaluasi fitness
Seleksi individu
Crossover dan mutasi
Populasi baru
No Parameter Nilai
1 Ukuran populasi 100
2 Probabilitas crossover 0,85
3 Probabilitas mutasi 0,85
4 Metode seleksi Roulette wheel
5 Metode mutasi Swap dan flip
6 Metode replacement Steady-state GA
7 Replacement rate 20%
TAHAPAN ALGORITMA TCX (bagian 1)
31 January 2014 Tugas Akhir – KI091391 14
Langkah 1 :
Inisialisasi sepasang
kromosom sebagai
parents
Langkah 2 :
Memilih bagian gen
pada kromosom
bagian pertama
milik mom secara
acak untuk tiap
salesman
9 7 5 6 2 8 4 3 1 5 2 2 Mom
8 2 3 7 5 1 9 4 6 3 4 2 Dad
9 7 5 6 2 8 4 3 1 5 2 2 Mom 7 5 8 4 1
2 2 1
TAHAPAN ALGORITMA TCX (bagian 2)
31 January 2014 Tugas Akhir – KI091391 15
Langkah 4 :
Tambahkan gen untuk
tiap salesman ke
calon child
Langkah 3 :
Urutkan posisi
gen yang tidak
terpilih
berdasarkan
kromosom bagian
pertama milik dad
8 2 3 7 5 1 9 4 6 3 4 2 Dad
9 6 2 3 2 3 9 6
2 3 9 6
menjadi
7 5 8 4 1 7 5 8 4 1 2 3 9 6
2 1 1
TAHAPAN ALGORITMA TCX (bagian 3)
31 January 2014 Tugas Akhir – KI091391 16
Langkah 5 :
Susun kromosom
bagian kedua
milik child
Langkah 6 : Ulangi langkah 1-5 dengan kromosom yang dijadikan
patokan adalah dad, sehingga dalam proses crossover nantinya akan
dihasilkan 2 child
7 5 2 3 8 4 9 1 6 4 3 2 Child
OPTIMASI TOTAL TRAVEL DISTANCE
DAN LONGEST TOUR
31 January 2014 Tugas Akhir – KI091391 17
Untuk proses optimasi total travel distance dan longest tour, hal yang utama
dilakukan adalah menentukan representasi kromosom yang tepat dari
permasalahan MTSP, sehingga solusi yang diperoleh akan optimum serta
memiliki running time program yang tidak lama.
Yang menjadi fungsi fitness pada algoritma genetika dalam menyelesaikan
MTSP ini adalah bagaimana mendapatkan total travel distance dan longest
tour yang paling minimum, sehingga dari permasalahan itu tidak lepas dari
proses pencarian jarak. Dan metode yang digunakan adalah Euclidean
distance yang persamaannya ada dibawah ini:
Uji Coba
Pendahuluan
Metode Penyelesaian
Kesimpulan
Uji Coba
31 January 2014 Tugas Akhir – KI091391 18
1. Uji coba minimizing total travel distance
Melakukan optimasi untuk meminimalkan jarak total kunjungan dari data uji pada paper, kemudian membandingkannya dengan hasil yang didapat oleh Shuai Yuan, Bradley Skinner, Shoudong Huang dan Dikai Liu[1].
2. Uji coba minimizing longest tour
Melakukan optimasi untuk meminimalkan longest tour dari data uji coba pada paper, kemudian membandingkannya dengan hasil yang didapat oleh Shuai Yuan, Bradley Skinner, Shoudong Huang dan Dikai Liu[1].
31 January 2014 Tugas Akhir – KI091391 19
SKENARIO UJI COBA
HASIL UJI COBA (bagian 1)
31 January 2014 Tugas Akhir – KI091391 20
Minimizing total travel distance MTSP-51
Mean Stdev Best Mean Stdev Best Mean Stdev Best
myTCX 548 26 493 561 23 526 536 24 495
TCX 510 24 466 536 26 499 636 17 602
ORX + A 584 29 517 621 39 551 709 33 648
CYX + A 591 43 511 622 44 530 710 42 633
PMX + A 601 38 513 606 40 537 705 34 625
Crossoverm = 3 m = 5 m = 10
0
100
200
300
400
500
600
700
800
Mean Mean Mean
m = 3 m = 5 m = 10
Dis
tan
ce
myTCX
TCX
ORX + A
CYX + A
PMX + A
HASIL UJI COBA (bagian 2)
31 January 2014 Tugas Akhir – KI091391 21
Minimizing total travel distance MTSP-100
Mean Stdev Best Mean Stdev Best Mean Stdev Best Mean Stdev Best
myTCX 36,502 2,088 30,966 38,098 2,632 31,975 36,820 3,371 31,035 31,369 3,139 27,193
TCX 32,708 2,267 28,943 34,179 2,006 30,941 36,921 1,964 32,802 46,976 1,773 44,112
ORX + A 41,516 3,356 36,713 42,416 2,806 36,196 44,631 2,997 38,717 54,265 3,059 47,971
CYX + A 41,911 3,195 35,791 43,634 2,804 35,421 45,150 3,241 40,894 52,916 2,884 46,466
PMX + A 41,441 3,423 33,802 42,063 3,931 33,908 44,786 3,467 39,785 52,142 2,688 46,212
m = 5 m = 10 m = 20m = 3Crossover
0
10,000
20,000
30,000
40,000
50,000
60,000
Mean Mean Mean Mean
m = 3 m = 5 m = 10 m = 20
Dis
tan
ce
myTCX
TCX
ORX + A
CYX + A
PMX + A
HASIL UJI COBA (bagian 3)
31 January 2014 Tugas Akhir – KI091391 22
Minimizing total travel distance MTSP-150
Mean Stdev Best Mean Stdev Best Mean Stdev Best Mean Stdev Best Mean Stdev Best
myTCX 56,455 4,330 48,760 61,216 5,328 50,339 67,173 6,280 55,615 56,815 7,828 48,559 51,868 5,195 45,665
TCX 55,851 2,588 51,126 61,596 4,759 51,627 61,360 3,888 54,473 69,701 4,340 62,456 84,008 5,285 76,481
ORX + A 67,037 3,745 60,090 68,018 3,377 62,539 72,113 3,637 63,899 81,696 5,372 71,933 96,122 4,562 88,515
CYX + A 67,463 4,454 55,335 69,860 4,342 61,521 71,584 4,845 63,126 83,471 4,197 75,146 97,106 3,911 89,008
PMX + A 68,152 5,140 58,303 69,112 4,011 60,761 72,620 4,334 64,975 81,178 4,920 73,281 95,752 4,923 87,402
m = 10 m = 20 m = 30Crossover
m = 3 m = 5
0
20,000
40,000
60,000
80,000
100,000
120,000
Mean Mean Mean Mean Mean
m = 3 m = 5 m = 10 m = 20 m = 30
Dis
tan
ce
myTCX
TCX
ORX + A
CYX + A
PMX + A
HASIL UJI COBA (bagian 4)
31 January 2014 Tugas Akhir – KI091391 23
Minimizing longest tour MTSP-51
Mean Stdev Best Mean Stdev Best Mean Stdev Best
myTCX 238 45 176 160 29 117 74 13 59
TCX 207 13 182 153 10 135 113 2 112
ORX + A 216 12 191 165 11 139 128 13 112
CYX + A 222 16 188 161 12 138 131 16 112
PMX + A 218 11 191 161 10 141 130 12 112
Crossoverm = 3 m = 5 m = 10
0
50
100
150
200
250
Mean Mean Mean
m = 3 m = 5 m = 10
Lo
ng
est
tou
r
myTCX
TCX
ORX + A
CYX + A
PMX + A
HASIL UJI COBA (bagian 5)
31 January 2014 Tugas Akhir – KI091391 24
Minimizing longest tour MTSP-100
Mean Stdev Best Mean Stdev Best Mean Stdev Best Mean Stdev Best
myTCX 15,972 3,423 12,586 10,537 2,168 7,313 6,042 1,389 4,010 3,229 916 2,162
TCX 14,365 1,013 12,645 10,086 674 8,730 7,768 492 6,796 6,768 433 6,358
ORX + A 15,137 1,462 12,997 11,459 1,053 9,415 9,286 1,385 7,373 8,123 881 6,666
CYX + A 15,759 1,242 13,467 11,333 1,278 9,507 9,151 1,364 7,111 8,109 936 6,516
PMX + A 15,238 1,371 12,249 11,233 1,177 9,267 6,890 1,482 7,187 8,265 868 6,570
Crossoverm = 3 m = 5 m = 10 m = 20
0
2,000
4,000
6,000
8,000
10,000
12,000
14,000
16,000
18,000
Mean Mean Mean Mean
m = 3 m = 5 m = 10 m = 20
Lo
ng
est
tou
r
myTCX
TCX
ORX + A
CYX + A
PMX + A
HASIL UJI COBA (bagian 6)
31 January 2014 Tugas Akhir – KI091391 25
Minimizing longest tour MTSP-150
Mean Stdev Best Mean Stdev Best Mean Stdev Best Mean Stdev Best Mean Stdev Best
myTCX 23,444 4,893 17,621 16,058 3,393 11,529 10,212 2,176 7,066 7,415 1,415 4,916 3,144 1,160 1,921
TCX 22,523 1,226 20,556 16,054 1,227 14,096 10,722 927 8,475 9,640 789 8,423 8,759 806 7,169
ORX + A 24,766 1,689 22,015 17,646 1,519 15,266 15,150 2,006 11,788 13,669 1,816 10,274 12,204 1,376 9,182
CYX + A 23,906 1,941 20,915 17,608 1,563 14,029 14,738 1,750 10,779 14,111 1,872 8,365 13,091 1,295 10,694
PMX + A 24,216 1,802 20,347 17,741 1,235 15,418 14,489 2,139 10,738 13,810 1,315 11,722 12,608 1,667 10,080
m = 5 m = 10 m = 20 m = 30Crossover
m = 3
0
5,000
10,000
15,000
20,000
25,000
30,000
Mean Mean Mean Mean Mean
m = 3 m = 5 m = 10 m = 20 m = 30
Lo
ng
est
tou
r
myTCX
TCX
ORX + A
CYX + A
PMX + A
RANGKUMAN HASIL UJI COBA (bagian 1)
31 January 2014 Tugas Akhir – KI091391 26
Minimizing total travel distance
0 10,000 20,000 30,000 40,000 50,000 60,000 70,000 80,000 90,000 100,000
MTSP-51
MTSP-100
MTSP-150
MTSP-51
MTSP-100
MTSP-150
MTSP-51
MTSP-100
MTSP-150
MTSP-51
MTSP-100
MTSP-150
MTSP-51
MTSP-100
MTSP-150
m =
3m
= 5
m =
10
m =
20
m =
30
PMX + A
CYX + A
ORX + A
TCX
myTCX
RANGKUMAN HASIL UJI COBA (bagian 2)
31 January 2014 Tugas Akhir – KI091391 27
Minimizing longest tour
0 5,000 10,000 15,000 20,000 25,000 30,000
MTSP-51
MTSP-100
MTSP-150
MTSP-51
MTSP-100
MTSP-150
MTSP-51
MTSP-100
MTSP-150
MTSP-51
MTSP-100
MTSP-150
MTSP-51
MTSP-100
MTSP-150
m =
3m
= 5
m =
10
m =
20
m =
30
PMX + A
CYX + A
ORX + A
TCX
myTCX
PERSENTASE PENINGKATAN AKURASI
31 January 2014 Tugas Akhir – KI091391 28
Tabel peningkatan akurasi untuk minimizing total travel distance
Tabel peningkatan akurasi untuk longest tour
m = 30
MTSP-51 MTSP-100 MTSP-150 MTSP-51 MTSP-100 MTSP-150 MTSP-51 MTSP-100 MTSP-150 MTSP-100 MTSP-150 MTSP-150
myTCX vs TCX * * * * * 0.62% 15.72% 0.27% * 33.22% 18.49% 38.26%
myTCX vs ORX + A 6.16% 12.08% 15.79% 9.66% 10.18% 10.00% 24.40% 17.50% 6.85% 42.19% 30.46% 46.04%
myTCX vs CYX + A 7.28% 12.91% 16.32% 9.81% 12.69% 12.37% 24.51% 18.45% 6.16% 40.72% 31.93% 46.59%
myTCX vs PMX + A 8.82% 11.92% 17.16% 7.43% 9.43% 11.42% 23.97% 17.79% 7.50% 39.84% 30.01% 45.83%
Crossoverm = 3 m = 5 m = 10 m = 20
m = 30
MTSP-51 MTSP-100 MTSP-150 MTSP-51 MTSP-100 MTSP-150 MTSP-51 MTSP-100 MTSP-150 MTSP-100 MTSP-150 MTSP-150
myTCX vs TCX * * * * * * 34.51% 22.22% 4.76% 52.29% 23.08% 64.11%
myTCX vs ORX + A * * 5.34% 3.03% 8.05% 9.00% 42.19% 34.93% 32.59% 60.25% 45.75% 74.24%
myTCX vs CYX + A * * 1.93% 0.62% 7.02% 8.80% 43.51% 33.97% 30.71% 60.18% 47.45% 75.98%
myTCX vs PMX + A * * 3.19% 0.62% 6.20% 9.49% 43.08% 12.31% 29.52% 60.93% 46.31% 75.06%
Crossoverm = 3 m = 5 m = 10 m = 20
Catatan : * memiliki tingkat akurasi yang kurang baik
KESIMPULAN HASIL UJI COBA
31 January 2014 Tugas Akhir – KI091391 29
Dari semua hasil uji coba yang dilakukan dapat disimpulkan bahwa
dalam menyelesaikan MTSP menggunakan algoritma genetika dengan
metode TCX, untuk jumlah salesman minimal 5 orang mempunyai
tingkat akurasi yang lebih baik jika dibandingkan dengan metode
metode PMX, OCX dan CYX. Rata-rata peningkatan akurasinya adalah:
1. 15,90% untuk minimizing total travel distance
2. 21,58% untuk minimizing longest tour
Kesimpulan
Pendahuluan
Metode Penyelesaian
Uji Coba
Kesimpulan
31 January 2014 Tugas Akhir – KI091391 30
1. Metode Two-part Chromosome Crossover yang sudah dioptimalkan parameter-parameternya (TCXo) mampu menyelesaikan permasalahan MTSP.
2. Pengaturan nilai parameter pada uji permasalahan MTSP-51, MTSP-100 dan MTSP-150 mempengaruhi kualitas dan kinerja metode TCXo pada algoritma genetika. Parameter yang menyebabkan kinerja TCXo optimal antara lain:
Ukuran populasi = 100
Probabilitas crossover = 0,85
Probabilitas mutasi = 0,85
Metode seleksi = Roulette wheel
Metode mutasi = Swap dan flip
Metode replacement = Steady-state GA
Replacement rate = 20%
3. Jika dibandingkan dengan metode PMX, OCX dan CYX. Peningkatan akurasi solusi dari metode TCXo rata-rata sebesar 15,90% untuk minimizing total travel distance dan sebesar 21,58% untuk minimizing longest tour.
31 January 2014 Tugas Akhir – KI091391 31
KESIMPULAN
1. Permasalahan optimasi dari MTSP yang diselesaikan menggunakan algoritma genetika tentunya memiliki batasan-batasan yang telah ditetapkan sebelumnya, seperti: jumlah kota, jumlah salesman, operator GA yang digunakan, probabilitas pada operator GA dan metode-metode lain dalam GA. Tentunya dengan batasan yang berbeda hasil optimasi akan berbeda pula, bisa lebih baik atau bahkan lebih jelek, sehingga perlu di lakukan pengembangan lebih lanjut.
2. Perlu dilakukan pengembangan pada aplikasi ini, sehingga dapat diterapkan di kehidupan nyata.
31 January 2014 Tugas Akhir – KI091391 32
SARAN
Algoritma genetika merupakan salah satu algoritma dari sekian banyak algoritma optimasi yang didasarkan pada proses genetik yang ada dalam makluk hidup yaitu proses evolusi [3].
31 January 2014 Tugas Akhir – KI091391 34
Algoritma Genetika
Two Chromosome Technique
31 January 2014 Tugas Akhir – KI091391 35
Solution space dari teknik ini sebesar n!mn [4]
One Chromosome Technique
Solution space dari teknik ini yaitu sebesar (n + m -1)! [4]
31 January 2014 Tugas Akhir – KI091391 36
Swap Mutation
31 January 2014 Tugas Akhir – KI091391 41
1 2 3 4 5 6 7 8 9
1. Memilih 2 gen secara acak
2. Menukar posisi 2 gen yang terpilih tersebut
1 2 3 4 5 6 7 8 9
3 6
6 3
Flip Mutation
31 January 2014 Tugas Akhir – KI091391 42
1 2 3 4 5 6 7 8 9
1. Memilih 2 gen secara acak sebagai batas kiri dan kanan
2. Membalikkan posisi gen yang berada pada segmen tersebut
1 2 3 4 5 6 7 8 9
3 4 5 6
6 5 4 3
Steady State GA
31 January 2014 Tugas Akhir – KI091391 43
Pseudocode
1 P <- generate a population of individuals randomly
2 while stopping criterion has not been met:
3 parent1 <- selection(P)
4 parent2 <- selection(P)
5 child1, child2 <- with probability cross_rate crossover
parent1, parent2
6 child1 <- mutate child1
7 child2 <- mutate child2
8 best1, best2 <- get the two highest fitness individuals
out of parent1, parent2, child1, child2
9 replace parent1 with best1
10 replace parent2 with best2