Distance Improvement Implementasi Algoritma

34 Gambar 4.2. Perbaikan Rute 4. Karena kapasitas maksimum kendaraan 50, maka rute diatas tidak mungkin untuk dibentuk dan rute kembali kebentuk awal. Karena percobaan diatas gagal maka nilai trial = 1. Masuk iterasi selanjutnya. 5. Kemudian lakukan random kembali dua indeks matriks, dan kali ini yang terpilih adalah indeks ke 7 dan ke 8. 6. Lakukan swap indeks dan rute yang terbentuk adalah [1 4 5 9 10 1 7 3 8 1 2 6 1 ] dengan menukar posisi pelanggan 3 dengan pelanggan 7. 7. Cek permintaan setiap rute apakah melebihi kapasitas. Total permintaan dari rute diatas adalah [47 49 26], rute yang terbetuk tidak melebihi kapasitas. 8. Setelah cek permintaan, periksa apakah jarak rute yang terbentuk lebih minimum dari rute sebelumnya. Jika ya, maka rute tersebut dapat 35 digunakan kemudian disimpan sebagai BestFood dan rubah nilai trial menjadi 0. 9. Karena jarak total rute diatas lebih baik yaitu 569,4584 dan yang sebelumnya 574,8824, maka BestFood = [1 4 5 9 10 1 7 3 8 1 2 6 1 ]. Gambar 4.4. Rute Terbaik Employed Bee 10. Lakukan langkah-langkah diatas sampai memenuhi length dari rute. 11. Nilai trial akan terus ditambah 1 jika percobaan perbaikan rute tidak menghasilkan rute terbaik dan nilai trial akan dirubah menjadi 0 jika rute terbaik ditemukan. 12. Kemudian hitung nilai probabilitas untuk setiap rute berdasarkan jarak. Langkah 2 Onlooker Bee 1. Pilih salah satu rute berdasarkan probabilitas, dalam hal ini rute yang terpilih adalah rute pertama yaitu [1 4 5 9 10 1 ]. 36 2. Pilih indeks matriks pada rute pertama secara random, dan yang terpilih adalah indeks 3 pada rute pertama. 3. Pilih sebarang indeks matriks secara random, kali ini yang terpillih adalah indeks ke 10. 4. Lakukan insert indeks 3 setelah indeks rute ke 10, maka rute yang terbentuk adalah [1 4 9 10 1 7 3 8 1 5 2 6 1 ], pelanggan 5 di subtitusikan setelah indeks ke 10. Gambar 4.5. Perbaikan Rute 5. Cek apakah total permintaan setiap rute melebihi kapasitas, jika tidak maka lanjutkan ke tahap berikutnya yaitu bandingkan total jarak dengan rute sebelumnya, dan jika iya maka kembali ke tahap awal langkah 2 dan nilai trial ditambah 1. 37 6. Total permintaan dari rute diatas adalah [28 49 45], karena tidak melebihi kapasitas kendaraan, maka rute tersebut dibandingkan jaraknya dengan rute sebelumnya. 7. Karena total jarak rute sebelumnya lebih baik yaitu 569,45584 dan rute perbaiakan 708,4247, maka rute perbaikan tidak digunakan dan nilai trial ditambah 1. BestFood tetap tidak berubah 8. Kemudian kembali ketahap awal Onlooker Bee, ulangi tahapan diatas sampai memenuhi length rute. 9. Sama seperti langkah 1 nilai trial akan terus ditambah 1 jika percobaan perbaikan rute gagal dan nilai trial dirubah ke 0 jika rute terbaik ditemukan. 10. Kemudian simpan BestFood kedalam GlobalFood. 11. Setelah itu periksa apakah nilai trial melebihi limit, jika tidak maka kembali ke langkah 1 employed bee, dan jika iya, maka akan masuk kelangkah 3 scout bee. Langkah 3 Scout Bee 1. Ketika nilai trial melebihi limit yang ditentukan maka random rute baru dan jadikan rute baru tersebut sebagai BestFood. Hal ini dilakukan agar algoritma lebah tidak terjebak pada nilai minimum lokal. 2. Rubah nilai trial sama dengan 0 dan kembali ke langkah 1 sampai memenuhi iterai yang ditentukan. 38 Dari percobaan di atas menggunakan simulasi pemograman dengan maksimal iterasi 100 dan limit 10, didapat rute optimal dengan jarak minimum 486,8920 dan rute yang terbentuk adalah [1 6 10 9 5 1 3 4 7 1 2 8 1]. Gambar 4.6. Solusi Optimal.

4.3 Hasil Eksperimen

Berikut ini merupakan data hasil eksperimen algoritma ABC untuk permasalahan CVRP. Dalam hasil ini hanya akan ditampilkan mengenai jumlah kendaraan yang diugnakan serta total jarak yang ditempuh oleh suatu solusi. Waktu komputasi tidak diperbandingkan mengingat ada perbedaan terkait spesifikasi komputer terhadap refrensi pembanding. Data yang digunakan serta solusi optimal untuk perbandingan berasal dari website branchandcut.org. Berikut ini adalah tabel data hasil eksperimen : 39 Tabel 4.3 Hasil Eksperimen