BAB 3 MULTIPLE ANT COLONY SYSTEM PADA VEHICLE ROUTING
3.4 Prosedur Konstruksi New_Active_Ant
Universitas Indonesia
Setelah diperoleh pelanggan berikutnya yang akan dikunjungi, dilakukan proses yang sama sampai semua pelanggan dikunjungi, sehingga diperoleh rute berikut: D-3-6-1-D-2-D-4-5-D. Jadi diperoleh solusi awal dimana agen
kembali ke depot sebanyak 3 kali sehingga banyaknya kendaraan yang dibutuhkan adalah 3, yaitu kendaraan pertama melayani pelanggan 3,6,1 kemudian kendaraan kedua melayani pelanggan 2 dan kendaraan ketiga melayani pelanggan 4 dan 5 serta total waktu tempuh yang digunakan agen untuk melayani semua pelanggan adalah 345,54.
Sebelum masuk ke tahapan pada koloni ACS_VEI dan ACS_TIME, berikut diberikan penjelasan prosedur konstruksi new_active_ant yang dilakukan oleh masing-masing agen untuk mengkonstruksi solusi pada setiap koloni.
3.4 Prosedur Konstruksi New_Active_Ant
Pada setiap koloni, baik koloni ACS_VEI maupun koloni ACS_TIME terdapat sejumlah agen yang bertugas untuk membentuk solusi dimana masing-masing agen melakukan prosedur konstruksi new_active_ant. Hal yang
membedakan new_active_ant yang dilakukan pada koloni ACS_VEI dan koloni ACS_TIME adalah prosedur local search yang hanya dilakukan oleh
ACS_TIME. Koloni ACS_VEI belum tentu berhasil menemukan solusi layak sedangkan agen pada koloni ACS_TIME dapat dipastikan akan membentuk solusi yang layak dan rute yang terbentuk pada solusi layak tersebut akan dioptimalkan melalui prosuder local search.
Setiap agen melakukan prosedur new_active_ant dengan langkah-langkah sebagai berikut:
1. Setiap agen memulai perjalanan dari sebuah depot terduplikasi yang dipilih secara acak. Misalkan agen m ditempatkan pada salah satu depot terduplikasi dengan inisialisasi waktu tempuh agen=0 dan permintaan yang dilayani=0, kemudian depot terduplikasi ini menjadi simpul asal.
Universitas Indonesia
2. Perjalanan dimulai dari simpul asal i, lalu dilanjutkan dengan pemeriksaan simpul j yang layak untuk dikunjungi. Beberapa kriteria yang harus terpenuhi untuk pelanggan agar dapat dilayani antara lain sebagai berikut:
 Jumlah permintaan pelanggan akan yang dilewati tidak melebihi kapasitas kendaraan.
 Waktu tiba agen tidak melebihi waktu akhir pelayanan pelanggan yang akan dikunjungi.
 Waktu agen setelah melayani pelanggan dan waktu agen kembali ke depot setelah melayani pelanggan tidak melebihi batas waktu depot. Jika semua kriteria di atas terpenuhi, simpul j dimasukkan dalam himpunan . Selanjutnya untuk setiap simpul j yang merupakan anggota dari , dihitung nilai visibility,( ) dari simpul j yang layak dilayani setelah simpul i. Nilai visibility dapat diperoleh dengan memasukkan perhitungan waktu tempuh antara simpul i dan j, time window yang berkaitan dengan simpul j dan nilai yang menunjukkan simpul j tidak termasuk pada solusi.
Nilai pada koloni ACS_TIME bernilai 0 karena tujuan agen dari koloni ini mencoba memperbaiki solusi layak yang ada. Dengan kata lain, seluruh simpul pasti sudah termasuk pada solusi, sehingga nilai tidak diperlukan. Sedangkan pada koloni ACS_VEI, agen bertugas untuk
menemukan solusi dengan mencoba mengurangi banyaknya kendaraan yang digunakan, yang dilakukan adalah dengan memaksimumkan banyaknya pelanggan yang dilayani. Jadi, nilai diperlukan untuk memberikan tanda pada pelanggan yang sering tidak termasuk dalam solusi. Semakin besar nilai , semakin besar nilai visibility-nya, sehingga kemungkinan simpul j yang dimasukkan dalam solusi akan bertambah besar.
Selanjutnya nilai visibility dapat diperoleh berdasarkan persamaan berikut:
( ) (3.2) (3.3)
33 Universitas Indonesia (3.4) (3.5) (3.6)
Setelah diperoleh nilai visibility untuk setiap simpul j dalam , dilakukan proses pemilihan pelanggan dengan mekanisme eksploitasi atau eksplorasi. Waktu tempuh agen dan jumlah permintaan yang dilayani diperbaharui dan dilakukan pembaharuan intensitas pheromone secara lokal berdasarkan persamaan (2.13). Jika simpul j yang terpilih adalah depot terduplikasi, maka waktu tempuh agen dan jumlah permintaan yang dilayani kembali menjadi nol. Tahapan 2 ini dilakukan sampai himpunan kosong, yang artinya sudah tidak ada simpul yang layak dikunjungi. Rute yang berhasil dibentuk agen disimpan pada solusi .
3. Tahapan selanjutnya adalah memperbaiki solusi dengan menambahkan pelanggan yang dapat dilayani secara tentatif dengan prosedur best feasible
insertion. Insertion dilakukan dengan mempertimbangkan semua pelanggan
yang belum dikunjungi, yang terurut secara menurun berdasarkan banyaknya permintaan . Untuk setiap pelanggan tersebut, dicari posisi terbaik untuk memasukkan pelanggan ke dalam solusi, dengan tetap menjaga terpenuhinya kendala kapasitas kendaraan dan time windows serta memiliki total waktu tempuh paling minimum sampai tidak ada lagi pelanggan yang layak dimasukkan.
4. Setelah diperoleh solusi layak, dilakukan prosedur local search untuk mengoptimalkan solusi yang diperoleh seperti yang telah dibahas di Subbab 2.6. Tahapan ini hanya dilakukan oleh agen pada koloni ACS_TIME. Pada Gambar 3.5 diberikan prosedur local search yang menunjukkan langkah-langkah dalam mencari rute yang lebih optimal dari rute yang sudah terbentuk oleh agen. Setiap simpul yang terhubung dalam rute yang sudah terbentuk diperiksa apakah sudah menempati posisi yang tepat untuk menghasilkan total waktu tempuh optimal. Untuk mempermudah pengecekan tersebut, setiap simpul pada rute diberikan indeks, sehingga pengecekan total waktu tempuh sudah optimal atau belum dapat dicek melalui persamaan (3.7)
Universitas Indonesia
(3.7) dengan t(p,q) menyatakan waktu tempuh antara simpul p dan q. Pengecekan rute optimal dimulai dari indeks . Pengecekan rute tidak dilakukan ketika indeks p menunjukan simpul depot terduplikasi. Apabila kondisi (3.7) terpenuhi, maka rute belum optimal. Jika rute dengan urutan simpul yang disusun berdasarkan ruas kanan pada persamaan (3.7) memenuhi kendala kapasitas kendaraan dan time windows, maka posisi simpul-simpul tersebut diubah. Proses ini dilakukan sampai tidak ada pelanggan pada rute yang dapat diubah posisinya.
Rute yang dibentuk oleh agen m
Setiap simpul diberikan indeks lalu pengecekan rute optimal
dimulai dari indeks p=2, q=3
Apakah waktu tempuh optimal sudah memenuhi persamaan
(3.7)?
Apakah memenuhi kendala kapasitas dan time windows
Ubah posisi simpul pada rute
Apakah masih ada simpul yang dapat diubah posisinya (pengecekan dengan
indeks p dan q bertambah)?
Rute optimal yang diperoleh agen m
Gambar 3.5 Prosedur local search tidak
ya ya
tidak ya