Pembentukan Populasi Baru Penyelesaian Model Capacitated Vehicle Routing Problem CVRP

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