Date post: | 25-Mar-2023 |
Category: |
Documents |
Upload: | independent |
View: | 0 times |
Download: | 0 times |
PENGEMBANGAN ALGORITMA HEURISTIK UNTUK PENYELESAIAN DYNAMIC PICK UP AND DELIVERY PROBLEM WITH TIME WINDOWS (DPDPTW) UNTUK PENYEDIA
JASA CITY - COURIER
Fitri Karunia Rani1, Ahmad Rusdiansyah2
1) Statistical and Managerial Decision Laboratory 2) Logistics and Supply Chain Management Laboratory
Jurusan Teknik Industri Institut Teknologi Sepuluh Nopember (ITS) Surabaya
Kampus ITS Sukolilo Surabaya 60111 Email: [email protected] ; [email protected]
Abstrak
Pada dasarnya pada perusahaan penyedia layanan jasa courier dalam kota, customer meminta pelayanan jemput (pick up) dan antar (delivery). Lebih lagi biasanya customer memiliki batasan waktu tertentu pada lokasi delivery. Ini berarti paket yang dikirimkan harus sampai pada time windows tertentu. Setelah requests terkumpul, selanjutnya penentuan dan penjadwalan rute kendaraan ditentukan. Permasalahan seperti ini dikenal dengan sebutan Pickup and Delivery Problem with Time Windows (PDPTW). Tujuan dari permasalahan ini adalah meminimasi total cost yang terdiri dari travel time dan keterlambatan di lokasi delivery dengan tetap memperhatikan critical constraints seperti Precedence, Node-Pairing dan Time Windows constraints. Saat ini penyedia jasa City-Courier telah dilengkapi dengan teknologi IT yang canggih seperti GIS dan GPS untuk menangani permintaan baru yang muncul secara dinamis. Sehingga kendaraan tidak hanya dapat melayani request yang diketahui sebelumnya namun juga dapat merespon request berdasarkan real time information. Karenanya permasalahan ini dikenal sebagai Dynamic Pickup and Delivery Problem with Time Windows (DPDPTW). Permasalahan ini menjadi semakin sulit dibanding PDPTW yang dikenal sebagai NP-Hard Problem. Dalam penelitian ini dikembangkan dua tahap algoritma yaitu Tabu search dan Insertion Heuristic untuk menyelesaikan DPDPTW dan teknik untuk mengumpulkan new requests. Selanjutnya pada algoritma yang dikembangkan ini dilakukan percobaan numerik untuk mengetahui keefektifannya.
Kata kunci : City Courier, Dynamic Pickup and Delivery Problem with Time Windows, Heuristics, Pairing and Precedence Constraints, Tabu Search, Time Slot
ABSTRACT Basically, in the business of a city courier service provider, a customer requests to pickup letters (or packages) from a pickup place and deliver them to a delivery node. Moreover, customers usually also determine time windows for delivery node. This means that the letters must be arrived in desired time windows. After collecting all requests, the vehicle dispatcher will determine vehicle routes and schedules. In the literature such a problem is known as Pickup and Delivery Problem with Time Windows (PDPTW). The objective is to minimize total cost which consist of travel time and vehicle lateness while satisfying some critical constraints such as Precedence, Node-Pairing as well as Time Windows constraints, Nowadays, city courier service providers have been equipped with sophisticated IT based devices such as Geographical Information Systems, Global Position System device, can handle request from customers dynamically. Thus, the vehicle dispatcher not only handle requests before dispatching the vehicle, but can also respond real time requests and may reassign the vehicles that have been already dispatched. The problem is considered Dynamic Pickup and Delivery Problem with Time Windows (DPDPTW). This problem becomes much more difficult due to PDPTW have been known as a NP Hard problem. We develop two phase Tabu Search algorithm combined with insertion heuristics to solve the DPDPTW. We also develop some techniques in collecting and processing later requests. We finally conduct numerical experiments to verify the effectiveness of the algorithms. Keywords: City Courier, Dynamic Pickup and Delivery Problem with Time Windows, Heuristics, Pairing and Precedence Constraints, Tabu Search, Time Slot
Copyright by Fitri Karunia Rani 2008
DO NOT C
OPY
1. Pendahuluan Saat ini isu yang berkembang pada penyedia jasa City-Courier adalah isu dinamis. Isu dinamis disini memiliki arti bahwa request mengenai pick-up dan delivery dengan time window tertentu tidak hanya dapat terjadi sebelum kendaraan berjalan (offline) namun juga dapat terjadi setelah kendaraan sudah memulai rutenya (on line). Akibat adanya permintaan yang sifatnya dinamis tersebut maka penjadwalan rute pada kendaraan akan menjadi dinamis pula. Artinya penjadwalan rute bisa saja berubah akibat adanya permintaan baru. Sejalan dengan adanya perkembangan di berbagai bidang teknologi. Saat ini teknologi mengenai data collector untuk masalah dinamis seperti yang telah disebutkan sebelumnya, telah dikembangkan dengan pesat. Misalnya saja GPS dan GIS. GPS dapat menunjukkan setiap posisi dimana suatu kendaraan yang ditugaskan berada dan juga posisi dari delivery dan juga pick-up yang dilakukan. Sehingga kondisi mengenai aktivitas urban seperti kemacetan dapat diperkirakan melalui kecepatan kendaraan pada waktu tertentu. Sedangkan GIS dapat menunjukkan posisi dari request baru. Dengan memanfaatkan informasi dari GPS dan GIS ini maka rute kendaraanpun dapat dilakukan setiap kali request baru terjadi. Dalam penelitian ini mencoba mengembangakan algoritma heuristik untuk penyelesaian permasalahan dinamis pada City-Courier seperti penjelasan diatas. Dari penelitian ini diharapkan didapatkan algoritma heuristik yang dapat melakukan penugasan kendaraan terhadap request baru dan meminimasi total cost yang terdiri dari travel time dan keterlambatan di lokasi delivery. Sebagai informasi tambahan, penelitain ini merupakan bagian dari penelitian besar PREDICT yakni penelitian mengenai Dynamic Vehicle Routing Problem In Surabaya City dengan memanfaatkan informasi realtime yang didapat dari GPS.
2. Permasalahan 2.1 City-Courier Aktivitas transportasi yang menjadi pokok pembahasan dalam penelitian ini adalah City-Courier. City-courier merupakan penyedia jasa layanan pengantar baik parsel ataupun
dokumen-dokumen. Wilayah operasi dari city-courier ini hanyalah sebatas kota itu sendiri. Tipe layanan dari City-Courier ada bermacam – macam, namun umumnya tipe layanan dari city-courier dibedakan menjadi 2 yaitu : 1. Delivery Only /Pick Up Only Service
Dalam hal ini customer hanya menginginkan layanan pengantaran (delivery) saja tanpa penjemputan (pick up) atau sebaliknya.
2. Pick Up dan Delivery Service Dalam hal ini customer menginginkan layanan baik penjemputan maupun pengantaran.
Gambar 2. 1 Tipe Layanan City-Courier
Perlu diketahui bahwa yang menjadi fokus pada penelitian ini adalah tipe layanan Pick Up and Delivery. 2.2 Deskripsi Permasalahan Statis Untuk satu hari kerja penyedia jasa City-Courier memiliki transportation request yang hendak dilayani. Setiap transportation request terdiri dari informasi mengenai origin dan destination point yang dikehendaki oleh customer, beban yang diangkut dan waktu service pada kedua lokasi tersebut. Koordinat dari origin dan destination point disini digunakan untuk menentukan jarak dan travel time antara dua lokasi. Khusus untuk destination point (delivery location), destination point memiliki time windows tertentu dimana kendaraan bisa melakukan service. Jika kendaraan datang sebelum early time windows-nya maka kendaraan diharuskan menunggu. Sedangkan jika kendaraan datang melebihi latest time windows-nya, requests dapat dilayani namun terdapat penalti untuk pelanggaran time windows. Untuk kendaraan sendiri, kendaraan yang digunakan adalah kendaraan bermotor yang memiliki kapasitas maksimum tertentu
2
Copyright by Fitri Karunia Rani 2008
DO NOT C
OPY
untuk mengangkut beban. Kendaraan juga memiliki waktu maksimum untuk melayani requests dalam rutenya sehingga harus kembali ke depot pada waktu yang telah ditentukan. Dari penjelasan paragraf diatas maka permasalahan tersebut dapat dinotasikan sebagai berikut : P+ : Himpunan lokasi Pick Up P- : Himpunan lokasi Delivery P : Himpunan lokasi pemberhentian
dimana P = P+ P∪ -
0 : Lokasi depot Po : Po = P {0} ∪Ck : Kapasitas maksimmum kendaraan Ci : Kapasitas yang akan diangkut di
lokasi i ∈ P+
C ki
: Kapasitas kumulatif kendaraan k
ei : Early Time Windows pada i∈ P-
li : Latest Time Windows pada i∈ P-
eo : Depot Early start time lo : Depot Latest end time si : Service Time pada i∈ P M : Himpunan kendaraan k : Indeks kendaraan dimana k ∈ M n : Jumlah requests
n+i : Notasi pasangan lokasi delivery dari lokasi pick up pada request i
Ai : Arrival time pada lokasi i∈ P STW : Pelanggaran terhadap time windows Tk : Total Travel Time dari k∈ M To : Maximum route pada depot Ti : Total Travel Time kumulatif hingga i
P ∈Di : Departure Time pada lokasi i∈ P
kjiX , : merupakan bilangan binari 0 dan 1. 1
menunjukkan adanya aliran dari node i ke j oleh kendaraan k dan 0 sebaliknya
Setelah dijelaskan mengenai notasi model permasalahan, maka selanjutnya dilakukan formulasi model permasalahan tersebut dalam bentuk model matematis.
Sesuai yang dikemukakan oleh (Gendreau, Guertin, Potvin, 2006) bahwa biasanya fungsi objektif cost merupakan trade off antara Operational Cost dan Customer Satisfaction. Pada penelitian ini fungsi Operational Cost merupakan total travel time dari setiap rute yang ada dan customer satisfaction adalah total pelanggaran yang dilakukan terhadap latest time windows. Adapun total pelanggaran terhadap time windows (STW) dapat dihitung sebagai berikut :
},0max{ iPi
iTW lAS −= ∑−∈
Sehingga dari penjelasan diatas maka fungsi objektif dapat disusun sebagai berikut :
∑ ∑∈ ∈
−+Mk Pi
i-
)Amax{0,Tk ilMin
Setelah fungsi objektif cost di formulasikan, selanjutnya dilakukan formulasi terhadap constraint-constraint berdasarkan problem statement yang telah dikemukakan sebelumnya. Pada umumnya constraint-constraint yang digunakan pada penelitian ini mengacu pada model (mitrovic-minic, 1998). Namun disini terdapat sedikit penggabungan dengan model yang dikembangkan oleh (Nanry, Barnes, 2000) pada bagian Time Windows Constraint. Didalam penelitian ini juga ditambahkan satu constraint lagi yakni maximum route constraint. Adapun constraint-constraint tersebut adalah sebagai berikut : a. Time Windows Constraint
Model dari (Nanry, Barnes 2000) pada time windows constraint dipilih karena permasalahan yang diamati menggunakan time windows yang memiliki karakteristik hard time windows (kendaraan harus menunggu) pada early time windows dan soft time windows pada latest time windows. Didalam constraint ini juga terdapat tambahan service time untuk persamaan (2). Adapun constraint-nya sebagai berikut :
Aj = Di + tij i Po, j ∈ P
∈-
(1)
Dj = Max (Aj ,ej) + sj i ∈ P, j ∈ P- (2)
3
Copyright by Fitri Karunia Rani 2008
DO NOT C
OPY
Aj l≤ j j ∈ P- (3)
b. Multicomodity Constraint ∑∑∈∈
=Poj
kji
Mk
X 1, +∈ Pi (4)
0,, =− ∑∑∈∈ Poj
kij
Mk
kji XX MkPi ∈∈ ,
(5)
∑+∈
=Pj
kjX 1,0
Mk ∈ (6)
∑−∈
=Pi
kiX 1 0, Mk ∈ (7)
c. Route and Schedule Comptability kj
kji
ki
kji TtTX ≤+⇒= ,, 1
MkPji ∈∈ ,,
(8)
kj
kj
kkj TtTX ≤+⇒= ,00,0 1
MkPj ∈∈ + ,
(9)
kj
ki
ki
ki TtTX ≤+⇒= 0,0, 1
MkPj ∈∈ − ,
(10)
kj
kji
ki
kji TtTX ≤+⇒= ,, 1
MkPji ∈∈ ,,
(11)
d. Pairing Constraint 0,, =− ∑∑
∈+
∈ Poj
kinj
Poj
kji XX
MkPi ∈∈ + , (12)
e. Precedence Constraint k
inkk
i TtTini +≤+
+,
MkPi ∈∈ + , (13)
f. Route and Capacity Comptability kjj
ki
kji CCCX =+⇒=1,
MkPjPi ∈∈∈ + ,, (14)
kj
knj
ki
kji CCCX =−⇒= −1,
MkPjPi ∈∈∈ − ,, (15)
kjj
kkj CCCX ≤+⇒= 0,0 1
MkPj ∈∈ + , (16)
e. Capacity Constraint kk
ii CCC ≤≤
+∈ Pi , (17) Mk ∈
00 =kC Mk ∈ (18)
f.. Maximum Route Penambahan constraint ini dikarenakan pada permasalahan terdapat batasan bagi kendaraan untuk kembali ke depot pada selang waktu tertentu. Sehingga constraint ini di formulasikan sebagai berikut :
00 lTe k ≤≤ Mk ∈ (19)
2.3 Permasalahan Dinamis Dalam penjelasan permasalahan statis mengenai permasalahan penentuan rute kendaraan atau yang dikenal dengan sebutan Pick up and Delivery Problem with Time Window (PDPTW) memiliki asumsi bahwa penentuan rute bisa dilakukan apabila semua request yang terjadi telah diketahui sebelumnya. Padahal dalam kenyataannya tidak semua request terjadi hanya pada saat rute kendaraan belum dimulai, namun request bisa terjadi pada saat kendaraan sudah memulai rutenya. Hal ini lah yang disebut kedinamisan dalam PDPTW atau disebut sebagai Dynamic PDPTW. Pada intinya dalam kasus DPDPTW yakni ketika penjadwalan dan penentuan rute kendaraan bersifat dinamis dan berdasarkan pada real time information maka ketika ada informasi baru, penentuan rute yang baru harus dilakukan. Tipe-tipe dari real time data information adalah sebagai berikut: − Performansi pada sistem : Travel Time
dimana dipengaruhi oleh kemacetan, kecelakaan dan lain-lain, Service times, dan Waiting time.
− Permintaan customer : Lokasi, Time Window, Load Size, dan Prioritas Customer
− Kendaraan : Lokasi dan Load Status 3. Pengembangan Algoritma 3.1 Tahapan Pengembangan Algoritma Dalam pengembangan Algoritma ini dibedakan menjadi dua tahap berdasarkan jenis request yang ada yaitu : 1. Offline Request
Offline Request ini merupakan permintaan terhadap transportasi dimana request-request ini diketahui sebelum kendaraan memulai rutenya.
2. Online Request Online Request ini merupakan permintaan terhadap transportasi dimana request-request ini terjadi selama kendaraan sudah berada pada rutenya.
Berdasarkan definisi kategori request, maka request-request tersebut dapat dipandang sebagai permasalahan yang berbeda. Karena request dari offline request diketahui sebelumnya maka Offline request ini dikategorikan sebagai permasalahan Statis yaitu
4
Copyright by Fitri Karunia Rani 2008
DO NOT C
OPY
PDPTW. Sedangkan Online Request dikategorikan sebagai permasalahan Dinamis (DPDPTW). Dengan memandang permasalahan dinamis sebagai permasalahan statis yang terjadi secara sekuensial (Pankratz, 2005) maka tahapan algoritma yang digunakan dalam penelitian ini dapat dilihat pada bagan gambar 3.1
Gambar 3. 1 Tahapan Pengembangan Algoritma
Dari bagan tersebut dapat dilihat bahwa tahapan pengembangan dimulai dari permasalahan statis dimana penyelesaian yang digunakan menggunakan teknik insertion heuristic untuk Tour Construction kemudian dilakukan improvement dengan menggunakan Tabu Search. Sedangkan pada tahap dinamis, jika terdapat request baru maka dilakukan update terhadap rute. 3.2 Algoritma Permasalahan Statis 3.2.1 Tahap Initial Solution Pada tahap initial solution ini digunakan insertion heuristic untuk Tour Construction. Adapun prosedur insertion dilakukan dengan cara meng-insertkan lokasi pick up terlebih dahulu hingga didapatkan lokasi yang feasible dan costnya minimum. Adapun syarat bahwa insertion lokasi pick up dikatakan feasible yakni memenuhi : • Capacity Constraint • Maximum Route
Tahap selanjutnya kemudian menginsertkan lokasi delivery hingga didapatkan lokasi yang feasible dan costnya minimum. Adapun syarat bahwa insertion lokasi delivery dikatakan feasible yakni memenuhi :
• Precedence Constraint. Dimana lokasi delivery hanya dapat ditempatkan pada lokasi setelah node Pick up –nya.
• Time windows constraint • Maximum Route Dari prosedur tersebut dapat dibangun flowchart algoritma pada gambar 3.2
Start
SelectMin Cost
Set Route k = 1Max Cap = C
Max Route = ToCk = 0
Insert i Route ki∈P-
Insert i Route ki∈P+
Is There Feasible
Insertion?
GenerateFeasible insertion For
Delivery
Ck = Ck - CiP= P - {i}
Yes
No
Yes
No
i PSelect Request i
P 0≠ Setk = k+1Ck = 0
End
Generate Fesible Insertion
for Pick Up
SelectMin Cost
Is ThereFeasible
Insertion?
Yes
No
Eject Request ifrom route k
Gambar 3.2 Flowchart Algoritma Insertion Heuristik
3.2.2 Tahap Improvement Pada tahap improvement ini digunakan metode meta-heuristic Tabu Search. Adapun Hal-hal yang perlu untuk diperhatikan dalam membangun Algoritma Tabu Search ini adalah sebagai berikut : 1. Solution space
Solusi S merupakan seluruh himpunan solusi yang akan dievaluasi. Dalam penelitian ini evaluasi dilakukan berdasarkan total biaya Cost (S) yang merupakan penjumlahan dari travel time dan pelanggaran terhadap time windows
2. Membangun Struktur Neighborhood Dalam penelitian ini digunakan struktur neighborhood yang dikenalkan oleh Osman (Laporte,Cordeau, 2002) dengan λ -interchange. Dalam struktur neighborhood ini pertukaran/swapping node antar dua rute hanya diijinkan sampai sebanyak λ . Dalam penelitian ini λ yang digunakan bernilai satu. Artinya dalam membangun
5
Copyright by Fitri Karunia Rani 2008
DO NOT C
OPY
suatu struktur neighborhood, maka pertukaran request yang terjadi antara rute hanya diijinkan sebanyak 1 request saja. Adapun langkah-langkah dari pembentukan struktur neighborhood adalah sebagai berikut : Stage 0 Identifikasi semua rute yang ada Stage 1 Memilih dua rute dari K rute
yang ada Stage 2 Pilih satu request yang ada dari
masing-masing node Stage 3 Lakukan pertukaran dari
keduanya Stage 4 Evaluasi hasil pertukaran. Bila
feasible pertukaran tersebut layak menjadi neighbor bila tidak maka pertukaran tersebut tidak layak menjadi neighbor
Stage 5 Lakukan pertukaran untuk setiap request pada rute k dengan semua request dari rute-rute lainnya.
Adapun ilustrasinya dapat dilihat pada rangkaian stage dibawah ini Stage 0 Pada stage 0 ini, initial solution terdiri atas tiga rute dimana masing-masing memiliki request tertentu. Ilustrasinya dapat dilihat pada gambar 3.3
D P1 D1 P3 P5 D3 D5 D
D P2 P8 D8 D2 D
D P7 P4 P6 D7 D4 D6 D
Rute 1
Rute 2
Rute 3
Keterangan :
D
Pi
Di
Depot
Pick Up LocationRequest i
Delivery LocationRequest i
Gambar 3.3 Contoh Rute Awal
Stage 1 Pada stage ini dilakukan pemilihan rute. Dari gambar 3.3 misalnya dipilih rute 1 dan rute 2 terlebih dahulu untuk dilakukan pertukaran.
Stage 2 Selanjutnya dipilih dua request dalam hal ini request 1 pada rute 1 dan request 2 pada rute 2. Yang perlu diingat adalah pemilihan suatu request artinya adalah pemilihan pick up dan delivery dari request tersebut. Untuk lebih jelasnya dapat dilihat pada gambar 3.4
D P1 D1 P3 P5 D3 D5 D
D P2 P8 D8 D2 D
D P7 P4 P6 D7 D4 D6 D
Rute 1
Rute 2
Rute 3
Gambar 3.4 Pemilihan Request dari masing-masing rute
Stage 3 Kemudian lakukan pertukaran request 1 dari rute 1 dengan request 2 pada rute 2. Sehingga didapatkan rute baru seperti pada gambar 3.5.
D P2 D2 P3 P5 D3 D5 D
D P1 P8 D8 D1 D
D P7 P4 P6 D7 D4 D6 D
Rute 1
Rute 2
Rute 3
Gambar 3.5 rute setelah request 1 dan 2 ditukarkan
Stage 4 Selanjutnya pada stage ini dilakukan evaluasi terhadap pertukaran apakah layak atau tidak. Bila hasilnya tidak layak maka pertukaran ini tidak dapat dilanjutkan artinya tidak ada solusi neighbor yang dihasilkan dari pertukaran ini. Stage 5 Pertukaran tersebut dilakukan terhadap keseluruhan request hingga seluruh request telah ditukarkan dengan request-request yang ada pada rute lainnya. Misalnya setelah pertukaran Request 1 dari rute 1 dan request 2 dari rute 2 dilakukan, selanjutnya dilakukan pertukaran antara request 8 dari rute 2 dan seterusnya.
3. Definisi Tabu List dan Tabu Tenure Tabu list disini digunakan untuk mencatat (record) pertukaran request antar rute yang dianggap tabu. Update terhadap tabu list
6
Copyright by Fitri Karunia Rani 2008
DO NOT C
OPY
dilakukan tergantung pada tabu tenure. Jika Tabu Tenure di notasikan sebagai θ maka pertukaran dianggap tabu akan tetap dianggap sebagai pertukaran yang tidak boleh dilakukan hingga iterasi t + θ . (Ghiani, Laporte, Musmanno, 2004) mengungkapkan bahwa Tabu Tenure biasanya dipilih antara range 5-10). Hal ini dilakukan untuk menghindari cycle effect yaitu terpilihnya kembali solusi yang sudah dievaluasi sebelumnya.
4. Stopping criterion Stopping criterion ini akan menentukan kapan pencarian solusi akan berhenti. Dalam penelitian ini pencarian solusi akan berhenti apabila iterasi maksimum telah dicapai.
Setelah keempat hal tersebut dipenuhi maka algoritma tabu search untuk permasalahan Dynamic Pick up and Delivery Untuk penyedia Jasa City Courier dapat dibangun secara utuh dapat dilihat pada flowchart gambar 3.6 3.3 Algoritma Permasalahan Dinamis
3.3.1 Kedinamisan pada DPDPTW City-Courier dan Time slot. Permasalahan dinamis sendiri memiliki ukuran untuk kedinamisannya. Biasanya disebut sebagai degree of dynamism (DOD). Ukuran ini biasanya merupakan persentase antara online request dengan total keseluruhan request yang ada (Allan Larsen, 2001). Permasalahan city courier yang menjadi fokus khusus dalam penelitian ini memiliki DOD yang cukup tinggi karena online request bisa terjadi kapan saja. Semakin banyak jumlah online request maka semakin dinamislah permasalahan tersebut. Sehingga apabila tingkat kedinamisan semakin meningkat maka akan semakin sulit untuk menyelesaikan permasalahan tersebut. Bedasarkan pengertian yang telah dijelaskan sebelumnya bahwa sebenarnya permasalahan dinamis dapat dipandang sebagai suatu
Insertion Heuristic Output------------------------------------------
Current Tour = SCost (Current Tour) = Cost (S)
Set−−−−−−−−−−−−−−−−−−−−−−−−−−−
GlobalMin = Cost(S)BestMove = STabu List = [φ]Cost N(S)= 0MaxIteration
TabuTenure = θ
Do Neighborhood StructureN(S)
Is There FeasibleN(S) ?
Cost N(S)<=GlobalMin GlobalMin =Cost N(S)
Current Tour = N(S)
Update Tabu List
MaxIterationSatisfied?
Yes
No
Yes
No
No
Yes
End
Select Min Cost N(S)
BestMove = N(S)
Gambar 3.6 Flowchart Algoritma Tabu Search
permasalahan statis yang terjadi secara sekuensial. Dalam peneltian ini, berdasarkan hal tersebut, mencoba untuk memperkecil degree of dynamism dari permasalahan city courier. Ide dasar yang diterapkan adalah dengan cara membagi periode rute menjadi beberapa slot waktu. Pada gambar 3.7 misalnya, periode rute dibagi menjadi 3 slot waktu yaitu time slot 1, time slot 2 dan time slot 3. Time slot ini digunakan sebagai tanda kapan harus dilakukannya update rute akibat adanya permintaan baru (online request). Ketika terjadi permintaan baru (New Request) pada suatu time slot tertentu, maka permintaan baru ini tidak langsung dimasukkan ke dalam rute kendaraan melainkan akan dikumpulkan
7
Copyright by Fitri Karunia Rani 2008
DO NOT C
OPY
D P1 D1 P2 P3 D2 D3 D
PERIODE RUTE
t t'
Time Slot 1 Time Slot 2 Time Slot 3
Gambar 3.7 Time slot Pada Suatu Periode Rute
pada periode time slot tersebut bersama dengan permintaan-permintaan lainnya untuk kemudian dimasukkan kedalam rute kendaraan pada saat update rute kendaraan untuk time slot berikutnya. Artinya jika ada beberapa request baru yang muncul pada time slot pertama maka request baru ini akan menjadi offline request untuk time slot kedua dan seterusnya. Dengan begini maka tiap slot dapat dipandang sebagai permasalahan statis. Adapun ilustrasi dari kemunculan permintaan baru dapat dilihat dari gambar 3.8 Pada gambar tersebut dapat dilihat bahwa ada dua request baru terjadi pada time slot pertama. Setelah permintaan baru ini dikumpulkan kemudian dilakukan penugasan terhadap kedua permintaan tersebut pada slot berikutnya. Adapun ilustrasinya dapat dilihat pada gambar 3.9 Pada gambar tersebut dapat dilihat posisi dari permintaan-permintaan baru tersebut sepanjang periode rute dari kendaraan.
D P1 D1 P2 P3 D2 D3 D
PERIODE RUTE
t t'
Time Slot 1 Time Slot 2 Time Slot 3
P4 D4
PERMINTAANBARU
P5 D5
WAKTU MUNCULNYAREQUEST BARU
Gambar 3.8 Posisi Waktu Kemunculan Request terhadap Time Slot
D P1 D1 P2 P3 D2 D3 D
PERIODE RUTE
t t'
Time Slot 1 Time Slot 2 Time Slot 3
P4 D4 P5 D5
Gambar 3.9 Kemungkinan Posisi permintaan baru setelah dilakukan penugasan
3.3.2 Pertimbangan-pertimbangan akibat adanya Time slot
Setelah penjelasan mengenai time slot, maka selanjutanya dapat dibangun algoritma permasalahan dinamis untuk City-Courier. Namun demikian meskipun time slot telah membagi permasalahan dinamis menjadi permasalahan-permasalahan statis yang sekuensial, namun algoritma untuk permasalahan statis yang dijelaskan pada sub bab sebelumnya tidak dapat langsung digunakan. Hal ini diakibatkan karena adanya pemutusan periode pada masing-masing time slot sehingga ada beberapa hal yang harus dipertimbangkan ketika melakukan penugasan terhadap permintaan baru. Hal-hal yang harus dipertimbangkan adalah sebagai berikut: 1. Permintaan yang sudah dilayani pada time
slot-time slot sebelumnya. Permintaan ini harus diidentifikasi karena permintaan baru tidak dapat dilakukan penugasan terhadap lokasi-lokasi pada rute diantara permintaan-permintaan yang sudah dilayani.
2. Posisi kendaraan disini menjadi suatu permasalahan yang harus dicermati. Posisi kendaraan ini akan menentukan dimana saja request baru dapat dimasukkan kedalam rute. Ada tiga kemungkinan posisi kendaraan pada waktu time slot tertentu jatuh yaitu : A. Kendaraan sedang melayani suatu node
baik itu berupa pick up maupun delivery.
B. Kendaraan sedang berada diantara dua node baik itu delivery maupun pick up.
C. Kendaraan sedang menunggu pada suatu node delivery dikarenakan arrival time dari kendaraan lebih dahulu dibanding early time windows dari node delivery tersebut.
Adapun ilustrasi dari ketiga posisi kendaraan tersebut dapat dilihat pada gambar 3.10
3. Jika request melebihi batas maksimum diperbolehkannya kendaraan beroperasi (maximum route) maka harus ada kendaraan baru yang menangani permintaan baru tersebut. Namun demikian maximum route dari kendaraan yang baru ini tidaklah sama dengan rute yang sudah ada sebelumnya. Melainkan harus dikurangi batas akhir time slot dimana permintaan baru tersebut muncul. Sehingga tiap kendaraan memiliki batasan waktu yang sama untuk kembali
8
Copyright by Fitri Karunia Rani 2008
DO NOT C
OPY
kedepot. Adapun ilustrasinya dapat dilihat pada gambar 3.11
t t
t
D
e l
A B
C
Tiga Kemungkinan Posisi kendaraan pada saat time slot t
Gambar 3.10 Tiga posisi kendaraan pada saat time slot t
tPERIODE RUTE AWAL
tPERIODE RUTE
TAMBAHAN
Gambar 3.11 Periode Rute Tambahan
3.3.3 Membangun Algoritma Heuristik untuk penyelesaian Dynamic Pick up and Delivery with Time windows Setelah penjelasan mengenai masalah-masalah yang dihadapi dalam membangun algoritma heuristik untuk permasalahan city - courier ini, maka selanjutnya dapat dibangun Algoritma heuristic untuk permasalahan dinamis pada City-Courier dengan mempertimbangkan hal-hal yang telah disebutkan sebelumnya. Adapun langkah-langkah pengembangan algoritma untuk permasalahan city courier ini adalah sebagai berikut : 1. Tentukan periode time slot 2. Identifikasi time slot. Bila ada permintaan
baru maka kumpulkan permintaan-permintaan baru tersebut untuk kemudian di tugaskan kedalam rute pada time slot berikutnya. Rute yang dimaksud dapat berupa rute yang sudah ada sebelumnya, maupun rute yang benar-benar baru dibuat karena rute yang sudah ada sebelumnya tidak dapat melayani request yang baru. Bila tidak ada permintaan baru maka
lanjutkan rute yang sebelumnya hingga bertemu waktu time slot berikutnya
3. Penugasan permintaan baru dilakukan dengan menggunakan prosedur insertion heuristic yang telah dijelaskan pada sub bab sebelumnya dengan memperhatikan posisi-posisi yang mungkin untuk dilakukan insertion.
4. Lakukan improvement dengan menggunakan tabu search terhadap rute-rute yang telah dibentuk. Dalam membangun solusi neighborhood tabu search pada permasalahan dinamis berbeda dengan permasalahan statis. Pada tabu search permasalahan dinamis swapping atau pertukaran request harus memperhatikan posisi pasangan node pick up dan delivery pada. Hal ini dikarenakan ada kemungkinan pasangan node terpisah satu sama lain karena adanya perbedaan kedudukan pada time slot. Untuk permintaan-permintaan yang masuk dalam kategori ini pada saat membangun struktur neighborhood tidak dilakukan swapping. Hal ini bisa dilihat pada ilustrasi gambar 4.15. Dari gambar tersebut delivery dari request 2, 4 dan 7 tidak dapat dilakukan swapping dengan request lainnya. Hal ini disebabkan karena pick up dari ketiga request tersebut sudah dilayani. Sehingga dalam ilustrasi ini swapping/pertukaran hanya dapat dilakukan pada request 3, 5 6 dan 8.
D P1 D1 P3 P5 D3 D5 D
D P2 P8 D8 D2 D
D P7 P4 P6 D7 D4 D6 D
Rute 1
Rute 2
Rute 3
Time Slot t Time Slot t +1
Sudah Dilayani
Belum Dilayani
Tidak bisa dilakukanPertukaran
Periode Rute
Gambar 3.12 Neighborhood Swapping Restriction pada permasalahan dinamis
Adapun keseluruhan langkah-langkah Algoritma secara sistematis dapat dilihat pada flowchart gambar 3.13
9
Copyright by Fitri Karunia Rani 2008
DO NOT C
OPY
Input-------------------------------------------------------
Existing Routetime slot t of route
New Request AssignmentVehicle Position
Set of requests have been serviced
Is There New RequestAssignment for time slot = t ?
Insert new request to the route byinsertion procedure
Identify Possible Insertion Locationfor new request
Do Tabu Search Procedure
New Route For Time Slot t+1
Choose minimum feasible one
Start
End
Keep Existing RouteUntil time slot t +2
Gambar 3.13 Gambar Flowchart Prosedur
Permasalahan Dinamis
4. Percobaan Numerik 4.1 Data Kondisi ideal yang terjadi dilapangan berkaitan dengan isu dinamis pada VRP dapat dilihat dari Gambar 4.1. Pada gambar tersebut dapat dilihat bahwa sebenarnya data berdasarkan pertukarannya dapat di clusterkan kedalam 3 cluster . Setiap cluster memiliki data yang kemudian dipertukarkan dengan cluster lainnya. Dari gambar tersebut dapat dilakukan identifikasi bahwa data yang diperlukan pada kondisi ideal untuk permasalahan City-Courier yaitu :
Gambar 4.1 Data Exchange
(Abdullah Alkaff dkk, Proposal PREDICT ITS, 2007)
1. Transportation Request berupa pick up dan delivery yang dilakukan melalui telepon dimana customer mendefinisikan requestnya sendiri yaitu mengenai kapan ia akan dilayani, time window dan load yang akan dibawa
2. Lokasi kendaraan diketahui dari informasi yang diberikan GPS (Global Positioning System)
3. Lokasi Pick Up dan Delivery didapatkan dari informasi yang diberikan GIS (Geographic Information System)
4. Update kapasitas kendaraan selama berada dalam rutenya dilakukan melalui SMS (Short Message Service)
5. Travel time dapat diketahui dengan melakukan perhitungan historitical data of speed travel
Kebutuhan-kebutuhan data yang diperlukan pada kondisi ideal tersebut pada penelitian ini tidak dapat dipenuhi karena penelitian ini merupakan bagian dari penelitian besar PREDICT sehingga pada penelitian ini digunakan data set benchmark problem yang disesuaikan dengan permasalahan dynamic pick up and delivery problem hingga memenuhi kebutuhan data seperti pada kondisi ideal. Data set yang digunakan pada penelitan mengenai pengembangan algoritma heuristik untuk Dynamic Pick Up and Delivery Problem With Time Windows pada penyedia jasa City Courier ini adalah Solomon’s VRP bencmark data yang selanjutnya dimodifikasi oleh Pankratz untuk permasalahan DPDPTW.
10
Copyright by Fitri Karunia Rani 2008
DO NOT C
OPY
Problem Instance ini bisa dilihat dan didownload dari alamat directory dibawah ini /ftp-dir/pub/fachb/wiwi/winf/forschng/dpdptw
4.2 Percobaan Numerik Percobaan 1
Rancangan percobaan Percobaan ini dicoba pada problem instance R101 dengan 25 request, maksimum iterasi tabu search 10 dan θ = 10 DOD 20% dan time slot = 6. Percobaan ini dilakukan untuk menunjukkan apakah algoritma dinamis yang telah dikembangkan mampu menyelesaikan permasalahan Dynamic Pick Up and Delivery Problem with Time Windows untuk penyedia jasa City-Courier yakni : a. Melakukan penugasan kendaraan untuk
melayani request baru b. Meminimasi cost akibat adanya request
baru Hasil Percobaan Dari hasil running didapatkan rute permasalahan statis sebagai berikut :
RUTE 1 : P9-P19-D19-D9-O0-
RUTE 2 : P3-P14-D14-D3-O0-
RUTE 3 : P5-P6-D5-P1-D1-D6-P7-D7-O0-
RUTE 4 : P20-P2-D2-D20-O0
RUTE 5 : P11-P12-P15-D12-D11-D15-O0-
RUTE 6 : P10-P13-D13-D10-O0-
RUTE 7 : P16-P17-D16-D17-O0-
RUTE 8 : P4-P18-D18-D4-P8-D8-O0-
[TOTAL COST] : 1577.23997151948
Dari rute ini kemudian di insertkan 2 request baru pada time slot 1. Sehingga didapatkan hasil sebagai berikut :
=== >> Perubahan Rute Akibat Request : S22
RUTE 1 : P22-P9-P19-D19-D9-D22-O0-[UPDATED]
RUTE 2 : P3-P14-D14-D3-O0-
RUTE 3 : P5-P6-D5-P1-D1-D6-P7-D7-O0-
RUTE 4 : P20*P21-P2-D2-D21-D20-O0-
RUTE 5 : P11*P12-P15-D12-D11-D15-O0-
RUTE 6 : P10-P13-D13-D10-O0-
RUTE 7 : P16-P17-D16-D17-O0-
RUTE 8 : P4-P18-D18-D4-P8-D8-O0-
[TOTAL COST] : 2048.1809323248
=== >> Perubahan Rute Akibat Request : S23
RUTE 1 : P22-P9-P19-D19-D9-D22-O0-
RUTE 2 : P3-P23-P14-D14-D23-D3-O0-[UPDATED]
RUTE 3 : P5-P6-D5-P1-D1-D6-P7-D7-O0-
RUTE 4 : P20*P21-P2-D2-D21-D20-O0-
RUTE 5 : P11*P12-P15-D12-D11-D15-O0-
RUTE 6 : P10-P13-D13-D10-O0- RUTE 7 : P16-P17-D16-D17-O0-
RUTE 8 : P4-P18-D18-D4-P8-D8-O0-
[TOTAL COST] : 2048.15093901739
Dari output diatas dapat diketahui bagaimana algoritma yang dikembangkan melakukan penugasan kendaraan untuk melayani request baru. Dari contoh diatas diketahui pula bahwa rute paling minimum untuk meng-insertkan request 22 adalah rute 1. Sedangkan untuk request 23 adalah rute 2. Selanjutnya dilakukan improvement dengan tabu search dan didapatkan hasil sebagai berikut :
=== Perubahan Rute Optimal dari Kumpulan Request Time Slot -1
RUTE 1 : P22-P9-P19-D19-D9-D22-O0-
RUTE 2 : P3-P4-P14-D14-D4-D3-O0-
RUTE 3 : P5-P6-D5-P1-D1-D6-P8-D8-O0-
RUTE 4 : P20-P21-P2-D2-D21-D20-O0-
RUTE 5 : P11-P12-P15-D12-D11-D15-O0-
RUTE 6 : P10-P13-D13-D10-O0-
RUTE 7 : P16-P17-D16-D17-O0-
RUTE 8 : P23-P18-D18-D23-P7-D7-O0-
[TOTAL COST] : 1787.30815319543
Dari hasil running diatas dapat dilihat adanya penurunan cost setelah dilakukan improvement dengan menggunakan tabu search dari cost initial sebesar 2048.2 menjadi 1787.3. Yakni ada penurunan cost sebesar 12.7%
Percobaan 2 Rancangan Percobangan Percobaan numerik ini dilakukan dengan melakukan 12 skenario percobaan yang dilakukan terhadap 2 problem instance yaitu R101 dan R 103 dengan 25 request. Adapun skenario percobaannya dapat dilihat pada tabel 6.6. Percobaan ini dilakukan unuk menunjukkan hubungan time slot terhadap total cost dan juga computational time. Hasil Percobaan Adapun hasil percobaannya dapat dilihat pada tabel 4.1. Bila tabel tersebut disajikan dalam bentuk grafik maka hasilnya dapat dilihat pada gambar 4.2 dan gambar 4.3
Tabel 4.1 Hasil percobaan 2
11
Copyright by Fitri Karunia Rani 2008
DO NOT C
OPY
DOD 20%Computational Time Vs Time Slot
0100020003000400050006000700080009000
10000
4.0 6.0 8.0 10.0Time Slot
Com
puta
tiona
l tim
e (m
s)
R101 R103 Gambar 4.2.a DOD 20%
DOD 40%Computational Time Vs Time Slot
0
2000
4000
6000
8000
10000
12000
4.0 6.0 8.0 10.0Time Slot
Com
puta
tiona
l Tim
e (m
s)
R101 R103 Gambar 4.2.b DOD 40%
DOD 60%Computational Time Vs Time Slot
02000400060008000
100001200014000
4.0 6.0 8.0 10.0
Time Slot
Com
puta
tiona
l Tim
e (m
s)
R101 R103 Gambar 4.2.c DOD 60%
Rata-RataComputational Time VsTime Slot
0
2000
4000
6000
8000
10000
12000
14000
4 6 8 10
Time Slot
Com
puta
tiona
l Tim
e (m
s)
DOD 20% DOD 40% DOD 60% Gambar 4.2.d Rata-rata computational time Vs Time
Slot
DOD 20%Total Cost Vs Time Slot
0200400600800
100012001400160018002000
4.0 6.0 8.0 10.0
Time Slot
Tota
l Cos
t
R101 R103 Gambar 4.3.a DOD 20%
DOD 40%Total Cost Vs Time Slot
1550
1600
1650
1700
1750
1800
1850
1900
1950
4.0 6.0 8.0 10.0
Time Slot
Tota
l Cos
t
R101 R103 Gambar 4.3.b DOD 40%
12
Copyright by Fitri Karunia Rani 2008
DO NOT C
OPY
DOD 60%Total Cost Vs Time Slot
1700175018001850190019502000205021002150
4.0 6.0 8.0 10.0
Time Slot
Tota
l Cos
t
R101 R103 Gambar 4.3.c DOD 40%
Rata-RataTotal Cost Vs Time Slot
0
500
1000
1500
2000
2500
4 6 8 10
Time Slot
Com
puta
tiona
l Tim
e (m
s)
DOD 20% DOD 40% DOD 60%
Gambar 4.3.d DOD 60% Dari gambar 4.2 dapat dilihat bahwa pada setiap DOD baik untuk problem instance R101 dan R103, semakin banyak time slot maka semakin tinggi computational time-nya. Kemudian pada grafik rata-rata dapat dilihat bahwa semakin tinggi DOD semakin tinggi pula computational time. Dari gambar 4.3 dapat dilihat bahwa pada setiap DOD baik untuk problem instance R101 dan R103, didapatkan grafik yang tidak beraturan sehingga dapat disimpulkan bahwa tidak terdapat hubungan antara total cost dan time slot begitu juga dengan DOD yang ditunjukkan grafik rata-rata.
5. Kesimpulan Kesimpulan yang dapat diambil dari penelitian ini adalah sebagai berikut : 1. Telah dilakukan pengembangan algoritma
heuristik untuk Dynamic Pick Up and Delivery Problem with Time Windows untuk penyedia jasa City-Courier
2. Telah dilakukan pengembangan algoritma heuristik yang mampu melakukan penugasan kendaraan terhadap request baru
dan juga meminimasi cost akibat adanya tambahan request baru
3. Ada hubungan berbanding lurus antara banyaknya time slot dengan computational time.
4. Tidak ada hubungan antara banyaknya time slot dan total cost
6. Daftar Pustaka
Abdullah Alkaff, Zulkifli Hidayat, Ahmad Rusdiansyah, Suhadi Lili, Nurlita gamayanti, Reesa Akbar, Fitri Karunia Rani, Yaniar Isnarti . 2007. Developing Dynamic Vehicle Routing Systems in Surabaya City. Proposal Penelitian PREDICT ITS
Ballou, R H. 2004. Business Logistics/ Supply Chain Management: Planning, Organizing, and Controlling the Supply Chain, Pearson Education, Inc., New Jersey
Cordeau, J. F., Laporte, G. 2002. “Tabu Search Heuristics for The Vehicle Routing Problem”. Canada Research and GERAD
DPDPTW Instance. September 2007 <URL:ftp-dir/pub/fachb /wiwi/winf/forschng/Dpdptw>.
Gendreau, M., Guertin, F., Potvin, J.Y., Se´guin, R. 2006. “Neighborhood search heuristics for a dynamic vehicle dispatching problem with pick-ups and deliveries”, Transportation Research Part C 14
Giani, G., Laporte, G., Musmanno, R. 2004. Introduction to Logistics Systems Planning and Control. John Wiley & Sons, Inc.
I Nyoman Pujawan. 2005. Supply Chain Management. Surabaya : Guna Widya.
Larsen, Allan., 2000. The Dynamic Vehicle Routing. IMM, DTU
Lau, Hoong Chuin , Liang, Zhe. 2001. “Pickup and Delivery with Time Windows: Algorithms and Test Case Generation”. Proceedings of the 13th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'01
13
Copyright by Fitri Karunia Rani 2008
Mitrovic, Snezana., Minic. 1998. Pick Up and Delivery Problem With Time Windows : A Survey <ftp: //fas.sfu.ca/pub/cs/techrreport/1998>
Nanry, William P., Barnes, J Wesley. 2000. “Solving the pick up and delivery problem with time windows using reactive tabu search”.Transportation Research Part B 34 (2000) 107-121
Pankratz, Giselher. 2005. “Dynamic Routing Vehicle by Means of Genetic Algorithm”. International Journal of Physical Distribution & Logistics Management, 364
Potvin, J.Y., Ying Xu, Ilham Benyahia. 2006. “Vehicle Routing and Scheduling with Dynamic Travel Times”. Computer & Operation Research 33 1129-1137
Sri Kusuma Dewi dan Hari Purnomo. 2005. Penyelesaian Masalah Optimasi dengan Teknik-Teknik Heuristik. Graha Ilmu : Surabaya.
14
Copyright by Fitri Karunia Rani 2008