87
Anak 2 10 8 17 24 19 16 7 2 11 18 14 12 25 1 21 6
13 3 23 5 20 9 15 22 4 2
Setelah Dimutasi Anak 1
2 11 13 4 16 21 9 19 15 8 20 17 25 18 5 23
22 6 3 1 7 14 12 10 24
Anak 2 10
8 17 24 19 16 7 2 11 18 14 12 25 1 21 6 13 3 23 5 20 9 15 22 4
7. Pembentukan Populasi Baru
Setelah langkah-langkah di atas dilakukan, maka dibentuk populasi selanjutnya di generasi kedua. Individu terbaik dengan nilai fitness tertinggi pada
populasi awal dibawa ke populasi selanjutnya, proses ini dinamakan sebagai elitism
. Proses elitism bertujuan untuk menjaga agar individu bernilai fitness tertinggi tersebut tidak hilang selama proses evolusi. Prosedur pembentukan
populasi selanjutnya terdapat dalam lampiran 6 dan hasil pembentukkan populasi baru bisa dilihat pada lampiran 11 dengan bantuan software Matlab. Berikut
merupakan hasil populasi baru di generasi selanjutnya.
88
Individu 1 = 17 20 10 8 13 22 21 3 25 16 24 5 2 23
15 6 9 4 18 12 7 11 19 1 14 Setelah didapatkan generasi baru maka proses selanjutnya adalah mencari
nilai fitness generasi baru dengan bantuan software Matlab hasil perhitungan pada lampiran 12. Iterasi dilakukan hingga mendapatkan nilai fitness yang
optimum dan konvergen digenerasi tertentu. Algoritma genetika bersifat random generator
, sehingga setiap melakukan proses seleksi maka akan selalu menghasilkan solusi yang berbeda. Dalam hal ini diperlukan beberapa kali
percobaan dalam mengaplikasikan algoritma genetika dengan software Matlab agar didapatkan solusi yang optimum, yaitu dengan mencoba beberapa nilai
ukuran populasi dan jumlah generasi. Berikut tabel percobaan dengan menggunakan beberapa nilai ukuran populasi dan jumlah generasi yang berbeda.
Tabel 3.9 Hasil Uji coba Menggunakan Software Matlab
Percobaan Ke-
Ukuran Populasi
Jumlah Generasi
Nilai Fitness
Total Jarak
1 15
100 0,0061
166,100 2
150 0,0057
176,400 3
200 0,0056
179,500 4
500 0,0061
165,000 5
1000 0,0068
146,550
89
6 20
100 0,0063
159,400 7
150 0,0062
162,300 8
200 0,0061
165,100 9
500 0,0068
146,900
10 1000
0,0080 123,650
11 25
100 0,0059
168,200 12
150 0,0060
167,700 13
200 0,0061
163,100 14
500 0,0063
159,850 15
1000 0,0071
141,000
Berdasarkan Tabel 3. dilakukan uji coba dengan beberapa ukuran populasi random
yaitu 15, 20 dan 25. Jumlah iterasi yang digunakan adalah 100, 150, 200, 500, 1000 dan parameter yang digunakan dibuat sama yaitu dengan crossover rate
0,8 dan mutation rate 0,05. Berdasarkan tabel ukuran populasi percobaan dengan 15 populasi menghasilkan nilai fitness terbaik yaitu sebesar 0,0068 pada iterasi ke-1000,
dengan ukuran 20 populasi nilai fitness yang dihasilkan sebesar 0,0080 pada iterasi ke 1000, sedangkan dengan ukuran 25 populasi nilai fitness terbaik sebesar 0,0071
juga pada iterasi ke-1000. Dapat terlihat dari setiap percobaan semakin bertambah ukuran populasi dan jumlah generasinya maka nilai fitness yang dihasilkan juga akan
semakin baik. Ukuran populasi dan jumlah generasi mempengaruhi kinerja dan efektivitas Algoritma genetika. Jika ukuran populasi kecil maka populasi tidak
90
menyediakan cukup materi untuk mencakup ruang permasalahan, sehingga pada umumnya kinerja algoritma genetika menjadi buruk. Penggunaan populasi yang
lebih besar dapat membuat kinerja algoritma genetika semakin baik dan dapat mencegah terjadinya konvergensi pada wilayah lokal. Begitu juga dengan jumlah
generasi, jumlah generasi yang besar dapat mengarahkan ke arah solusi yang lebih optimal, namun akan membutuhkan waktu running yang lama. Sedangkan jika
jumlah generasinya terlalu sedikit maka solusi yang dihasilkan akan terjebak dalam lokal optimal.
Dapat disimpulkan bahwa yang menyebabkan hasil solusi optimal setiap iterasi berubah karena dalam algoritma genetika, solusi optimal dapat dihasilkan
disetiap generasi yang dibentuk dari generasi sebelumnya sangat dipengaruhi oleh populasi awal, seleksi, pindah silang dan mutasi. Maka disetiap proses generasi akan
selalu dihasilkan individu baru atau representasi solusi optimal dari permasalahan yang dihadapi. Proses tersebut akan selalu berulang-ulang hingga didapatkan solusi
yang mendekati optimal. Solusi dikatakan mendekati optimal jika dalam proses generasi didapatkan individu-individu yang memiliki nilai fitness terbaik.
Berdasarkan Tabel 3.9 pada percobaan ke-10 dengan ukuran populasi 20 dan jumlah iterasi ke-1000 didapatkan nilai fitness sebesar 0,0080 yang artinya nilai
fitness yang didapatkan belum mencapai nilai fitness maksimum. Nilai fitness terbaik
hanya mencapai 0,0080. dengan total jarak tempuh 123,650 km. Berikut grafik percobaan ke-10 seperti Gambar 3.9.
91
Gambar 3.9 Grafik Generasi Ke-1000
Kurva yang berada diatas merupakan nilai fitness pada generasi ke-1000. Dan kurva yang berada dibawah merupakan nilai fitness rata-rata dari 1000 generasi.
Pergerakan nilai fitness akan semakin baik dan konstan dari generasi ke generasi dan mencapai konvergen di generasi ke-850, untuk generasi setelah 850 sampai generasi
ke-1000 tetap didapatkan nilai fitness terbaik sebesar 0,0080, sehingga didapatkan solusi optimal rute terpendek. Berikut rute yang dihasilkan pada percobaan ke-10
seperti pada Tabel 3.10.
92
Tabel 3.10 Pembagian rute pada percobaan ke-10
Keterangan : 1
Rute kendaraan 1 Total kapasitas 5750 kg dan Total Jarak Tempuh 52,95 km Depot - Jalan Raya Wates No.256 - Jl. Madukismo Ngupasan - Jl. Sultan Agung
No.10 Wirogunan Mergangsan - Jl. Mayor Suryotomo No.29 Ngupasan - Jl. HOS Cokroaminoto No.176 Tegalrejo
– Jl Raya Seturan Kav.IV Depok Sports Centre
– Jl Ringroad Utara Maguwoharjo – Jl Raya Solo Km 8 No.234 Maguwoharjo
– Depot. Kendaraan
Rute Permintaan
Jarak Tempuh 1
0 11 13 18 17 6 24 9 16 0
5750 52,95
2 0 25 5 3 22 21
23 4 20 7 10 0 5425
56,40
3 0 15 2 8 19 1
12 14 0 5700
38,6
93
Gambar 3.10 Graf Pendistribusian Rute I
Selanjutnya dari rute yang telah diperoleh, dihitung catatan waktu yang dihabiskan selama pendistribusian pada rute 1 dan setiap agen dilayani selama 15
menit.
Tabel 3.11 Lama waktu pendistribusian pada rute 1
Agen Waktu Kedatangan
Waktu Keberangkatan 08.00
11 08.07
08.22
13
08.29 08.44
18
08.45 09.00
17 09.01
09.16
6 09.22
09.37
94
2 Rute kendaraan 2 Total kapasitas 5425 kg dan Total Jarak Tempuh 56,40 km
Depot – Jl Yogya Solo KM 7 Babarsari – Jl Kebon Agung No 88 Tlogodadi –
Jl Magelang Km 15,5 Kemloko – Triharjo Sleman – Jalan Palagan Tentara
pelajar No 31 – Jl Kaliurang Km 6,2 No 51 – Jl Colombo No.26 – Jl C.
Simanjutak No.70 Terban – Jl Urip Sumoharjo No.38A Klitren - Jl Urip
Sumoharjo Klitren – Depot.
Gambar 3.11 Graf Pendistribusian Rute II 24
09.47 10.02
9
10.09 10.24
16
10.30 10.45
11.03
95
Selanjutnya dari rute yang telah diperoleh, dihitung catatan waktu yang dihabiskan selama pendistribusian pada rute 2 dan setiap agen dilayani selama 15
menit.
Tabel 3.12 Lama waktu pendistribusian pada rute 2
Agen Waktu Kedatangan Waktu Keberangkatan
08.00
25 08.18
08.33
5 08.50
09.15
3 09.24
09.39
22 09.43
09.58
21 10.08
10.23
23
10.28 10.43
4
10.47 11.02
20
11.04 11.19
7 11.21
11.36
10 11.37
11.52 12.03
96
3 Rute kendaraan 3 Total kapasitas 5700 kg dan Total Jarak Tempuh 38,06 km
Depot – Plaza Ambarukmo LG – Jl Pramuka No.84 Giwangan – Jl Ngeksigondo
No.7 Prenggan – Jl Panjaitan No.54 Suryodiningratan – Pacar Sewon Trimulyo
– Jl Parangtritis Km 11 Sabdodadi – Jl Bantul Pendowoharjo – Depot.
Gambar 3.12 Graf Pendistribusian Rute III
Selanjutnya dari rute yang telah diperoleh, dihitung catatan waktu yang dihabiskan selama pendistribusian pada rute 2 dan setiap agen dilayani selama 15
menit.
97
Tabel 3.13 Lama waktu pendistribusian pada rute 3
D.
Perbandingan Rute yang diperoleh menggunakan Algoritma Sweep dengan Algoritma Genetika
Perbandingan rute yang diperoleh dengan menggunakan Algoritma Sweep dan Algoritma Genetika ditunjukkan pada Tabel 3.14.
Agen Waktu Kedatangan
Waktu Keberangkatan 08.00
15
08.19 08.34
2 08.41
08.56
8 08.58
09.13
19 09.20
09.35
1 09.45
10.00
12 10.06
10.21
14 10.28
10.43 10.47
98
Tabel 3.14 Perbandingan Rute yang diperoleh dengan Menggunakan Algoritma Sweep dan Algoritma Genetika
Rute dengan Menggnakan Algoritma Sweep Rute 1
Rute 2 Rute 3
Total
– 19 – 2 – 8 – 25
– 15 – 24 – 16
– 9 – 0 – 18 – 17 -
13 – 7 – 10 –
20 – 4 – 23 - 0
– 14 – 12 – 1 – 11 – 6 – 21 –
5 – 22 – 3 - 0
Jarak Tempuh
46,6 km 34,9 km
74,9 km 156,4 km
Waktu Tempuh
61 menit 45 menit
96 menit 202 menit
Rute dengan Menggnakan Algoritma Genetika Rute 1
Rute 2 Rute 3
Total
– 11 – 13 – 18 -17
– 6 – 24 – 9 – 16 - 0
– 25 – 5 – 3 – 22 – 21 – 23
– 4 – 20 – 7 –
10 - 0 – 15 – 2 – 8
– 19 – 1 – 12 – 14 - 0
Jarak Tempuh
52,95 km 56,40 km
38,6 km 147,95 km
Waktu Tempuh
45 menit 72 km
58 menit 175 menit
Pada Tabel 3.14 secara keseluruhan, algoritma genetika menghasilkan total jarak tempuh dan total waktu tempuh yang lebih baik dibandingkan dengan
99
Algoritma Sweep. Algoritma genetika menghasilkan total jarak tempuh 147,95 km dan waktu tempuh 175 menit. Algoritma sweep menghasilkan total jarak tempuh
156,4 km dan waktu tempuh 202 menit. Dengan demikian dapat dikatakan bahwa solusi yang dihasilkan algoritma genetika lebih baik dalam segi jarak maupun waktu
jika dibandingkan algoritma dalam menyelesaikan Capacitated Vehicle Routing Problem
CVRP.
100
BAB IV PENUTUP
A. Kesimpulan
Berdasarkan pembahasan mengenai penerapan algoritma sweep dan algoritma genetika pada penyelesaian capacitated vehicle routing problem CVRP
untuk distribusi gula di Yogyakarta, diperoleh hasil sebagai berikut : 1.
Model matematika capacitated vehicle routing problem CVRP dalam bentuk fungsi tujuan dan kendala-kendala adalah sebagi berikut :
Fungsi Tujuan : Meminimumkan Z =
∑ ∑
∑ �
= =
=
Dengan kendala a
Untuk setiap agen hanya akan dikunjungi tepat satu kali oleh 1 kendaraan, pada permasalahan ini terdapat 3 unit kendaraan dengan jumlah titik
sebanyak 25 yang harus dikunjungi i.
Untuk j = {1, 2, …, 26}
∑ ∑
�
= =
=
:
∑ ∑
�
= =
=