Anda di halaman 1dari 5

Algoritma- Algoritma dalam VRPTW 1.

Algoritma Clark and Wright untuk VRPTW Metode saving Clark and Wright merupakan salah satu metode yang pada dasarnya digunakan untuk menyelesaikan permasalahan VRP klasik. Berikut ini langkah-langkah dalam menyelesaikan permasalahan VRPTW dengan menggunakan Algoritma Clark and Wright adalah sebagai berikut : a. Menghitung nilai saving untuk semua pasangan costumer. Didefinisikan Ri= rute yang memuat sisi (0,i) dan (i,0) untuk iN/{0}. Hitung Sij = ci0 + c0j - cij, untuk i = 1, 2, . . ., n-1 dan j = i+1, . . ., n, ij, jN / {0}. Untuk kasus ci0 = 0 (tidak terhubung langsung) atau c0j = 0 atau cij = 0 maka sij tidak dihitung. b. Mengurutkan sij dari terbesar ke terkecil c. Membangun dan memilah rute Bangun rute [0, i, j, 0] dari sij terbesar ke terkecil. Untuk setiap i dan j dengan ij maka hitung qi + qj Q dan Ttotal Tw. jika ya maka hubungkan Ri dan Rj sehingga menghasilkan rute [0, i, j, 0]. jika tidak maka Ri dan Rj tidak terhubung. d. Perluasan rute Berdasarkan pada rute yang telah terbentuk pada langkah sebelumnya, penggabungan rute terjadi jika tidak melanggar kendala yang telah ditetapkan (kendala kapasitas dan kendala waktu). Ada beberapa kasus yang perlu diperhatikan dalam proses penggabungan rute Rij dan Rkl denga Rij = rute [0, i, j, 0] merupakan rute yang telah terpilih dan Rkl = [0, k, l, 0] merupakan rute yang dipilih kemudian Jika indeks (i, j) tidak sama dengan indeks (k, l) maka rute baru yang terbentuk [0, i, j, k, l, 0]. Jika salah satu indeks (i, j) dan (k, l) ada yang sama maka rute baru terbentuk dengan memasukkan salah satu indeks yang sama ke dalam rute baru. Jika indeks (i, j) =(k, l) maka rute baru tidak terbentuk. Proses perluasan rute dilanjutkan sampai jumlah permintaan dalam satu rute tidak melebihi kapasitas kendaraan dan total waktu tidak melebihi time window yang ditetapkan. e. Jika semua nilai Sij terpilih dan ada iN/ {0} yang belum tercakup dalam rute pada langkah d, maka terbentuk rute baru yaitu [0, i, 0]. f. Proses perluasan rute dihentikan setelah semua costumer tercakup dalam semua rute yang terbentuk pada langkah d dan c, dan untuk setiap costumer yang telah terpilih dalam rute sebelumnya tidak boleh dipilih lagi dalam pemilihan rute berikutnya.

2. Algoritma Ant Colony System (ACS) Dalam VRPTW algoritma ACS dimodifikasi untuk dikembangkan agar sesuai dengan batasan-batasan permasalahan yang ada. Dalam permasalahannya setiap Artificial Ant (semut) melelui perjalanan dari depot mengunjungi customer. Setiap customer hanya dapat dikunjungi satu kali. Jika jumlah total muatan semut melebihi batasan kapasitas atau batasan time windows dari depot pusat dilanggar (tidak memenuhi) maka semut akan kembali ke depot. Halaman ini disebut rute kendaraan lengkap (a complete vehicle route). Pada ACS akan dilakukan proses iterasi (pengulangan dalam mencari jalur dan jarak perjalanan terpendek). Banyak iterasi yang digunakan sesuai dengan keinginan user. Dalam suatu iterasi masing-masing semut ditempatkan pada masing-masing kota secara acak, ketika semut melakukan perjalanannya. Semut akan melakukan suatu aturan State Transition untuk memilih kota mana yang akan dia tuju dan aturan Local Updating untuk dikunjunginya. Penggunaan aturan state taransition dan local updating ini dilakukan berulang-ulang sampai semua semut menyelesaikan perjalanannya. Kemudian akan dilakukan perhitungan panjang perjalanan terpendek. Setelah semua kota/customer dikunjungi oleh masing-masing semut maka diterapkan aturan Global Updating untuk mengurangi jumlah pheromone pada sisi terbaiknya. Secara umum Algoritma Ant Colony System (ACS) untuk VRPTW terdiri dari beberapa tahap yaitu: 1. Set parameter dan inisilisasi rute perjalanan. 2. Setiap sales membangun solusi atau rute perjalanan menggunakan State Transition Rule kemudian memproses Update Pheromone lokal. 3. Gunakan Local Search untuk optimasi yang dihasilkan oleh sales. 4. Melakukan Update Pheromone lokal.

3. Algoritma Sweep Algoritma sweep merupakan salah satu algoritma dua fase, yaitu fase pertama terdiri dari clustering pelanggan dengan menugaskan mereka pada kendaran yang ada, dan fase kedua adalah membangun rute-rute untuk masing-masing cluster. bahwa VRPTW adalah mengikuti teori Euclidean dan para pelanggan dilokasikan dengan koordinat polar ( i i r , ) dengan depot r1 = 0 dan suatu pelanggan i* yang berubah-ubah 8 pada 0 * = i . Urutkan pelanggan sehingga 2 K n . Phase 1

Langkah 1 : Pilih kendaraan k yang tidak digunakan Langkah 2 : Mulai dari pelanggan i yang bebas dengan sudut i terkecil termasuk pelanggan pelanggan yang berurutan i+1, i+2, ... dalam rute sampai pembatas kapasitas pada kendaraan k tercapai Langkah 3 : Jika semua pelanggan telah tersapu atau semua kendaraan telah terpakai, masuk ke fasa 2, kalau tidak kembali ke step 1r Phase 2 Langkah 4 : Selesaikan masalah Traveling Salesman Problem untuk setiap set pelanggan yang ditugaskan pada masing-masing kendaraan untuk membentuk rute-rute akhir.

4. Algoritma Genetik Algoritma Genetik merupakan algoritma pencarian yang berdasarkan pada mekanisme sistem natural yaitu genetik dan seleksi alam.Dalam aplikasi algoritma genetik variabel solusi dikodekan ke dalam struktur string yang mempresentasikan barisan gen yang merupakan karakteristik dari solusi problem.

5. Algoritma Saving Matriks Langkah-langkah yang dilakukan untuk menentukan konsumen yang harus dilayani oleh sebuh truk serta rute pengiriman yang harus ditempuh masing-masing truk adalah sebagai berikut : 1. Menentukan matriks jarak. Matriks jarak menyatakan jarak diantara tiap pasangan lokasi-lokasi yang akan dikunjungi. Jarak antara lokasi A yang terletak pada koordinat (Xa, Ya) dan lokasi B yang terletak pada koordinat (Xb, Yb) dicari dengan menggunakan rumus : Dist (A,B) 2. Menentukan matriks penghematan (saving matriks). Matriks penghematan menunjukkan penghematan yang terjadi jika menggabungkan 2 konsumen kedalam satu truk. Penghematan bisa dievaluasi berdasarkan jarak atau waktu atau uang. S (x,y) menyatakan jarak yang dihemat jika perjalanan DC- konsumen x - DC dan DC konsumen y - DC dikombinasikan ke sebuah rute perjalanan tunggal yaitu DC - konsumen x - konsumen y - DC. Rumus untuk mencari besarnya penghematan adalah : S(x,y) = Dist (DC,x) + Dist (DC,y) Dist (x,y)

3. Mengalokasikan konsumen-konsumen ke sebuah rute/kendaraan atau menugaskan konsumenpada sebuah rute. Pengalokasian konsumen ke sebuah rute/kendaraan harus bisa memaksimalkan penghematan. Pencarian solusi dilakukan dengan prosedur iteratif yaitu : a. Pada tahap 1 : tiap konsumen dialokasikan pada truk/rute yang berbeda-beda/terpisah. b. Pada tahap 2 : Dua rute selanjutnya dapat digabungkan pada satu rute/kendaraan dengan didasarkan pada penghematan yang paling tinggi yang bisa diperoleh. Selanjutnya dilakukan pengecekan apakah pengkombinasian tersebut layak atau tidak. Dikatakan layak jika total pengiriman yang harus dilalui melalui rute tersebut tidak melebihi kapasitas kendaraan. 4. Menentukan urutan konsumen/urutan pengiriman pada sebuah rute. Tujuan dari tahap ini adalah meminimalkan jarak perjalanan yang harus ditempuh tiap kendaraan. Untuk mendapatkan rute pengiriman yang optimal dilakukan dalam 2 tahap : (1) menentukan rute pengiriman awal untuk tiap kendaraan dengan menggunakan prosedur Farthest insert/Nearest insert/dll. (2) melakukan perbaikan dengan menggunakan prosedur. Ada beberapa prosedur pengurutan yang dapat digunakan untuk mendapatkan rute pengiriman awal yaitu : a. Farthest insert : memasukkan konsumen yang memberikan perjalanan paling jauh. b. Nearest insert : memasukkan konsumen yang memberikan perjalanan terpendek. c. Nearest Neighbour : rute perjalanan dibuat dengan menambahkan konsumen terdekat dari titik terakhir yang dikunjungi oleh kendaraan. Iterasi dimulai dari DC kemudian perjalanan dilakukan menuju ke konsumen yang paling dekat dengan DC, dan seterusnya.

6. Algoritma Nearest Insertion Heuristic Algoritma Nearest Insertion Heuristic merupakan metode untuk VRPTW yang berawal dari membentuk suatu rute dengan nilai saving yang paling besar. Langkah-langkah metode nearest insertion heuristic 1) Menghitung saving dg rumus sij=c0j+c0i-cij, untuk i=1,2,3......n-1 dan j=i+1,....,n, ij,ij,N. Untuk kasus ci0=0 atau tidak terhubung langsung atau c0j=0 atau cij=0 maka sij tidak dihitung. Mengurutkan saving dari sij terbesar ke terkecil.

2) Pilih sij yang terbesar. Bangun rute yang berawal dan berakhir di depot dari sij yang dipilih tersebut. Sehingga diperoleh rute [0,i,j,0]. Cek apakah rute tersebut memenuhi kapasitas dan kendala waktu. Jika iya maka i dan j terhubung sehingga menghasilkan rute. Jika tidak maka i dan j tidak terhubung. 3) Perluasan rute Pemilihan: cari customer h yang memiliki jarak paling dekat dengan customer yang berada pada rute yang dibentuk pada langkah 2. Cek pakah h melanggar kapasitas.jika tidak maka lakukan penyisipan. Jika ya maka h tidak disisipkan dan tidak diperoleh rute baru. 4) Penyisipan Cari sisi ij (i,j)dalam sij yang mempunyai nilai minimum. Sisipkan h diantara i dan j sehingga diperoleh rute baru yang memuat h yaitu (i,h) dan (h,j). Cek apakah h melanggar kendala waktu.jika tidak maka diperoleh rute baru yang memuat h, yaitu rute [0,i,j,h,0] . Jika ya maka penyisipan ditolak dan tidak diperoleh rute baru. Proses perluasan rute terus berlanjut sampai jumlah permintaan dalam satu rute tidak melebihi kapasitas kendaraan dan total waktu, baik waktu tempuh maupun waktu pelayanan, tidak melebihi batas waktu yang telah ditentukan. 5) Jika terdapat customer yang belum masuk dalam rute yang dibentuk dalam langkah 3, maka bentuk rute baru dengan mengulangi langkah 2 hingga seluruh customer dapat dilayani. Setelah semua customer dapat dilayani, proses berhenti. Untuk setiap customer yang terpilih pada rute sebelumnya tidak boleh dipilih lagi dalam pemilihan rute berikutnya.