• Tidak ada hasil yang ditemukan

BAB IV. PEMBAHASAN DAN HASIL

4.2. Implementasi Algoritma

Pada tahapan ini akan dilakukan penerapan algoritma ABC ke dalam permasalahan CVRP melalui simulasi pemograman. Untuk memudahkan penjelasan dan pemahaman, peneliti menggunakan sebagian dari data A-n32-k5 sebagai data dalam pembahasan. Dari data tersebut diambil sebuah depot

28

dan sembilan pelanggan pertama dengan kapasitas kendaraan 50. Berikut ini adalah data masukkan yang akan diselesaiakan :

Tabel 4.1 Data Permasalahan

Pelanggan x Y permintaan 1 82 76 0 2 96 44 19 3 50 5 21 4 49 8 6 5 13 7 19 6 29 89 7 7 58 30 12 8 84 39 16 9 14 24 6 10 2 39 16

Data tersebut akan diselesaikan dengan menggunakan algoritma ABC. Dalam Subbab ini nantinya akan dijelaskan mengenai aalur penyelesaian permasalahan tersebut dengan menggunakan algoritma yang diusulkan.

4.2.1 Route Constructions

Sesuai dengan yang dijelaskan pada bab sebelumnya, pada fase ini pembentukan rute awal akan dilakukan menggunakan metode Clark and Wright dan kemudian akan diperbaiki dengan algoritma ABC. Untuk lebih

29

memudahkan pemahaman berikut ini adalah matrik nilai saving dari data permasalahan yang didapat dari perhitungan formula (1) pada metode Clark and Wright :

Tabel.4.2 Matrik Saving

Saving i j 166,1551 5 9 154,5363 9 10 151,8848 5 10 150,3002 3 4 138,4048 3 5 137,1512 4 5 122,7756 3 9 122,7044 4 9 107,4236 4 10 107,1983 3 10 103,6991 4 7 103,5138 3 7 98,9281 5 7 93,0810 7 9 85,8887 6 10 83,3078 7 10 73,4665 6 9

30 68,6054 5 6 66,8489 3 8 65,8837 4 8 61,4249 7 8 58,9825 2 8 56,7566 5 8 52,4991 2 3 51,3098 2 4 51,0686 8 9 46,7228 4 6 46,3161 2 7 45,8639 3 6 43,1959 8 10 41,6357 2 5 40,7136 6 7 36,1284 2 9 28,9375 2 10 17,2947 6 8 8,7902 2 6

Berikut ini adalah penjelasan pembentukan rute awal menggunakan algoritma Clark and Wright

31

1. Berdasarkan pada tabel matriks nilai saving diatas, rute awal dipilih dengan menyisipi pasangan pelanggan yang memiliki nilai saving terbesar yaitu (5,9), maka rute awal yang terbentuk adalah [1 5 9 1]. 2. Kemudian pilih lagi pelanggan yang memiliki nilai saving terbesar

yaitu (9,10), maka sisipi pelanggan 10 ke dalam rute setelah pelanggan 9, jadi rute sementara adalah [1 5 9 10 1].

3. Setelah itu cek apakah permintaanpelangganpada rute yang terbentuk melebihi kapasitas kendaraan, Jika tidak maka lanjutkan penyisipan rute dengan nilai saving terbesar. Dari tabel matriks nilai saving diatas maka rute yang terbentuk adalah dengan menyisipkan pelanggan 4 kedalam rute sebelum pelanggan 5, maka rute yang terbentuk adalah [1 4 5 9 10 1].

4. Kemudian cek kembali apakah permintaan pelanggan pada rute yang terbentuk melebihi kapasitas kendaraan, Jika iya maka harus dibentuk rute baru. Total permintaanpada rute yang terbentuk di atas adalah 49 dengan kapasitas kendaraan 50, maka rute di atas tidak mungkin lagi untuk disisipi pelanggan baru.

5. Pilih pelanggan baru dengan nilai saving terbesar sebagai pelanggan awal pembentukan rute baru, yaitu pasangan pelanggan yang mungkin adalah (3,7), maka rute baru yang terbentuk adalah [1 3 7 1].

6. Cek apakah permintaan pelanggan pada rute yang terbentuk melebihi kapasitas kendaraan. Jika tidak, maka lanjutkan penyisipan pelanggan pada rute. Pelanggan yang mungkin disisipi adalah pelanggan8, maka rute yang terbentuk adalah [1 3 7 8 1].

32

7. Cek kembali kapasitas kendaraan apakah permintaan melebihi kapasitas kendaraan. Karena total permintaanpada rute yang terbentuk adalah 49, maka tidak ada lagi pelanggan yang mungkin untuk disisipi.

8. Buat rute baru dengan memilih pasangan pelanggan dengan nilai saving terbesar. Karena pelanggan yang tersisa adalah (2,6), maka rute terakhir yang terbentuk adalah [1 2 6 1].

9. Berikut ini adalah rute yang terbentuk dengan maksimum tiga kendaraan:

1. [1 4 5 9 10 1] 2. [1 3 7 8 1] 3. [1 2 6 1]

33

4.2.2 Distance Improvement

Setelah pembentukan rute awal yang dilakukan menggunakan metode Clark and Wright maka dilanjutkan dengan tahap perbaikan rute menggunakan algoritma ABC agar mendapatkan jarak yang minimum. Dalam hal ini digunakan beberapa parameter dan aturan sebagai berikut :

Rute awal yang terbentuk digabungkan dalam satu buah baris matriks dan disimpan sebagai rute terbaik sementara

BestFood = [1 4 5 9 10 1 3 7 8 1 2 6 1 ]

Jumlah kendaraan tidak boleh melebihi dari yang ditentukan Nilai awal trial adalah 0

Langkah 1 Employed Bee

1. Random dua indeks matriks yang berbeda, dalam hal ini terpilih indeks ke 4 dan ke 7.

2. Kemudian lakukan swap atau pertukaran terhadap dua indeks tersebut maka rute [1 4 5 9 10 1 3 7 8 1 2 6 1 ] berubah menjadi [1 4 5 3 10 1 9 7 8 1 2 6 1 ].

3. Cek total permintaan dari setiap rute apakah melebihi kapasitas kendaraan, Jika tidak maka bandingkan jaraknya dengan rute sebelumnya, dan jika ya maka kembali random dua indeks matriks berbeda dan tambah nilai trial dengan 1, dalam hal ini total permintaan dari setiap rute diatas adalah [62 34 26].

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 pelanggan7.

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.

Dokumen terkait