65
1 Sebelum di mutasi
Anak 1 = 19 3 4 8 20 11 9 1 6 2 10 17 15 5 14 12 16 13 7 18
Anak 2 = 19 15 2 5 6 14 8 4 12
16 9 1 3 20 11 10 17 18 13 7
2 Setelah di mutasi
Anak 1 = 11 3 4 8 20 19 9
1 6 2 10 18 17 5 14 12 16 13 15 7
Anak 2 = 19 15 2 5 6 14 8 4 12
16 9 1 3 20 11 10 17 18 13 7
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 4 dan hasil pembentukkan populasi
baru bisa dilihat pada lampiran 9 dengan bantuan software Matlab. Berikut merupakan hasil populasi baru di generasi selanjutnya.
Individu 1 = 17 19 3 9 5 16 10 20 2 12 8 13 14 7 1 18 15 11 6 4
Permintaan 1 = 48,9 19,8 21,2 1,8 123,4 19,9 35,4 6,9 12,6 6,8 44,8 67,9 47,1 15,6 4,3 14,7 24,4 66,1 10 63,7
66
Setelah didapatkan generasi baru maka proses selanjutnya adalah mencari nilai fitness generasi baru dengan bantuan software Matlab hasil
perhitungan pada lampiran 10. 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.4 Hasil Percobaan Algoritma Genetika
Percobaan Ke-
Ukuran Populasi
Jumlah Generasi
Nilai Fitness
Total Jarak
1
15 100
0,006627 150,900
2 150
0,007418 134,800
3 200
0,006868 145,600
4 500
0,007616 131,300
5 1000
0,007886 126,800
6
20 100
0,007380 135,500
7 150
0,007032 142,200
8 200
0,007593 131,700
9 500
0,007599 131,600
10 1000
0,008826 113,300
67
11
30 100
0,006761 147,900
12 150
0,007479 133,700
13 200
0,007680 130,200
14 500
0,007893 126,700
15 1000
0,007974 125,400
Berdasarkan tabel 3.4 dilakukan uji coba dengan beberapa ukuran populasi random yaitu 15, 20 dan 30. 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,007886 pada iterasi ke-1000, dengan ukuran 20 populasi nilai fitness yang
dihasilkan sebesar 0,008826 pada iterasi ke 1000, sedangkan dengan ukuran 30 populasi nilai fitness terbaik sebesar 0,007974 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 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
68
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.4 pada percobaan ke-10 dengan ukuran populasi 20
dan jumlah iterasi ke-1000 didapatkan nilai fitness sebesar 0,008826 yang artinya nilai fitness yang didapatkan belum mencapai nilai fitness maksimum. Nilai
fitness terbaik hanya mencapai 0,008826. dengan total jarak tempuh 113,3 km. Berikut grafik percobaan ke-10 seperti gambar 3.3.
69
Gambar 3.3 Grafik pergerakan nilai fitness 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-900, untuk generasi setelah 900 sampai generasi ke-1000 tetap didapatkan nilai fitness terbaik sebesar 0,008826,
sehingga didapatkan solusi optimal rute terpendek. Berikut rute yang dihasilkan pada percobaan ke-10 seperti pada tabel 3.5
Tabel 3.5 Pembagian rute pada percobaan ke-10
Kendaraan Rute
Permintaan Jarak tempuh
Km
1 0 7 4 1 10 16
15 11 6 19 17 20 3 0
336,2 kg 89,7
70
2 0 5 8 13 9 14
18 2 12 0 319,1 kg
44
Jadi telah diketahui solusi dari CVRP pada pendistribusian surat kabar kedaulatan rakyat di Kabupaten Sleman diperoleh 2 rute optimal sebagai berikut :
Rute 1 Kapasitas Kendaraan = 336,2 kg dan Total Jarak Tempuh = 89,7 km : Depot Jalan Solo km. 11, kalitirto, DIY → Jalan Gurameh Raya,
Minomartani Warnet Luna → Jalan Tluki I 169 CONCAT → Jalan Besi KM 14 Depan Kampus UII → Pasar Gentan, Ngagklik Sleman → Jalan Tegalrejo,
Sardonoharjo, Sleman → Rumah Sakit Panti Nugroho → Hargo Binangun, Pakem → Karangnggeneng, Pakem, Sleman → Donokerto, Turi, Sleman →
Lumbungrejo, Temp el, Sleman → Wadas, Tridadi, Sleman → Jalan Magelang
KM 5,2 → Depot Jalan Solo km. 11, kalitirto, DIY.
Gambar 3.4 Rute 1 dengan Algoritma Genetika
71
Selanjutnya dari rute yang telah diperoleh, dihitung catatan waktu yang dihabiskan selama pendistribusian pada rute 1 dan setiap agen dilayani selama 5
menit. Tabel 3.6 Lama waktu pendistribusian pada rute 1
Agen Waktu Kedatangan
Waktu Keberangkatan
2:30
7 2:36
2:41
4 2:42
2:47
1
2:48 2:53
10 2:55
3:00
16 3:05
3:10
15 3:15
3:20
11 3:28
3:33
6
3:42 3:47
19 3:53
3:58
17 4:04
4:09
20 4:15
4:20
3 4:24
4:29 4:38
Rute 2 Kapasitas Kendaraan = 319,1 kg dan Total Jarak Tempuh = 44 km : Depot Jalan Solo km.11, kalitirto, DIY → Jombor Kidul, Sinduadi,
Mlati, Sleman → Karanganyar, Sinduadi, Mlati Yogya Utara → Jalan Merapi Km 4 Beran → Jalan Bhayangkara Km 13 Morangan → Perempatan Tugu Yogya
→ Pasar Terban → Palem Kecut CT 1041 Sleman → Jalan Gejayan Gang Guru Mrican → Depot Jalan Solo km.11, kalitirto, DIY.
72
Gambar 3.5 Rute 2 dengan Algoritma Genetika Selanjutnya dari rute yang telah diperoleh, dihitung catatan waktu yang
dihabiskan selama pendistribusian pada rute 2 dan setiap agen dilayani selama 5 menit
Tabel 3.7 Lama waktu pendistribusian pada rute 2
Agen Waktu Kedatangan
Waktu Keberangkatan
2:30
5 2:38
2:43
8 2:45
2:50
13
2:52 2:57
9 3:00
3:05
14 3:07
3:12
18 3:14
3:19
2 3:21
3:26
12
3:29 3:34
3:40
73
C. Perbandingan Rute yang diperoleh menggunakan Algoritma Sweep