TINJAUAN PUSTAKA
3.8. Pengembangan Algoritma Heuristik
Parameter dan variabel yang digunakan dalam formulasi tersebut antara lain : Keterangan:
K = Nomor Kendaraan
N = Nomor Konsumen (0 menunjukkan depot) Ci = Konsumen i
C0 C
= Depot ijk
Q
= Biaya travel antara konsumen i dan j untuk kendaraan k ik
V
= Total demand kendaraan k sampai konsumen i k
1,jika konsumen i dilayani oleh kendaraan k = Kapasitas maksimal kendaraan k
Yik
0,jika tidak =
1,jika kendaraan k dari konsumen i langsung ke konsumen j Xijk 0,jika tidak = Fungsi Tujuan : Min
∑∑∑
K= = = k N i N j ijk ijx c 1 0 0 (1) Kendala-kendala :∑
=N ≤ = i k ik iky v k K q 0 ,..., 1 , (2) Yik X = 0 atau 1 ; i = 1,2,…,N ; k = 1,2,…,K (3) ijk K,i = 0 = 0 atau 1 ; i = 1,2,…,N ; k = 1,2,…,K (4)∑
K= = k ik y 1 (5) 1,i = 1,…,N∑
=N = o i ijk x yjk , j = 0,…,N ; k = 1,…,K (6)∑
=N =o i
ijk
x yik
Tujuan dari permasalahan ini adalah untuk meminimalkan total biaya travel. Kendala (2) membatasi bahwa jumlah total jumlah demand yang dibawa kendaraa k, tidak boleh melebihi kapasitas dari kendaraan tersebut. Kendala (5) untuk menunjukkan bahwa tiap konsumen hanya dapat dilayani oleh satu kendaraan saja. Kendala (6) dan (7) untuk memastikan bahwa tiap konsumen dikunjungi oleh kendaraan yang sama dengan yang sudah dijadwalkan untuk konsumen tersebut.
, j = 1,…,N ; k = 1,…,K (7)
Permasalahan Vehicle Routing Problem with Time Windows merupakan perluasan dari permasalahan VRP. Jika pada permasalahan VRP ditambahkan adanya time
windows dari tiap konsumen, maka permasalahan tersebut menjadi permasalahan
VRPTW. Dalam permasalahan VRPTW, ada kendala tambahan yang mengharuskan kendaraan untuk melayani tiap konsumen pada batasan waktu tertentu. Kendaraan boleh datang sebelum time window “open”, tetapi kendaraan tersebut belum dilayani sampai
time window “open”. Kendaraan tidak diperbolehkan untuk datang setelah time window
“closed”.
VRPTW adalah model untuk menjadwalkan sekumpulan kendaraan, dengan kapasitas dan waktu perjalanan yang terbatas, dari depot ke sekumpulan konsumen yang tersebar, dengan demand yang diketahui, dalam time windows tertentu. Time windows berarti bahwa tiap konsumen harus dilayani data atau setelah earliest time, dan sebelum
latest time dari konsumen tersebut. Jika kendaraan datang ke konsumen sebelum
tersebut, maka akan terjadi idle atau waktu tunggu. Kendaraan yang datang ke konsumen setelah latest time akan dikenakan penalty. Waktu service adalah waktu yang diperlukan untuk melayani tiap konsumen.
Untuk memodelkan permasalahan VRPTW ini, memperkenalkan beberapa parameter yang perlu ditambahkan, yaitu :
Rk t
= total waktu rute untuk kendaraan k ij
t
= waktu travel antara konsumen i dan j i
f
= waktu kedatangan di konsumen i i
w
= waktu servis di konsumen i i
w
= waktu tunggu sebelum melayani konsumen i i = max
{
0,(ei −ti)}
ei l
= waktu paling awal untuk pelayanan di konsumen i i
VRPTW mempunyai fungsi tujuan yang sama dengan persoalan VRP, yaitu meminimalkan total biaya travel semua kendaraan (1). Sedangkan untuk kendalanya juga sama dengan VRP [(2)-(7)], tetapi perlu ditambahkan beberapa kendala lagi yang berhubungan dengan kendala time windows. Kendala- kendala yang perlu ditambahkan adalah :
= waktu paling akhir untuk pelayanan di konsumen i
∑∑
=N = + + ≤ i k i i ij N j ik t f w R y 0 0 ) ( k = 1,…,K (8) ) 1 ( ijk ij i i i j t w f t M x t ≥ + + + − − i,j = 1,…,N; k = 1,…,K (9) ei ≤ ti < li t i = 1,…,N (10) iKendala (8) untuk memastikan bahwa tiap kendaraan melayani semua konsumen yang dijadwalkan untuk kendaraan tersebut tanpa melebihi waktu travel dari kendaraan tersebut. Kendala (9) untuk memastikan bahwa waktu kedatangan dari konsumen adalah
compatible. Banyak dari model ini mengasumsikan bahwa semua antar waktu
kedatangan dan mengidentifikasi penyebaran dan semua waktu pelayanan tergantung pada pendistribusian. Model seperti itu secara umum dapat digambarkan sebagai berikut:
M merupakan exponential distribution (Markovian). Kendala (10) mengharuskan kendaraan untuk sampai di tiap-tiap konsumen selama batas time windows dari konsumen tersebut. Kendala (11) memastikan bahwa waktu kedatangan kendaraan ke tiap konsumen selalu positif.
Langkah-langkah pengerjaan algoritma adalah sebagai berikut : Rincian Algoritma
1. Hitung jarak total dari agen (sumber) ke agen kembali sesuai dengan rute terbaik yang dipecahkan dengan metode pemecahan masalah Traveling Salesman Problem
(TSP). Dalam hal ini, beberapa algoritma heuristik TSP dapat diterapkan.
Langkah 0 :
2. Tetapkan waktu perencanaan, yaitu jarak (selisih) waktu jadwal pengiriman yang sama berulang. Misalkan jika waktu perencanaan adalah 10 hari, kalau pada tanggal 1 dilakukan pengiriman sejumlah q1 ke site 1, maka pada tanggal 11 kembali dilakukan pengiriman kembali ke site 1 sejumlah q1. Pada dasarnya, semakin kecil waktu perencanaan semakin baik. Tetapi semakin kecil waktu perencanaan artinya dibutuhkan waktu yang lebih cepat dalam mendistribusikan pasokan untuk memenuhi setiap permintaan yang ada. Pada dasarnya waktu perencanaan dapat dibuat dengan trial and error. Tetapi untuk mengurangi usaha trial and error tersebut dapat dipakai patokan berikut:
a. Untuk graph awal : waktu perencanaan sama dengan kapasitas maksimal mobil angkut.
b. Untuk sub-graph
1. Waktu perencanaan tidak mungkin lebih besar dari kapasitas mobil angkut pada sub-graph yang bersangkutan
2. Hitung permintaan pengiriman barang total pada sub-graph yang bersangkutan selama waktu perencanaan. Permintaan pengiriman barang total merupakan penjumlahan dari permintaan pengiriman barang pada masing-masing agen selama waktu perencanaan. Rumus permintaan pengiriman barang untuk tiap rute adalah :
Permintaan pengiriman barang selama waktu perencanaan = laju permintaan pengiriman barang x waktu perencanaan
D = d x H (12)
3. Bagi permintaan total dengan kapasitas alat angkut yang ada. Angka ini menunjukkan frekuensi mobil angkut harus diisi (jumlah rute dalam suatu tour).
Q D
NT = (13)
4. Hitung waktu untuk menjalankan tour (semua agen dikunjungi) penuh.
5. Kalikan waktu dari nomor 4 dengan k + faktor pengaman (misalkan 20 % waktu
tour)
6. Jika waktu yang diturunkan pada nomor 5 lebih kecil dari waktu perencanaan (hari siklus x 24 jam), maka tetapkan waktu perencanaan tersebut feasibel. 7. Lakukan langkah 1 untuk beberapa hari siklus yang diperkirakan feasibel
8. Jika tidak ada yang feasibel, berarti jumlah alat angkut kurang. Sub-graph yang bersangkutan dipecah kembali menjadi sub-sub graph.
Hitung waktu teoritis yang dibutuhkan untuk melayani total permintaan: Rumusnya:
Langkah 1 :
Waktu Total = (waktu perjalanan total + waktu servis total) x (1 + faktor pengaman)
) 1 ( 1 1 1 +φ − + =
∑
i=Rt j∑
i=Rs T (14) dimana :Waktu perjalanan total = (jarak depot ke depot/kecepatan rata-rata) x faktor konversi angkut v j t T R 1 1 1 − =
∑
= (15)Faktor pengaman (Ø) adalah allowance dan disarankan tidak kurang dari 1 jam per hari siklus.
Hitung batas bawah jumlah alat angkut minimum yang dibutuhkan. Langkah 2 :
Rumusnya :
NT min = waktu total/jam avaibilitas alat angkut
T CT
= (16)
Jika batas bawah lebih dari 2 maka bulatkan ke bawah, jika kurang dari 2 bulatkan ke atas. Jika batas bawah jumlah alat angkut = 1, langsung ke langkah 5. Jika batas bawah alat angkut lebih dari 1 ke langkah 3.
Bagi graph (network) yang ada menjadi n buah sub-graph. Usahakan masing-masing sub-graph seimbang (dalam hal ini jarak total antara sub-graph dan jumlah agen seimbang). Jika tampak sub graph tidak seimbang, maka adanya agen transhipment perlu dipertimbangkan.
Kembali ke langkah 0 Langkah 4 :
Langkah ini merupakan penentuan rute untuk distribusi yang sudah mempertimbangkan jenis barang. Misalkan jenis barang yang dapat dimuat sekali jalan adalah m jenis.
Langkah 5 :
a. Pilih m jenis produk dengan permintaan total yang lebih kecil dari kapasitas alat angkut dibagi m untuk dimuat ke alat angkut, distribusikan dengan menjalankan rute penuh (melewati semua agen). Jika jenis produk dengan permintaan total yang lebih kecil dari kapasitas mobil angkut lebih dari m, prioritaskan total permintaan yang lebih kecil. Lanjutkan ke langkah (c).
b. Jika sudah tidak ada jenis barang dengan permintaan yang lebih kecil dari kapasitas mobil angkut dibagi m, pilih sembarang barang dan buat trip untuk mendistribusikan barang tersebut sejumlah kapasitas alat angkut (atau yang paling mendekati). Pendistribusian ini mulai dari agen yang terjauh.
c. Buat rute tambahan untuk memenuhi permintaan yang belum selesai (kembali ke langkah a).
Jika feasibel, cek apakah waktu total untuk sub-graph ini tidak melampaui jam
availibilitas alat angkut. Jika tidak melampaui, lanjutkan ke langkah 7. Jika melampaui
kembali ke langkah 3, tambah n menjadi n+1.