Pengembangan Algoritma Heuristik Ant Colony System Untuk Menyelesaikan Permasalahan Dynamic Vehicle Routing Problem Dengan Time Window (DVRPTW) Pada Penyedia Jasa Inter-City Courier Nurlita Gamayanti (2207 202 001) Pembimbing : Prof. Ir. Abdullah Alkaff, M.Sc, P.Hd Dr. Ir. Ahmad Rusdiansyah, M.Eng
PENDAHULUAN
Latar Belakang Pentingnya penentuan rute dan penjadwalan pada Inter-City Courier untuk menghasilkan perjalanan yang efektif dan efisien. Adanya online request yang menyebabkan rute inisial menjadi tidak optimal, sehingga perlu dilakukan update terhadap rute inisial. Penyelesaian DVRP dengan algoritma ant colony system belum banyak dibahas, apalagi dengan model permasalahan inter-city courier seperti pada penelitian ini. Ketidaksesuaian penelitian R. Montemanni tentang penyelesaian Dynamic Vehicle Routing Problem (DVRP) dengan ant colony system jika diterapkan pada permasalahan DVRP pada penyedia jasa Inter-City Courier dengan time windows.
Rumusan Masalah Bagaimana mengembangkan algoritma heuristik untuk menentukan rute pengambilan paket yang meminimumkan total travel time untuk permasalahan Dynamic Vehicle Routing Problem dengan Time Windows pada penyedia jasa Inter-City Courier Bagaimana performansi dari algoritma yang dikembangkan
Tujuan Penelitian (1) 1. Mengembangkan model untuk permasalahan Dynamic Vehicle Routing Problem dengan Time Window (DVRPTW) pada penyedia jasa Inter-City Courier 2. Mengembangkan algoritma heuristik Ant Colony System yang dapat digunakan untuk menyelesaikan permasalahan DVRPTW pada penyedia jasa Inter-City Courier. 3. Membuat perangkat lunak untuk mengimplementasikan algoritma. 4. Melakukan uji eksperimen menggunakan data test yang diadopsi dari data test standar di literatur (Chen). 5. Menerapkan algoritma yang dihasilkan pada data jaringan jalan kota Surabaya.
Tujuan Penelitian (2) 6. Membandingkan algoritma yang dipakai dengan algoritma lain yang sudah ada yaitu Nearest Neighbor dan Nearest Neighbor + Node Insertion
Batasan Masalah 1. Permasalahan dibatasi hanya untuk penyedia jasa Inter-City Courier. 2. Pengiriman paket dibatasi sampai consolidation point saja, pengiriman lebih lanjut ke kota tujuan diabaikan 3. Sebatas pengembangan algoritma saja
Asumsi 1. Paket paket yang dikirimkan dianggap dapat diangkut pada satu kendaraan yang sama tanpa membedakan jenisnya. 2. Kapasitas kendaraan dianggap homogen 3. Jumlah kendaraan tidak terbatas 4. Travel time pada tiap arc diasumsikan sama setiap waktu (non timedependent)
TINJAUAN PUSTAKA
Studi Literatur (1) 1. Gambardella, Taillard, Agazzi, MACS-VRPTW : A Multiple Ant Colony System for Vehicle Routing Problem with Time Window, 1999 VRPTW, meminimumkan total travel time Kapasitas tiap kendaraan dibatasi dan homogen. Algoritma multiple ant colony system (MACS), koloni semut satu untuk meminimumkan jumlah kendaraan dan koloni semut dua untuk meminimumkan total travel time. MACS : Algoritma ACS standar (Dorigo dan Gambardella, 1997) dalam papernya Ant colony for the travelling salesman problem Kelemahan : tidak bisa mengatasi permasalahan dynamic problem
Studi Literatur (2) 2. Montemanni, Gambardella, Rizzoli, Donati, A new algorithm for a Dynamic Vehicle Routing Problem based on Ant Colony System, 2002 DVRP, meminimumkan total travel time Algoritma ACS standar (Dorigo dan Gambardella, 1997) DVRP dimodelkan sebagai sekuen Static Vehicle Routing Problem, tiap Static VRP akan dicari rute dengan travel time paling minimum dengan menggunakan algoritma ACS. Lamanya tiap hari kerja dibagi menjadi beberapa time slot, tiap time slot memuat satu Static VRP. Pada time slot ke-1, semua offline request akan diproses. Jika ada order yang belum dikerjakan, maka order tersebut dikerjakan pada time slot berikutnya bersama dengan order baru yang diterima pada permulaan time slot, dan begitu seterusnya.
Kelemahan : - tidak terdapat time window constraint pada masing-masing node konsumen. - Tidak bisa mengatasi penerimaan order baru yang service time-nya terletak dalam time slot armada yang sudah meninggalkan depo. Hal ini disebabkan karena himpunan order yang ditugaskan pada tiap armada tidak akan mengalami perubahan.
Studi Literatur (3) 3. Chen, Ting, An Improved Ant Colony System for the Vehicle Routing Problem, 2004 VRP, meminimumkan total travel Kapasitas tiap kendaraan terbatas dan homogen. Algoritma Improved Ant Colony System (IACS). IACS menggabungkan construction rule yang baru, pheromone update rule yang baru dan pendekatan local search seperti 2- opt atau node insertion move. Kesimpulan : IACS memiliki rata-rata hasil yang lebih bagus dibandingkan ACS standar (Dorigo dan Gambardella). Kelemahan : - Tidak terdapat time window constraint pada masingmasing node konsumen. - Tidak bisa mengatasi permasalahan dynamic problem
Studi Literatur (4) 4. S.Ichoua, M. Gendreau, J. Potvin, Diversion Issues in Real-Time Vehicle Dispatching, 2000 Dynamic vehicle routing problem dengan time window (DVRPTW), meminimumkan total travel time Kapasitas kendaraan tidak dibatasi Menggunakan konsep diversion strategy. Diversion strategy memungkinkan kendaraan mengalihkan /merubah rute dalam perjalanannya menuju node selanjutnya karena adanya order baru. Algoritma parallel tabu search Kelemahan : kapasitas kendaraan tidak dibatasi
Posisi Penelitian Terdahulu Posisi penelitian penelitian terdahulu untuk Permasalahan DVRPTW pada Inter-City Courier dapat dilihat pada tabel berikut
Inter-City Courier Pintu masuk tol 1 Kota 1 CP4 Armada 1 7 1 6 D 2 Pintu masuk tol 2 1,2,3 Kota 2 CP3 4,5 Armada 2 3 5 4 Pintu masuk tol 4 CP2 Pintu masuk tol 3 6,7 Kota 3 CP1
METODE PENELITIAN
Model Permasalahan Inter-City Courier Permasalahan Statis Offline Request Permasalahan Inter-City Courier Permasalahan dinamis Online Request
Deskripsi Permasalahan Statis Inter-City Courier (1) Notasi V N C 0 Q d i t ij k w j e i : Himpunan armada pengangkut : Himpunan node konsumen : Himpunan consolidasi point : Depo : Kapasitas maksimum tiap armada pengangkut : Jumlah paket (kg) yang harus diambil di node : travel time dari node i N ke node j N, tij termasuk service time pada node i : waiting time armada pengangkut k V di node j N : batas awal time window di node i N
Deskripsi Permasalahan Statis Inter-City Courier (2) l i g c h c k mc k b j : batas akhir time window di node : batas awal time window di consolidation point : batas akhir time window di consolidation point : waktu dimana armada pengangkut k V sampai di consolidation point c C : waktu dimana armada pengangkut k V memulai service di node j N k x ij = 1 : jika armada pengangkut k V mengunjungi node segera setelah node i N, i j = 0 : lainnya j N
Formulasi Permasalahan Statis Inter-City Courier (1) 1. Fungsi Obyektif meminimumkan total travel time dan waiting time setiap armada pengangkut pada setiap node. k V i N j N t ij x k ij + w k j 2. Flow Constraint - Setiap node konsumen hanya dikunjungi tepat satu kali oleh satu armada pengangkut saja k x = 1 j N \{ 0} k V k V i N j N x ij k ij = 1 i N \ {} 0
Formulasi Permasalahan Statis Inter-City Courier (2) - Setiap armada pengangkut harus meninggalkan node konsumen yang baru saja dikunjungi i N x k ih j N x k hj = 0 h N \ { 0}, k V - Setiap armada pengangkut harus berangkat dari depo x {} i N\ 0 k i0 = 1 k V - Setiap armada pengangkut harus berakhir di consolidasi point yang sama x {,c} i N\ 0 k ic = 1 k V
Formulasi Permasalahan Statis Inter-City Courier (3) 3. Capacity Constraint Total permintaan pada setiap armada pengangkut tidak boleh melebihi kapasitas maksimumnya di x i N j N k ij Q k V 4. Time Window Constraint - Armada pengangkut k V tidak akan sampai di node k sebelum b + t, jika ia melintas dari node i N ke node x k ij i ij k k ( b + t ) b i N, j N, k V i ij j k { e,b t } b = max + k j j i ij j N j N
Formulasi Permasalahan Statis Inter-City Courier (4) - Waktu untuk memulai service di tiap node konsumen bagi setiap armada pengangkut harus berada di dalam interval time window tiap node e i b k i l i i N, k V - Setiap armada pengangkut harus sampai di consolidation point dalam interval time window consolidation point g c m k c h c c C, k V
Deskripsi Permasalahan Dinamis Inter-City Courier Initial Route New Orders / Online Requests Update Route 9 CP3 9 CP3 9 CP3 8 CP4 8 CP4 8 CP4 7 6 5 CP2 7 6 5 CP2 7 6 5 CP2 6 6 8 6 8 5 1 5 1 9 5 1 9 4 3 7 2 4 4 3 7 2 4 4 3 7 2 4 2 3 2 3 2 3 1 CP1 1 CP1 1 CP1 D 0 1 2 3 4 5 6 7 8 9 D 0 1 2 3 4 5 6 7 8 9 position reroute D 0 1 2 3 4 5 6 7 8 9 Dispatch center/ control room
Pemodelan Jaringan Jalan (1)
Pemodelan Jaringan Jalan (2) 6 5 4 3
Pemodelan Jaringan Jalan (3) C D 6 4 3 6 5 4 A 4 6 B E 3 F
Pemodelan Jaringan Jalan (4) C 3 E 4 3 A 4 B 6 F 6 D
Tahapan Penyelesaian Masalah Input Offline Request Penyelesaian Permasalahan Statis Inter-City Courier (VRPTW) Input Online Request Penyelesaian Permasalahan Dinamis Inter-City Courier (VRPTW)
Penyelesaian Permasalahan Statis Input konsumen (Offline request) Database Jalan Pencarian travel time tercepat menggunakan Djikstra Pencarian rute tercepat menggunakan IACS Database travel time antar node Penyusunan rute dan urutan jalan
Ant Colony System (1) Dasar perumusan : kemampuan dari sekumpulan semut (colony) yang dapat menemukan jalur terpendek dari sumber makanan ke sarangnya. Seekor semut akan meninggalkan jejak pheromone ketika dia melalui suatu lintasan. Dengan bantuan pheromone ini juga sekumpulan semut dapat beradaptasi terhadap perubahan dalam jalur yang telah mereka lalui.
Ant Colony System (2) Prosedur 1. Menentukan parameter dan inisialisasi jumlah pheromone pada setiap arc. 2. Setiap semut akan membangun solusi (rute) berdasarkan state trantition rule dan meng-update jumlah pheromone pada setiap arc yang dilaluinya berdasarkan local pheromone update. 3. Melakukan local search pada setiap solusi. 4. Meng-update jumlah pheromone berdasarkan global pheromone update pada arc yang membentuk solusi terbaik.
IACS (1) IACS Ant Colony System (Dorigo, Gambardella) yang mengalami perbaikan pada : route construction rule pheromone update rule
IACS (2) IACS dan ACS ACS Route Construction Rule : - Dalam 1 iterasi, terdapat b solusi (b=juml.semut) - Dalam 1 iterasi, local search dikenakan pada setiap solusi - Parameter η ij fungsi dari travel time tiap arc Global Pheromone Update Rule - Sesuai dengan pers (2.30) - Global pheromone update dikenakan pada arc2 pembentuk solusi terbaik iterasi sekarang IACS Route Construction Rule : - Dalam 1 iterasi, terdapat b-1 solusi - Dalam 1 iterasi, local search dikenakan pada solusi terbaik saja - Memasukkan unsur waiting time pada parameter η ij Global Pheromone Update Rule - Sesuai dengan pers (3.16)-(3.17) - Global pheromone update dikenakan pada arc2 pembentuk solusi terbaik iterasi sekarang dan sebelumnya
Prosedur IACS (1) Langkah 1 : Menentukan parameter IACS dan inisialisasi jumlah pheromone Start time = 00.00 Langkah 2 : Membangkitkan InitialSolution menggunakan Nearest Neighbor. Langkah 3 : Menerapkan insertion heuristics pada InitialSolution dan disimpan sebagai 1 st Solution. Iterasi = 1, Ant = 2, consolidation point = 1
Prosedur IACS (2) Langkah 4 : Bentuk solusi berdasarkan state transition rule dan lakukan local pheromone update pada setiap arc yang dilalui. Ant = Ant + 1 Langkah 5 : Jika Ant > JumlahMaxAnt maka Ant = 2 dan lakukan langkah 6. Jika Ant <= JumlahMaxAnt maka lakukan langkah 4 Langkah 6 : Urutkan solusi ke-2 s/d solusi ke-jumlahmaxant, lakukan Insertion Heuristics pada solusi yang terbaik dan simpan sebagai 2 nd Solution
Prosedur IACS (3) Langkah 7 : Lakukan Global Pheromone Update pada arc-arc yang membentuk 1 st Solution dan 2 nd Solution Langkah 8: Bandingkan 1 st Solution dan 2 nd Solution, simpan solusi yang terbaik sebagai TheBestSolution. Pada iterasi berikutnya, 1stSolution = TheBestSolution. Iterasi = Iterasi + 1 (Jika Iterasi > MaxIterasi) maka ke langkah 9 (Jika Iterasi <= MaxIterasi) maka kembali ke langkah 4
Prosedur IACS (4) Langkah 9 : consolidation point = consolidation point + 1 Jika (consolidation point > jumlah consolidation point) maka ke langkah 10 Jika (consolidation point <= jumlah consolidation point) kembali ke langkah 4, Iterasi = 1 Langkah 10 : Menentukan start time pada TheBestSolution untuk meminimumkan total travel time. Pada tiap tour, Start time = batas awal time window node konsumen kesatu - t 01 t 01 adalah travel time dari depo menuju node konsumen kesatu Langkah 11 : Stop
Inisialisasi Pheromone Inisialisasi jumlah pheromone pada setiap arc adalah : τ 0 = ( N x L ) 1 NN
State Transition Rule Setiap semut yang berada di node i akan memilih node j atau arc (i,j) berdasarkan state transition rule berikut : Jika q q 0 (Eksploitasi) j : Jika q > q 0 (Eksplorasi) - Hitung, ( τ ) α ( η ) { β } = arg max ij ij j S'( i ) P ij = α β ( τij ) ( ηij ) α ( τcj ) ( ηcj ) j S'( i ) - Hitung Fij - Jika ( q > ) dan ( q < F ib ) maka : j = b F ia β
η ij Menentukan besarnya : - Jika (syarat kapasitas) dan (syarat time windows) terpenuhi maka : η ij = t + w ij 1 k j - Jika (syarat kapasitas) dan (syarat time windows) tidak terpenuhi maka : = 0 η ij
Global Pheromone Update Setelah semua semut telah membentuk solusinya masing-masing, maka arc arc yang membentuk 1st Solution dan 2nd Solution pada setiap iterasi akan berubah jumlah pheromonenya berdasarkan Global Pheromone Update : new ij τ = 1 Δτ ij = old ( γ) τij + γ Δτij ( A B) + ( A C) A A = cost (total travel time) terbaik ke-3 pada tiap iterasi B = cost (total travel time) terbaik secara keseluruhan C = cost (total travel time) terbaik pada tiap iterasi
Local Pheromone Update Setiap kali melewati arc(i,j), semut semut akan meng-update jumlah pheromone pada arc(i,j) berdasarkan Local Pheromone Update berikut : τ new ij = τ old ij + ( 1 ρ) τ 0
Penyelesaian Permasalahan Dinamis (1) Diagram Alir Online request,request time Rute inisial, Posisi kendaraan saat ini, Himpunan konsumen yang sudah dikunjungi Meentukan himpunan node yang belum dikujungi berdasarkan request time Database jalan Pencarian travel time tercepat antara online request dengan semua node yang belum dikunjungi Identifikasi service time online request Menyisipkan node online request pada rute inisial Pencarian rute tercepat menggunakan insertion heuristics Penyusunan rute dan urutan jalan Database travel time antar online request dan semua node konsumen (Offline Request)
Penyelesaian Permasalahan Dinamis (2) Prosedur : Langkah 1 : Mengidentifikasi posisi setiap armada pengangkut saat ini. Ada 3 kemungkinan : - armada pengangkut tepat berada di node konsumen. - armada pengangkut berada diantara dua node konsumen. - armada pengangkut sedang menunggu karena waktu kedatangannya di node konsumen tertentu sebelum batas awal time window node yang bersangkutan. Langkah 2 : Menentukan himpunan node yang belum dikunjungi berdasarkan request time
Penyelesaian Permasalahan Dinamis (3)( Langkah 3 : Menghitung travel time terpendek antara node online request dengan semua node yang terdapat pada rute inisial dengan menggunakan algoritma Djikstra. Langkah 4 : Mengidentifikasi service time dari online request. Menyisipkan online request pada rute inisial dengan mempertimbangkan time window constraint dan capacity constraint. Jika time window constraint dan atau capacity constraint tidak terpenuhi, maka dibentuk tour baru.
Penyelesaian Permasalahan Dinamis (4)( Langkah 5 : Menerapkan node insertion heuristics untuk mendapatkan rute baru dengan total travel time minimum secara keseluruhan.
HASIL PENELITIAN & PEMBAHASAN
Perangkat Lunak (1) Memasukkan data konsumen (halaman Order)
Perangkat Lunak (2) Parameter IACS (halaman Parameter)
Perangkat Lunak (3) Optimasi (halaman Optimation)
Perangkat Lunak (4) New Order
Menentukan Jumlah Sample Dari data rute pelayanan konsumen didapatkan total travel time rata rata hasl nearest neighbor sebesar 28633,2 detik dan varians populasi sebesar 6150,48 detik. (tingkat ketelitian taksiran µ sebesar 5% dari total travel time rata-rata dengan selang kepercayaan 90% ) 2 2 Z α. σ 196 6150 48 2,, n = = = 17, 27 e 01, 28633, 2
Pengujian Algoritma (1) Perbandingan total travel time IACS, NN, dan NN + NI pada fase statis (Data standar Chen) 60000 Total travel time 50000 40000 30000 20000 10000 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 IACS NN NN + NI Penghematan thd NN = 25,57% Penghematan thd NN+NI = 20,11% Data
Pengujian Algoritma (2) Perbandingan jumlah armada hasil IACS, NN, dan NN+NI pada fase statis (Data standar Chen) 12 10 Jumlah Armada 8 6 4 2 IACS NN NN+N! 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Data
Pengujian Algoritma (3) Perbandingan total travel time IACS, NN, dan NN + NI pada fase dinamis (Data standar Chen) Total travel time 90000 80000 70000 60000 50000 40000 30000 20000 10000 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Data IACS NN NN + NI Penghematan thd NN = 20,47% Penghematan thd NN+NI = 16,49%
Pengujian Algoritma (4) Perbandingan jumlah armada hasil IACS, NN, dan NN+NI pada fase dinamis (Data standar Chen) 12 10 Jumlah Armada 8 6 4 2 IACS NN NN+NI 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Data
Implementasi Algoritma (1) Perbandingan total travel time hasil IACS, NN, dannn+ni pada fase statis pada jaringan jalan kota Surabaya Total Travel Time (detik) Optimasi IACS (%) No Jumlah Offline Request IACS NN NN + Node Insertion NN NN + Node Insertion 1 12 16237 20436 19502 25,86 20,11 2 15 14692 17426 17255 18,61 17,45 Rata - rata 22,23 18,78
Implementasi Algoritma (2) Perbandingan total travel time hasil IACS, NN, dan NN+NI pada fased inamis pada jaringan jalan kota Surabaya No Jum. Off. Req Jum. On. Req IACS Total Travel Time (detik) NN NN + Node Insertion NN Optimasi IACS (%) NN + Node Insertion 1 12 2 20260 29095 27804 43,61 37,24 2 15 2 17424 19808 19449 13,68 11,62 Rata - rata 28,65 24,43
Kesimpulan Pencarian travel time tercepat dalam jaringan jalan dapat dimodelkan dalam permasalahan lintasan tercepat, dan dengan pemodelan yang tepat dapat diselesaikan dengan menggunakan algoritma Dijkstra. Perencanaan pengangkutan paket konsumen pada penyedia jasa inter-city courier menuju ke consolidation point dapat dimodelkan dalam permasalahan Dynamic Vehicle Routing Problem with Time Windows. Berdasarkan hasil pengujian algoritma dengan data standar Chen, algoritma yang digunakan memiliki performansi yang baik dalam menyelesaikan permasalahan DVRPTW pada inter-city courier baik pada fase statis maupun pada fase dinamis.. Algoritma yang digunakan dapat diimplementasikan dengan baik pada jaringan jalan kota Surabaya.
Saran Perlu dikembangkan metode yang berbeda untuk menyelesaikan permasalahan DVRPTW pada inter-city courier sebagai pembanding dan sekaligus melengkapi kelemahan masing masing. Dikembangkan untuk mencari total travel time tercepat dengan memperhitungkan parameter dinamis lainnya selain order baru (online request), misalnya kemacetan lalu lintas dsb. Dikembangkan untuk mencari total travel time tercepat dengan travel time antar node yang bergantung pada waktu (time dependent)
TERIMA KASIH...