BAB II TINJAUAN PUSTAKA II.1. Vehicle Routing Problem · 14 baik dan cepat jika dibandingkan dengan...
Transcript of BAB II TINJAUAN PUSTAKA II.1. Vehicle Routing Problem · 14 baik dan cepat jika dibandingkan dengan...
13
BAB II
TINJAUAN PUSTAKA
II.1. Vehicle Routing Problem
II.1.1. Definisi VRP
Vehicle routing problem (VRP) adalah istilah umum yang diberikan untuk
permasalahan yang melibatkan rute kendaraan dengan berbasis depot yang melayani
pelanggan yang tersebar dengan permintaan tertentu. Tujuan umum VRP adalah
melayani sekumpulan pelanggan dengan ongkos operasi yang minimum.
VRP adalah istilah umum yang dipakai banyak pihak. Beberapa ahli lain
menggunakan nama berbeda, dengan permasalahan yang sama. Berikut ini adalah
istilah VRP yang lain : vehicle scheduling problem (Clarke and Wright, 1964) dan
vehicle dispatching (Dantzig Ramser, 1959). Perbedaan yang nyata antara defenisi
routing problem dan scheduling problem diberikan oleh Bodin and Golden(1981)
dalam Mahaputra (2006). Routing problem menekankan pada bagaimana membuat
urutan mengunjungi pelanggan dengan kendaraan yang berangkat dan berakhir
didepot (fasilitas sentral). Bila diberikan tambahan keterangan waktu seperti waktu
keberangkatan dan waktu kedatangan maka permasalahan menjadi scheduling
problems.
VRP pertama kali dipelajari oleh Dantzig dan Ramser (1959) dalam bentuk rute dan
penjadwalan truk. Clarke dan Wright (1964) kemudian melanjutkan penelitian ini
dengan memperkenalkan istilah depot sebagai tempat keberangkatan dan kembalinya
kendaraan. Clarke dan Wright mengunakan saving algorithm. Sejak saat itu
penelitian VRP terus berkembang karena peran VRP yang penting dalam distribusi
dunia industry. Perkembangan VRP meliputi pendekatan pemecahan masalah dan
munculnya kendala-kendala baru.
VRP dikenal sebagai permasalahan kombinatorial yang termasuk kategori NP-Hard
yang berarti effort komputasi akan meningkat secara eksponensial seiring dengan
meningkatnya ukuran permasalahan. Dengan demikian, metode yang tepat untuk
permasalahan ini adalah algoritma heuristik. Algoritma ini memberikan solusi yang
14
baik dan cepat jika dibandingkan dengan penjelajahan seluruh ruang solusi dengan
menggunakan metode enumerasi.
VRP yang standar dapat dijelaskan sebagai berikut: terdapat sebuah depot dan
beberapa pelanggan dengan lokasi dan permintaan yang diketahui. VRP bertujuan
untuk menentukan beberapa rute yang meminimumkan fungsi tujuan dengan tetap
memenuhi seluruh permintaan pelanggan. Sebuah rute mencakup urutan
mengunjungi pelanggan dengan kendaraan yang berangkat dan berakhir di depot.
Total permintaan semua pelanggan dalam satu rute tidak boleh melebihi kapasitas
kendaraan yang digunakan. Setiap rute ditunjukan oleh satu kendaraan yang
mengunjungi pelanggan sebanyak satu kali. Karena terdapat keterbatasan pada
kapasitas kendaraan, VRP standar sering disebut dengan capacitated vehicle routing
problem (CVRP).
Secara umum fungsi tujuan dari permasalahan VRP adalah meminimumkan jumlah
kendaraan yang digunakan dana memenimumkan total jarak tempuh kendaraan.
Meminimumkan jumlah kendaraan biasanya diletakan sebagai fungsi tujuan yang
utama baru kemudian meminimumkan jarak tempuh kendaraan. Fungsi tujun lain
yang dapat ditambahkan adalah meminimumkan waktu penyelesaian untuk setiap
kendaraan, maupun rentang waktu penyelesaian antar kendaraan, ataupun jenis
fungsi tujuan lain sesuai kebutuhan dan karakteristik masing-masing kasus.
Ilustrasi dari permasalahan VRP dapat dilihat pada gambar II.1. Misalnya, terdapat
satu depot, sepuluh pelanggan, dan tiga kendaraan. Permasalahan yang muncul
adalah penentuan rute kendaraan untuk mengunjungi pelanggan dengan memenuhi
batasan yang ada (termasuk pemenuhan permintaan pelanggan) dan sekaligus
meminimumkan biaya operasi total. Dengan menggunakan metode-metode
pemecahan masalah rute kendaraan diperoleh seperti yang terlihat pada gambar II.1.
Kendaraan pertama secara berurutan mengunjungi pelanggan 2,1, dan 9, lalu kembali
ke depot. Kendaraan kedua secara berurutan mengunjungi pelanggan 3,5, dan 4 lalu
kembali ke depot. Kendaraan tiga berangkat dari depot lalu secara berurutan
mengunjungi pelanggan 8,10, 7, dan 6 lalu kembali kedepot.
15
Gambar II.1. Ilustrasi VRP
II.1.2. Model Matematik VRP
Rumus matematik untuk VRP dapat dinyatakan dalam rumusan yang berbasis
traveling salesman problem (TSP) dan set partitioning problem (SPP). Rumusan
pemrograman matematik ini sesuai untuk ukuran permasalahan yang kecil. Selain
kelemahan yang disebutkan sebelumnya, rumusan matematik berbasis TSP memiliki
kelemahan dalam menangani pembatas-pembatas tambahan yang biasanya muncul
dalam praktek (seperti multiple trip, split delivery, dan sebagainya). Sebaliknya,
keunggulan rumusan pemrograman matematik berbasis SPP adalah kemampuan
untuk mengakomodasi pembatas-pembatas tambahan yang biasanya muncul dalam
praktek. Tetapi, kelemahan rumusan pemrograman berbasis SPP ini terletak pada
pembangkitan rute yang layak.
Rumusan matematik VRP dasar berbasis TSP
Suprayogi dan Yamato (2003) menyederhanakan perumusan VRP dasr berbasis TSP.
Diketahui sebuah jaringan G = (N,L) dengan N menunjukan sekumpulan node N =
{0,1,…,n} dan L= {(i,j); i,j∈ N, i≠j} menunjukan himpunan arc (link). Node O
menunjukan depot dengan terdapat sejumlah NV kendaraan. Matriks jarak D =
didefinisikan pada L. Jika dij = dij untuk semua (i,j), maka permasalahan dapat
dikatakan simetri dan arc merepresentasikan busur yang tidak berarah (undirected
arcs). Permintaan pelanggan i dinyatakan dengan qi dan jumlah permintaan
pelanggan dalam satu rute tidak boleh melebihi kapasitas kendaraan Qk. Tujuan dari
16
VRP dasar ini adalah penentuan rute NV kendaraan yang memberikan jarak total
minimal dengan setiap kendaraan berangkat dari depot dan kembali lagi ke depot.
Formulasi model matematik untuk VRP dasar dapat dinyatakan sebagai berikut :
∑∑∑i j k
ijkij xdMin (2-1)
Dengan pembatas:
jxi k
ijk∑∑ = semuauntuk ,1 (2-2)
kpxxi j
pjkijk , semuauntuk ,0∑ ∑ =− (2-3)
kQxq ki j
ijki semuauntuk ,≤⎟⎟⎠
⎞⎜⎜⎝
⎛∑ ∑ (2-4)
kxn
jjk semuauntuk , 1
10∑
=
≤ (2-5)
∑=
≠≠≠−≤+−NV
kijkji jijinxnyy
1
0,0,,1 (2-6)
kjixijk ,, semuauntuk },1,0{∈ (2-7)
arbitrary iy (2-8)
Fungsi tujuan yang meminimumkan jarak total ditunjukan pada persamaan (2-1).
Pembatas (2-2) menjamin bahwa setiap node hanya dilalui oleh satu kendaraan.
Pembatas (2-3) menjamin bahwa kendaraan yang meninggalkan node i telah
melayani node i tersebut. Pembatas kapasitas kendaraan dinyatakan dengan
pertidaksamaan (2-4). Pembatas (2-5) menjamin bahwa kendaraan yang ditugaskan
tidak melebihi NV kendaraan. Pembatas (2-6) berperan sebagai pembatas eliminasi
subtur sehingga rute kendaran selalu dimulai dari depot dan berakhir di depot.
17
Rumusan matematik VRP dasar berbasis SPP
Balinski dan Quandt (1964) merumuskan pemograman matematis berbasis SPP
untuk VRP dasar. Rumusan berbasis SPP dinyatakan sebagai berikut: R menunjukan
kumpulan kandidat rute lang layak. N menunjukan himupunan pelanggan yang yang
dinyatakan dengan N = {1,…,n}. Air adalah konstanta yang bernilai 1 jika rute r
mencakup pelanggan I dan bernilai 0 jika rute r tidak mencakup pelanggan i. Biaya
untuk rute r (gabungan dari biaya tetap dan biaya variable) dinyatakan dengan notasi
cr dan xr adalah variable biner yang bernilai 1 jika rute r dipilih sebagai
solusioptimal.
∑∈Rr
Min rr xc (2-9)
dengan pembatas
∑∈
∈∀=Rr
,1 NixA rir (2-10)
Rrx r ∈∀∈ },1,0{ (2-11)
Fungsi tujuan (2-9) biaya total yang mencakup biaya tetap kendaraan dan biaya
variabel berupa biaya perjalanan kendaraan. Pembatas (2-10) menamin bahwa tiap
pelanggan hanya dikunjungi oleh satu kendaraan. pembatas (2-11) menunjukan
batasan nilai variabel biner. Solusi yang optimal diperoleh dengan menyelesaikan
formulasi SPP ini menggunakan integer programming solver.
Himpunan rute yang layak dibangkitkan melalui enumerasi semua rute yang
mungkin dari tiap subset himpunan pelanggan. Tiap rute yang dibangkitkan untuk
tiap subset diperiksa kelayakannya terhadap pembatas kapasitas.
II.1.3. Klasifikasi VRP
VRP muncul dengan variasi bentuk yang tergantung pada sejumlah faktor, kendala,
dan fungsi tujuan. Jenis VRP ada yang muncul dengan kendala jarak tempuh dan
waktu tempuh, ada yang muncul dengan fungsi tujuan berupa total ongkos, waktu,
jarak tempuh, ada juga yang muncul dengan kendala ketidaksimetrisan jarak atau
18
waktu tempuh, dan sebagainya. Suprayogi (2003) memberikan beberapa contoh
varian dari VRP antara lain:
• Pelanggan punya rentang waktu layanan (VRP Time Windows: VRPTW)
• Pelanggan dilayani oleh kendaraan berbeda (VRP Split Delivery: VRPSD)
• Pelanggan terjadi proses pengambilan dan pengantaran produk (VRP PickUp
anf Delivery: VRPPD)
• Depot lebih dari satu (VRP Multiple Depots: VRPMD)
• Permintaan pelanggan lebih dari satu produk (VRP Multiple Produk:
VRPMP)
• Kendaraan menempuh beberapa rute dengan kembali ke depot dahulu (VRP
Mu;tiple Trips: VRPMT)
• Kendaraan yang digunakan bermacam-macam dengan karakteristik yang
berbeda pula (VRP Heterogeneous Fleet of Vehicles: VRPHFV)
• Pelayanan kepada pelanggan dapat dilakukan dalam beberapa waktu horizon
perencanan (Periodic VRP : PVRP)
• Parameter angka (seperti jumlah pelanggan, permintaan masing-masing
pelanggan, dan waktu layanan) bnersifat acak (Stochastic VRP: SVRP)
• Pelanggan bersifat tidak tetap untuk masing-masing horizon waktu (Dynamic
VRP: DVRP)
II.1.4. Fleet Mix Vehicle Routing Problem (FMVRP)
II.1.4.1. Definisi FMVRP
Fleet mix vehicle routing problem (FMVRP) adalah suatu kasus besar problem
optimasi. Pada umumnya armada atau kendaraan yang digunakan untuk distribusi
mempunyai ukuran kapasitas yang heterogen. (Montané dan Vianna, 2007)
FMVRP merupakan salah satu varian dari vehicle routing problem (VRP) klasik.
FMVRP berbeda dari VRP klasik, yang mana FMVRP mempunyai armada atau
kendaraan yang heterogen, kapasitas kendaraan yang bervariasi, adanya fixed cost
dan variable cost. FMVRP membentuk sekumpulan rute kendaraan, dimana setiap
kendaraan mulai dan berakhir di depot, melayani pelanggan yang mempunyai
permintaan tertentu dengan kendaraan atau armada yang heterogen. Masing-masing
19
pelanggan di kunjungi hanya sekali, dan total permintaan dari satu rute tidak
melebihi kapasitas kendaraan yang ditugaskan. Biaya perajalanan (routing cost)
kendaraan adalah jumlah dari fixed cost dan variable cost yang terjadi sebanding
dengan jarak yang ditempuh. Tujuannya adalah untuk meminimasi total routing cost.
Jumlah kendaraan diasumsikan tidak terbatas (Choi dan Tcha, 2007).
Choi dan Tcha (2007) ada tiga versi VRPH yang telah dipelajari, pertama kali
diperkenalkan oleh Golden et.al (1984), dimana variable cost adalah uniform untuk
semua tipe kendaraan dengan jumlah kendaraan yang tersedia diasumsikan tidak
terbatas untuk setiap tipe. Versi ini juga disebut fleet size and mix VRP, Golden et.al
(1984) atau fleet size and composition VRP, Gheysen et.al (1986). Versi yang kedua
mempertimbangkan variable cost yang tergantung pada tipe kendaraan, yang
berbeda dengan versi yang pertama yang tidak mempertimbangkannya. Versi ini
dikenal juga sebagai heterogeneous fleet vehicle routing problem (HVRP), Genderau
et.al (1999), VFM with variable unit running costs, Salhi S et.al (1992) atau fleet mix
VRP, Wassan dan Osman (2002). Versi yang terakhir disebut VRP with
heterogeneous fleet of vehicles, Taillard (1996), atau the heterogeneous fixed fleet
VRP, Tarantilis et.al (2004) yang merupakan generalisasi dari versi yang kedua
dengan jumlah kendaraan untuk masing-masing tipe terbatas.
Gambar II.2 berikut ini akan merupakan ilustrasi FMVRP. Misalkan terdapat satu
depot, sepuluh pelanggan, dan tiga tipe kendaraan. Permasalahan yang muncul
adalah penentuan rute kendaraan untuk masing-masing tipe yang mengunjungi
pelanggan dengan memenuhi batasan-batasan yang ada (termasuk pemenuhan
pelanggan) dan sekaligus meminimumkan total biaya operasi. Selain tujuan FMVRP
untuk meminimumkan total biaya operasi juga tujuan utama lainnya adalah
meminimumkan jumlah kendaraan untuk masing-masing tipe. Dengan menggunakan
metode-metode pemecahan masalah diperoleh rute kendaraan seperti yang terlihat
pada gambar II.2. kendaraan tipe pertama secara berurutan mengunjungi pelanggan
2, 1, 9, dan 8 lalu kembali ke depot. Kendaraan tipe kedua secara berurutan
mengunjungi pelanggan 3, 5, dan 4 lalu kembali ke depot. Kendaraan tipe ketiga
secara berurutan mengunjungi pelanggan 10, 7 dan 6 lalu kembali ke depot.
20
0
6
7
10
8
3
5
4
2
19
9
8
7
8
3
5
5
1
4
1
Gambar II.2. Ilustrasi FMVRP
II.1.4.2. Model Matematik FMVRP.
Rumusan pemograman matematis FMVRP diambil dari Gheysens et.al (1984) yang
mana ada n pelanggan yang terletak pada lokasi yang berbeda-beda yang harus di
layani oleh kendaraan dari depot. Depot dinotasikan dengan angka 0 dan lokasi
pelanggan dinotasikan dengan i = 1,..., n. masukan berikut diasumsikan tersedia:
T = jumlah dari tipe kendaraan
Qk = kapasitas dari kendaraan tipe k (Q1 < Q2<...<QT)
fk = fixed cost dari kendaraan tipe k (f1 < f2 <...< fT)
dj = demand dari pelanggan j
cij = biaya perjalanan dari pelanggan i ke pelanggan j (diasumsikan cij = cji)
Variabel keputusan yang digunakan adalah
⎩⎨⎧
=otherwise
jikxk
ij 0 ke dai perjalananmelakukan tipekendaraan jika 1
yij = aliran barang dari i ke j
sehingga FMVRP dapat dirumuskan sebagai berikut:
∑∑∑∑∑= = ===
+T
k
n
i
n
j
kijij
n
j
kj
T
kk xcxf
1 0 010
1Min (2-12)
21
Dengan pembatas :
njxT
k
n
i
kij ,...,1 1
1 0
==∑∑= =
(2-13)
∑ ∑= =
===−n
i
n
l
kjl
kij Tknjxx
0 0
,...,1 ;,...,0 0 (2-14)
njdyy j
n
ljl
n
iij ,...,1
00
==−∑∑==
(2-15)
njxQyT
k
kjkj ,...,1
100 =≤∑
=
(2-16)
njixMyT
k
kijij ,...,0
1
=≠≤ ∑=
(2-17)
njiyij ,...,0 0 =≠≥ (2-18)
Tknjixkij ,...,1 ;,...,0 }1,0{ ==≠∈ (2-19)
Sebagai catatan ∑=
n
j
kjx
10 menggambarkan jumlah total kendaraan dari tipe k yang
tercakup dalam armada tersebut. Fixed cost fk terjadi untuk masing-masing
kendaraan, berikutnya menunjukan biaya perjalanan (2-12). Pembatas (2) dan (3)
memastikan tepat hanya satu kali kendaraan masuk dan meninggalkan pelanggan.
Persamaan (2-15) menunjukan pergerakan dari barang diasumsikan untuk semua
permintaan konsumen harus tercukupi. Pembatas (2-16) menunjukan total load
(muatan) dalam sekali perjalanan (trip) y0j tidak melebihi kapasitas kendaraan untuk
masing-masing tipe. Persamaan (2-17) menyatakan tidak ada perjalanan barang dari i
ke j jika tidak ada perjalanan kendaraan dari i ke j (yaitu jika kjx0 = 0 untuk semua k).
M dalam jumlah yang besar sedemikian sehingga persamaan (2-17) menjadi
berlebihan jika 11
=∑=
T
k
kijx . Sepesifikasi lengkap dari semua variabel k
ijx secara
simultan memperbaiki komposisi dan struktur rute kendaraan untuk setiap kendaraan
dalam armada.
22
II.1.5. Vehicle Routing Problem with Multiple Products and Multiple Compartments
VRP with multiple products and multiple compartments terjadi jika produk yang
diantarkan terdiri atas lebih dari satu jenis produk yang harus disimpan dalam
kendaraan dalam kompartemen yang berbeda (Christofides et.al, 1979).
Misalkan terdapat satu set pelanggan X, depot x0, dan satu set kendaraan V.
pelanggan xi mempunyai kebutuhan sebagai berikut:
1. Satu set Li, tipe produk yang berbeda yang akan diantarkan menggunakan
kendaraan. Dengan tiap tipe produk (i,l), l = 1,...,Li diasosiasikan kuantitas qil
dan sebuah label πi.
2. Waktu ui dibutuhkan untuk mengunjungi pelanggan dan untuk membongkar
muatan.
Kendaraan vk mempunyai karakteristik sebagai berikut:
1. Satu set kompartemen Hk untuk membawa produk. Dengan tiap kompartemen
(k,h), h = 1,..., Hk diasosiasikan kapasitas Qkh dan label Πkh.
2. Aturan untuk menentukan apakah r buah rlili r
qq ,...,11
, dengan label
rlili rππ ,...,
11 dapat dimsukan atau tidak kedalam kompartemen dengan
kapasitas Qkh yang mempunyai label Πkh.
Aturan ini tidak hanya membutuhkan bahwa kh
r
jli Qq
jj≤∑
=1 tapi juga beberapa fungsi
),,...,(11 khrlili r
f Πππ mempunyai nilai 0.
Sebagai contoh, dalam pendistribusian barang yang harus dibekukan / frozen goods (l
= 1) dan yang tidak dibekukan / nonfrozen goods (l = 2), dengan kendaraan yang
mempunyai refrigerated compartments (h = 1) dan nonrefrigerated compartemens (h
= 2), dapat dibuat πi1 = 1, πi2 = 2, i∀ dan = 1 Πk2 = 2, k∀ dengan fungsi
),,...,(11 khrlili r
f Πππ = 0 jika dan hanya jika khlili Π=== ...21 21
ππ .
Contoh lainnya adalah, pada pendistribusian minyak dengan berbagai tipe, tipe-tipe
minyak tersebut jelas tidak bisa dicampur, tapi bisa saja tidak perlu dipedulikan ke
kompartemen yang mana tiap tipe tersebut dimasukan.
23
1. Jika kebutuhan/persyaratan pelanggan untuk tipe minyak yang sama dapat
dicampur dalam kompartemen yang sama, tentukan jli j
π sama dengan tipe
minyak (ij, lj) dengan fungsi ),,...,(11 khrlili r
f Πππ = 0 jika dan hanya jika
rlili rππ == ...
11.
2. Jika kebutuhan/persyaratan dari setiap pelanggan untuk setiap tipe minyak
harus disimpan dalam kompartemen yang terpisah, tentukan jli j
π sama
dengan bilangan bulat (integer) yang berbeda dengan ),,...,(11 khrlili r
f Πππ = 0
jika dan hanya jika rlili r
ππ == ...11
.
II.1.6. VRP Multiple Trips (VRPMT)
II.1.6.1. Defenisi VRPMT
Dalam VRP standar, satu kendaraan hanya dapat melayani satu rute dalam horizon
perencanaan. Vehicle Routing Problem With Multiple Trips (VRPMT)
memungkinkan satu kendaraan memiliki lebih dari satu rute selama horizon
pencanaan. Dalam literatur, VRPMT sering disebut juga dengan vehicle routing
problem with multiple use of vehicles. Kendaraan dapat berangkat dan pulang ke
depot lebih dari satu siklus selama periode perencanaan. Kendala tambahan dapat
berupa kendala maksimum total jarak tempuh atau maksimum waktu perjalanan
kendaraan. VRPMT ini pernah diteliti oleh Taillard et.al. (1996), Brandao dan
Mercer (1997), Zhao et.al. (2002) dalam Mahaputra (2006). Fagerholt (1999) dan
Suprayogi et.al. (2001) membahas VRPMT dalam konteks ship routing dengan
merumuskan permasalahan dalam bentuk set partitioning problem (SPP).
Gambar II.3 berikut ini merupakan ilustrasi VRPMT. Misalnya, terdapat satu depot,
sepuluh pelanggan, dan tiga kendaraan. Permasalahan yang muncul adalah penentuan
rute kendaraan untuk mengunjungi pelanggan memenuhi batasan-batasan yang ada
(termasuk pemenuhan permintaan pelanggan) dan sekaligus meminumumkan total
biaya operasi. Selain itu, tujuan utama VRPMT adalah meminimumkan biaya operasi
total. Selain itu, tujuan utama VRPMT adalah meminimumkan jumlah kendaraan
sehingga satu kendaraan diperbolehkan memiliki lebih dari satu rute. Dengan
menggunakan metode-metode pemecahan masalah diperoleh rute kendaraan seperti
24
yang terlihat pada gambar II.3. Kendaraan pertama secara berurutan mengunjungi
pelanggan 2,1, dan 9, lalu kembali ke depot. Kendaraan kedua secara berurutan
mengunjungi pelanggan 3, 5, dan 4 lalu kembali ke depot. Kendaraan ke tiga
berangkat dari depot lalu secara berurutan mengunjungi pelanggan 8 dan 10 lalu
kembali ke depot dan mengunjungi lagi pelanggan 7 dan 6 lalu kembali ke depot.
Gambar II.3. Ilustrasi VRPMT.
II.1.6.2. Model Matematik VRPMT
Rumusan matematik VRPMT berbasis TSP
Rumusan matematis berbasis TSP yang diambil dari Zhao et.al (2002) dalam
Mahaputra (2006) dapat dinyatakan sebagai berikut:
∑∑∑∑∑∑= = = == =
+n
i
n
jijkr
n
i
n
rij
n
j
n
ijkr xcx
0 0 1 11 10Min (2-20)
Dengan n = jumlah pelanggan, f = biaya tetap untuk tiap-tiap kendaraan, cij = biaya
perjalanan dari pelanggan i ke pelanggan j. xijkr = 1 jika kendaraan k melakukan
perjalanan dari pelanggan i ke pelanggan j pada rute r dan dan bernilai 0 jika
sebaliknya. Batas atas dari k dan r adalah n. jadi, item pertama pada fungsi tujuan
memberikan biaya tetap total dan item selanjutnya memberikan biaya variabel total.
Tiap pelanggan hanya di kunjungi satu kali dan tiap kendaraan yang datang ke lokasi
juga meninggalkan lokasi, ditunjukan dengan persamaan (2-21) dan (2-22)
25
njxn
i
n
k
n
rijkr ,...,1 1
0 1 1
==∑∑∑= = =
(2-21)
nrnknpxxn
jpjkr
n
iipkr ,...,1 ,...,1 ,,...,1 0
00====−∑∑
==
(2-22)
Sebagai tambahan, muatan yang diangkut/ dibawa dalam satu rute tidak boleh
melebihi kapasitas kendaraan dan waktu perjalanan total untuk tiap-tiap kendaraan
pada satu tur tidak boleh melebihi durasi kerja yang ditentukan. Hal ini ditunjukan
dengan pertidaksamaan (2-23) dan (2-24)
nrnkQxqn
jijkr
n
iii ,...,1 ,...,1
00==≤∑∑
==
(2-23)
,...,1 0 0 0
nkHxtn
i
n
iijkr
n
jij =≤⎟⎟
⎠
⎞⎜⎜⎝
⎛∑ ∑∑= = =
(2-24)
Dengan Q menunjukan kapasitas masing-masing kendaraan, qi menunjukan
permintaan pelanggan, tij menunjukan waktu perjalanan dari pelanggan I ke
pelanggan j (diasumsikan bahwa waktu perjalanan independen dengan jenis
kendaraan), dan H adalaha durasi kerja untuk seua kendaraan. Selanjutnya pembatas
eliminasi sub tur diberikan pada pertidaksamaan berikut ini:
nrnkBNBBxn
Bi
n
Bjijkr ,...,1 ,...,1 2][, 1][ ==≥⊆−≤∑∑
∈ ∈
(2-25)
Dengan N menunjukan set pelanggan dan |B| menunjukan jumlah pelanggan dalam
subset B.
Pembatas yang terakhir adalah yang mengacu pada variabel keputusan.
nrnknjnixijkr ,...,1 ,...,1 ,...,1 ,...,1 }1,0{ ====∈ (2-26)
Permasalahan yang sangat kompleks ini menunjukan bahwa pendekatan eksak tidak
bisa digunakan untuk menyelesaikan permasalahan ini meskipun ukuran
permasalahan kecil (Zhao et.al., 2002).
Rumusan matematik VRPMT berbasis SPP
Fagerholt (1999) dan Suprayogi et.al. (2001) merumuskan pemrograman matematis
berbasis SPP untuk VRPMT. Rumusan berbasis SPP dinyatakan sebagai berikut: T
menunjukan kumpulan kandidat tur yang layak dan mencakup tur dengan rute
26
tunggal dan mejemuk. N menunjukan himpunan pelanggan yang dinyatakan dengan
N = {1,…,n}. Aij adalah konstanta yang bernilai 1 jika tur t mencakup pelanggan i
dan bernilai 0 jika tur t tidak mencakup pelanggan i. Notasi cr merupakan biaya
untuk tur t (gabungan dari biaya tetap dan biaya variabel) dan xr adalah variabel biner
yang bernilai 1 jika tur t dipilih sebagai solusi optimal.
∑∈Tt
tt xcMin (2-27)
Dengan pembatas
∑∈
∈∀=Tt
tit NixA ,1 (2-28)
Ttxt ∈∀∈ },1,0{ (2-29)
Fungsi tujuan (2-27) meminimumkan biaya total yang mencakup biaya tetap,
kendaraan dan biaya variabel berupa biaya perjalanan kendaraan. Pembatas (2-28)
menjamin bahwa setiap pelanggan hanya dikunjungi oleh satu kendaraan (tur).
Pembatas (2-29) menunjukan batasan nilai dari variabel biner. Solusi yang optimal
dapat diperoleh dengan menyelesaikan formulasi SPP ini menggunakan integer
programming solver.
Suprayogi et al. (2001) himpunan tur (rute tunggal maupun rute majemuk) yang
layak dibangkitkan dengan melalui enumerasi semua tur yang mungkin dari subset
himpunan pelanggan. Tiap tur yang dibangkitkan untuk tiap subset diperiksa
kelayakannya terhadap pembatas kapasitas dan horizon perencanaan.
II.1.7. Split Delivery Vehicle Routing Problem (SDVRP)
II.1.7.1. Defenisi SDVRP
VRP standar mengasumsikan bahwa tiap pelanggan hanya dilayani oleh satu
kendaraan. Dalam split delivery routing, pengantaran kepada satu demand point
dapat dibagi (split) oleh beberapa kendaraan. Walaupun terdapat relaksasi ini,
masalah yang ada tetap sulit untuk diselesaikan.
Dror dan Trudeau (1990) membahas permasalahan SDVRP dengan menganalisis
penghematan (savings) yang terjadi dengan memperbolehkan adanya split dekivery
pada VRP standar, walaupun dengan begitu akan menambah kompleksitas VRP.
27
Prosedur heuristik yang digunakan adalah k-split interchange (membagi demand
pelanggan jika terdapat penghematan jarak) dan route addition (menambah rute
untuk menghilangkan split delivery jika terdapat penghematan jarak). Menurut Dror
dan Trudeau (1990), jika pelanggan-pelanggan mempunyai demand diatas 10% dari
kapasitas kendaraan, penghematan yang signifikan akan didapatkan jika dilakukan
split delivery. Ilustrasi SDVRP dapat dilihat pada gambar II.14.
Misalkan terdapat satu depot, sepuluh pelanggan, dan tiga kendaraan. Permasalahan
yang muncul adalah penentuan rute kendaraan untuk mengunjungi pelanggan dengan
memenuhi batasan-batasan yang ada dan sekaligus meminimasi biaya operasi total.
Setiap pelanggan tidak harus dikunjungi oleh satu kendaraan saja, dengan kata lain
permintaan (demand) setiap pelanggan dapat diantarkan oleh lebih dari satu
kendaraan. Dengan menggunakan metode-metode pemecahan masalah seperti
metode optimal, heuristik, atau metaheuristik, rute kendaraan diperoleh seperti yang
terlihat pada gambar II.4. Kendaraan pertama secara berurutan mengunjungi
pelanggan 2, 1, 9, dan 10 lalu kembali ke depot. Kendaraan dua secara berurutan
mengunjungi pelanggan 3,5 dan 4 lalu kembali ke depot. Kendaraan tiga berangkat
dari depot lalu secara berurutan mengunjugi pelanggan 8, 10, 7, dan 6 lalu kembali
ke depot. Terlihat bahwa pelanggan 10 dikunjungi dua kali oleh kendaraan satu dan
kendaraan tiga (split delivery dilakukan terhadap demand pelanggan 10).
0
6
7
10
8
3
5
4
2
19
9
8
7
8
3
5
8
1
4
2
2
Gambar II.4. Ilustrasi SDVRP
28
II.1.7.2. Rumusan Matematik SDVRP
Rumusan pemrograman metematis SDVRP yang diambil dari Dror dan Trudeau
(1990) dapat dinyatakan sebagai berikut:
Cij = biaya perjalanan dari pelanggan i ke pelanggan j
di = demand pelanggan i
Qv = kapasitas kendaraan v
xvij = 1 jika kendaraan v melakukan perjalanan dari pelanggan i ke pelanggan j
dan bernilai 0 jika sebaliknya.
yij = proporsi demand pelanggan i yang diantarkan oleh kendaraan v
NV = jumlah kendaraan
S = menunjukan himpunan semua siklus pada himpunan N, termasuk depot
(titik 0 menunjukan depot)
∑∑∑= = =
n
0
n
0
NV
1szMin
i j v
vijij xC (2-30)
Dengan pembatas
∑∑= =
=≥NV
1
n
0
,...,1,0untuk ,1v i
vij njx (2-31)
NVvnpxxi j
vpj
vip ...,2,1 ;,...,1,0untuk ,0
n
0
n
0===−∑ ∑
= =
(2-32)
∑=
==NV
viv niy
1
;,...,1,0untuk ,1 (2-33)
∑=
=≤n
ivivi NVvQyd
1
;,...,1,0untuk , (2-34)
∑=
==≤n
j
vjiiv NVvnixy
0 ,...,2,1 ;,...,2,1untuk , (2-35)
X ∈ S (2-36)
NVvnjnixvij ,...,2,1 ;,...,1,0 ;,...,1,0untuk ,1,0 ==== (2-37)
NVvniy iv ,...,2,1 ;,...,2,1untuk ,0 ==≥ (2-38)
29
Persamaan (2-30) menunjukan ongkos total yang dikeluarkan oleh armada
kendaraan. Pembatas (2-31) memastikan bahwa setiap pelanggan akan mendapatkan
setidaknya satu kali pengantaran (bedakan dengan pembatas (2-2) pada VRP
standar, yang mensyaratkan setiap pelanggan hanya dilalui oleh satu kendaraan).
Pembatas (2-32) memastikan bahwa kendaraan yang memasuki node i (termasuk
depot) akan meninggalkan node tersebut. Pembatas (2-33) memastikan bahwa setiap
pelanggan akan menerima kiriman demand seara penuh. Pembatas (2-34)
memastikan bahwa penugasan pengiriman untuk setiap kendaraan tidak melebihi
kapasitas kendaraan. Pelanggan i hanya bisa dilayani oleh kendaraan yang melalui
pelanggan tersebut, hal ini dipastikan oleh pembatas (2-35). Pembatas (2-36)
merupakan pembatas eliminasi subtur yang fungsinya memastikan bahwa rute
kendaraan selalu berawal dan variabel xvij. Pembatas (2-38) adalah pembatas non
negatif untuk variabel yiv.
Berbeda dengan VRP standar, pada SDVRP ini rute kendaraan tidak hanya
ditentukan oleh konfigurasi ruangnya saja, melainkan juga oleh kuantitas yang
dikirimkan pada setiap node. Hal ini ditunjukan melalui pembatas (2-33) sampai (2-
34). Pada VRP standart, rute hanya ditentukan oleh konfigurasi ruang saja,
dikarenakan kuantitas yang dikirimkan pada setiap node ditentukan oleh parameter
permasalahan demand tiap pelanggan, di.
II.2. Ship Routing and Scheduling
Vehicle routing and scheduling problem telah banyak dibahas dalam banyak literatur
dan menjadi salah satu success stories dalam bidang management science atau
operation research. Christiansen (1998b), ada beberapa alasan ketertarikan yang
begitu besar terhadap masalah ini adalah:
• Transaportasi barang dan jasa adalah salah satu komponen biaya utama dalam
berbagai sistem distribusi dan transportasi. Sebagai contoh, pengoperasian
atau penyewaan kapal laut bisa menghabiskan biaya puluhan ribu US$ sehari,
sehingga penentuan rute dan penjadwalan yang tepat dari armada kapal dapat
menghasilkan penghematan yang besar.
• Routing and scheduling problems merupakan masalah yang menarik dilihat
dari sudut pandang teori optimasi. Masalah yang mendasarinya secara
30
konseptual sederhana, tetapi kompleks secara matematis dan menantang.
Untuk menyelesaikan masalah yang rumit ini, formulasi dari masalah
merupakan keperluan yang vital. Biasanya, formulasi masalah dan teknik
solusi yang dipilih terkait erat satu sama lain.
Christiansen (1998a), penghematan yang signifikan bisa dicapai dengan adanya
penentuan rute dan penjadwalan armada kapal yang efisien. Ronen (1983)
mengemukakan beberapa alasan mengapa ship routing and scheduling problem
hanya mendapat sedikit perhatian. Salah satu alasan yang disebutkan adalah karena
industri perkapalan sudah sejak lama sekali menentukan rute armadanya
menggunakan cara manual. Industri ini tergolong konservatif dan tidak terbuka
terhadap metode-metode baru yang berbasis optimasi. Alasan lain adalah karena
penjadwalan kapal memiliki varian yang lebih banyak dalam struktur
permasalahannya maupun operating environments-nya dibandingkan penjadwalan
kendaraan biasa, sehingga tailor-made systems sering diperlukan sebagai alat
pendukung bagi pengambilan keputusan. Dalam merencanakan penjadwalan
armadanya, banyak shipping companies yang tidak memakai bantuan computer
based decision support system.
II.2.1 Infrastuktur Jaringan Transportasi Produk Minyak
Iakovou (1996) dalam Komara (2006), jaringan transportasi minyak di perairan laut
merupakan sistem yang terdiri dari sekumpulan nodes dan links. Nodes yang
dimaksud adalah pelabuhan-pelabuhan, import/export points, dan lightering zones.
Pelabuhan dan import/export points masing-masing mempunyai supply dan demand
dengan jumlah dan tipe produk minyak yang diterima dan dikirimkan berbeda satu
sama lain. Hubungan (links) antar nodes merupakan jalur pelayaran tanker, terusan,
dan coastal navigation channels.
Produk minyak bisa dikategorikan menjadi minyak mentah (crude oil) dan produk
petroleum. Produk petroleum yang berasal dari pemrosesan minyak mentah antara
lain adalah bensin, minyak tanah (kerosin), distillate, residual fuel oil, lube oil &
greases, petroleum jelly & waxes, naptha & solvents, aspal, tar & pitch, petroleum
coke, liquid natural gas (LNG) dan non-classified petroleum products lainnya.
Pengiriman produk minyak juga dibedakan berdasarkan kategori dan ukuran vessel.
31
Banyak perusahaan mengirimkan produk atau material mereka kepada konsumen,
atau distribution center atau fasilitas manufaktur, dalam recurrent basis (berulang).
Seringkali pengiriman tidak diinisiasi oleh adanya order dari lokasi penerima,
melainkan pengirim harus menjadwalkan pengiriman agar lokasi penerima tidak
mengalami kekurangan stok. Ini adalah kasus untuk produk (atau material) yang
dikirimkan dalam volume besar (bulk atau semi-bulk), atau dalam kasus perusahaan
harus menjaga tingkat persediaan tertentu. Banyak produk dikirimkan dengan cara
seperti itu, termasuk produk minyak yang dikirim ke SPBU. Dengan metode
pengiriman seperti itu, keputusan harus dibuat tidak hanya dengan
mempertimbangkan routing dan penjadwalan dari setiap kendaraan tapi juga
mempertimbangkan kapan tiap lokasi pengiriman harus dikunjungi dan berapa
banyak yang harus dikirim (Ronen, 2002).
Pengangkutan dengan jumlah besar (bulk) dalam armada perdagangan dunia
biasanya beroperasi dengan kapal dipenuhi barang antara loading dan discharging
port, kemudian kapal tidak mengangkut barang (kapal kosong) hingga mencapai
loading port selanjutnya. Biaya pengiriman ini ditetapkan dengan basis supply atau
demand dan sangat bervariasi. Oleh karena itu, penjadwalan kapal yang tepat
mempunyai potensi yang sangat besar untuk meningkatkan laba perusahaan dan
performansi ekonomis pengiriman barang (Kim dan Lee, 1997).
Douligeris et.al, (1997) dalam Komara (2006) kategori kapal yang digunakan untuk
transportasi produk minyak di laut adalah sebagai berikut:
1. Tanker
a. Kecil (kurang dari 19-foot draft)
b. Medium (19 sampai 30-foot draft)
c. Large (lebih besar daripada 30-foot draft)
2. Tanker barge ( kapal tongkang)
a. Kecil (kurang dari 19-foot draft)
b. Besar (lebih besar atau sama dengan 19-foot draft)
Satu kapal tanker membutuhkan capital investment yang besar. Saat ini, banyak
perusahaan minyak lebih suka menyewa tanker dari pada membangun sendiri.
Pengadaan tanker membutuhkan biaya yang cukup besar karena spesifikasi tanker
32
harus memenuhi peraturan kelautan tertentu. Biaya pengoperasian satu kapal bisa
mencapai ribuan US$ perhari. Oleh karenanya perbaikan dalam penentuan rute dan
penjadwalan kapal dapat menghasilkan penghematan yang besar yang pada akhirnya
akan memberikan peningkatan profit yang signifikan. Hal ini penting agar bisa
bertahan dalam pasar yang semakin kompetitif.
Biaya pelayaran terutama terdiri dari biaya bahan bakar yang tergantung pada ukuran
kapal, kecepatan kapal, dan banyaknya kargo yang dibawa oleh kapal. Waktu yang
dibutuhkan di pelabuhan tergantung pada kuantitas produk yang harus dimuat
(loaded) atau di bongkar(discharge), dengan rata-rata memerlukan waktu satu hari.
Menurut Ronen (1983) terdapat tiga metode operasi pelayaran yaitu: liner, tramp,
dan industrial. Ketiga mode ini tidak didefenisikan secara jelas ataupun mutually
exclusive. Satu kapal bisa ditransfer dari satu mode ke mode lainnya dan operator
dapat mengoperasikan kapal dalam beberapa mode dalam waktu yang bersamaan.
Linear operation menyerupai armada bus yaitu terdapat jadwal keberangkatan dan
terjadi persaingan dalam mendapatkan kargo. Jadwal dari liner ships mempengaruhi
demand terhadap jasa mereka (kargo yang didapatkan). Liners biasanya beroperasi
dalam rute tertutup dan seringkali asal dan tujuan perjalanan tidak dapat
didefenisikan karena kapal-kapal dapat memuat dan membongkar kargo di setiap
pelabuhan yang dikunjungi dan kapal-kapal tesebut tidak pernah kosong.
Tramp operation menyerupai armada taksi. Kapal dikirimkan ke tempat dimana
kargo berada dan biasanya kapal tersebut penuh, dengan single origin dan satu atau
dua tujuan. Liner dan tramp operation biasanya adalah maksimasi laba per satuan
waktu.
Industrial operation mirip dengan operasi armada truk. Pemilik kargo
mengendalikan armada kapal. Kapal-kapal tersebut bisa merupakan milik perusahaan
itu sendiri atau perusahaan menyewa kapal (carter). Tujuan utama dari industrial
operation ini adalah untuk menjamin pelayanan transportasi bagi perusahaan dan
mereduksi biaya.
33
II.2.1.1. Jenis terminal
Komara (2006) pola opeasi kapal, baik sebagai pengangkut minyak mentah maupun
produk minyak adalah dari satu terminal loading menuju satu atau beberapa terminal
discharging. Disamping itu, terdapat terminal yang difungsikan sebagai terminal
transit (transhipment).
Ciri pola distribusi minyak mentah adalah kapal bergerak dari sumur minyak
(sebagai terminal loading) menuju ke tempat penyulingan minyak (refinery) atau
menuju ke terminal transit. Sedangkan pada produk minyak, kapal bergerak dari
refenery (terminal loading) menuju depot-depot penerima produk minyak. Untuk
membantu distribusi produk minyak, dikenal juga terminal transit, terminal buffer,
dan terminal backloading. Terminal buffer adalah terminal yang berfungsi untuk
menjaga ketersediaan produk minyak secara nasional dengan cara mengimpor
minyak. Sedangkan terminal backloading adalah terminal yang fungsinya sama
dengan terminal transit, hanya saja kapasitas suplainya kecil.
II.2.1.2. Pola distribusi minyak
Komara (2006) ditinjau dari sebaran geografis permintaan minyak yang ada, pola
transihipment dalam pendistribusian minyak tidak dapat dihindari. Gambar II.1
berikut ini menggambarkan pola distribusi minyak.
Gambar II.5. Pola Distribusi Minyak.
Untuk berproduksi, pusat pengolahan minyak (kilang ) membutuhkan pasokan
minyak mentah, sehingga ada aliran minyak mentah dari sumber minyak menuju
34
kilang. Minyak mentah yang telah diolah dari tempat penyulingan kemudian
didistribusikan ke terminal transit atau langsung ke depo. Distribusi produk minyak
juga dapat melalui buffer sebagai teminal loading menuju terminal transit atau
langsung ke depo sebagai terminal discharging. Permintaan produk minyak dari tiap
depo dapat juga dilayani dari terminal transit
II.2.1.3. Karakteristik pelabuhan
Dermaga dapat melayani 1 sampai n kapal bersamaan tergantung pada panjang
dermaga, panjang pipa in dan out, panjang kapal, jarak antara pipa in-out satu dengan
lainnya, atau dari data yang ada misalnya dermaga g pada pelabuhan h dapat
melayani maksimal tiga kapal dengan bobot mati x DWT dan dengan panjang y,
(Komara, 2006).
Gambar II.6. Kapal Bersandar pada Dermaga
II.2.1.4. Karakteristik loading dan discharging
Pada gambar II.7 sampai dengan gambar II.10, diilustrasikan macam-macam proses
loading dan discharging pada dermaga (Komara, 2006)
35
Gambar II.7. Proses Loading dan Discharging 1 Jenis Produk ke/dari r Tangki Kapal
Gambar II.8. Proses Loading dan Discharging 1 Jenis Produk
ke/dari 1 Tangki Kapal Dalam Waktu Bersamaan
Gambar II.9. Proses Loading dan Discharging 1..N Jenis Produk ke/dari 1..N Tangki Kapal
36
Gambar II.10. Proses Loading dan Discharging 1..N Jenis Produk ke/dari 1..N Tangki Kapal dengan Pergerakan Kapal dari Satu Dermaga ke Drmaga lainnya Pada
Pelabuhan yang Sama.
II.2.1.5. Karakteristik Ship Routing
Pada gambar II.11 sampai gambar II.14 diilustrasikan macam-macam karakteristik
ship routing atau karakteristik distribusi produk minyak menggunakan tanker.
Kondisi laden adalah kondisi kapal berlayar dengan mengangkut muatan penuh.
Kondisi inballast adalah kondisi kapal berlayar tanpa muatan (Komara, 2006).
Gambar II.11. Perjalanan Kapal dengan Relasi One to One
37
Gambar II.12. Perjalanan Kapal dengan Relasi One to Many
Gambar II.13. Perjalanan Kapal dengan Relasi Many to One
Gambar II.14. Perjalanan Kapal dengan Relasi Many to Many
II.2.2. Perbedaan antara standart vehicle routing and scheduling problem dengan ship routing and scheduling problem.
Ronen (1983) menyebutkan perbedaan utama antara standart vehicle routing and
scheduling problem dengan ship routing and scheduling problem yaitu:
38
1. Armada truk seringkali terdiri dari banyak truk yang identik, sedangkan kapal
hampir selalu berbeda antara satu dengan yang lain baik itu dalam ukuran,
kompartemenisasi, struktur biaya, dan karakteristik lainnya.
2. Marine routing problem seringkali melibatkan beberapa produk yang harus
dikirimkan dalam kompartemen yang terpisah dalam satu kapal. Berbadea
dengan package products yang dapat disimpan secara bersamaan dalam
kompartemen yang sama.
3. Kapal-kapal yang ada mempunyai ukuran yang bervariasi dengan ukuran
kompartemen yang berbeda. Ketika pengiriman terdiri lebih dari satu produk
yang harus dimuat dalam satu kapal, jumlah produk harus disesuaikan agar
sesuai dengan kompartemen yang tersedia.
4. Pelabuhan biasanya hanya mempunyai satu atau sedikit lokasi bongkar muat.
5. Waktu pengiriman biasanya lebih lama (dalam hitungan hari).
6. Permasalahan penjadwalan kapal memiliki tingkat ketidakpastian yang tinggi.
Kapal mungkin mengalami keterlambatan karena masalah cuaca, kerusakan
mesin, pemogokan di pelabuhan, dsb. Demand juga tidak diketahui dengan
pasti. Sebagian informasi baru diketahui seiring berjalan waktu. Kebanyakan
masalah penjadwalan diselesaikan menggunakan stattic procedures dan
dilakukan rerun ketika terdapat update informasi.
7. Kapal tidak harus ke tempat asalnya.
8. Kapal beroperasi 24 jam, sedangkan truk biasanya tidak beroperasi diwaktu
malam.
9. Tujuan kapal dapat berubah sewaktu-waktu ketika berada di laut.
II.3. Algoritma Sequential Insertion
Untuk membentuk solusi VRP, terdapat dua macam cara, yaitu menggabungkan rute
yang ada dengan menggunakan criteria penghematan (saving criterion) dan mencoba
secara berurutan memasukan pelanggan dalam rute kendaraan dengan menggunakan
criteria biaya penyisipan (cost insertion) Laporte et.al.( 2000) dalam Komara (2006).
Metode yang kedua telah terbukti menjadi metode yang popular digunakan untuk
menyelesaikan permasalahan rute dan penjadwalan kendaraan (vehicle routing and
scheduling problems) (Campbell dan savelsbergh, 2002). Algoritma ini membangun
solusi yang layak yaitu sekumpulan rute yang layak dengan cara berulang kali
mencoba memasukan pelanggan yang belum masuk dalam rute manapun ke dalam
39
bagian sementara dari rute yang terbentuk saat ini. Isu yang muncul pada algoritma
ini adalah pemelihan pelanggan yang belum masuk dalam rute manapun untuk
disisipkan dan pemilihan lokasi tempat penyisipan pelanggan.
Algoritma heuristic insertion ini sangat terkenal sebab metode ini sangat cepat dalam
memberikan solusi, mudah untuk diimplementasikan, dan mudah dikembangkan
untuk menangani pembatas-pembatas yang sulit. Beberapa literature pernah
menggunakan algoritma ini seperti Solomon (1987) dalam Mahaputra (2006) telah
mengembangkan algoritma ini untuk untuk memecahkan VRPTW. Algoritma
insertion ini sering dipilih untuk meghasilkan solusi awal yang layak pada LS dan
metaheuristik untuk permasalahan rute dan penjadwalan kendaraan (vehicle routing
and scheduling problems).
Untuk menjelaskan algoritma insertion dasar, notasi-notasi yang digunakan didefenisikan terlebih dahulu. Missal, terdapat n pelanggan dan permintaan pelanggan i dinyatakan dengan qi. Campbell dan Savelsbergh (2002) mengasumsikan bahwa qi tidak melebihi kapasitas kendaraan Q dengan kendaraan memiliki kapasitas yang sama (homogeneous). Waktu perjalanan dari pelanggan i ke pelanggan j dinyatakan dengan tij dan diasumsikan tidak terdapat tambahan waktu pada saat pengiriman ke pelanggan selama waktu perjalanan. Sebuah rute didefenisikan sebagai perjalanan dari depot ke beberapa pelanggan secara berturutan dan kembali lagi ke depot. Sebuah rute dinyatakan dengan (0,1,2,…,j,…,n+1) dengan 0 dan n+1 meyatakan depot dan kendaraan akan melayani pelanggan i yang telah menduduki posisi j pada rute tersebut. Algoritma insertion didefenisikan sebagai metode untuk menyisipkan pelanggan yang belum masuk dalam rute, pelanggan i, diantara pelanggan j-1 dan j pada rute (0,1,2,…,j - 1, j,…, n + 1).
Algoritma insertion terdiri dari dua macam yaitu algoritma parallel insertion dan sequential insertion. Algoritma parallel insertion pernah dibahas oleh Potvin dan Rousseau (1992) dalam Mahaputra (2006) untuk menyelesaikan VRPTW dengan beberapa rute dibangun sekaligus dalam waktu yang sama. Prinsip dasar dari algoritma ini adalah pertama-tama membentuk sejumlah rute. Selanjutnya, tiap pelanggan akan disisipkan pada posisi tertentu pada salah satu tur yang memberikan criteria terbaik, jika tidak dimungkinkan lagi terjadi penyisipan maka satu tambahan rute dibangkitkan. Algoritma behenti jika semua pelanggan telah ditugaskan. Potvin
40
dan Rousseau (1992) dalam Mahaputra (2006) rincian algoritma parallel insertion dapat dinyatakan sebagai berikut:
N = kumpulan pelanggan yang belum ditugaskan R = satu set rute yang selalu berisi rute kosong. Dengan kata lain R menyatakan banyaknya rute yang ingin dibentuk. While N ≠ { } do P * = - ∞ for i ∈ N do for i ∈ R do for (j-1, j) ∈ r do If feasible (i,j) and profit (i,j) > p * Then r* = r i* = i P*= profit (i,j) end if end for end for end for insert (i*,j*) N = N \ j* Update (r*) End while
Pada algoritma sequential insertion, setiap rute harus dilengkapi terlebih dahulu
sebelum membentuk rute baru. Algoritma ini pernah digunakan oleh Suprayogi dan
Yamato (2003) dalam menyelesaikan VRPMTTW. Algoritma ini dikenal juga
dengan nama push forward insertion heuristic (PFIH).
Prinsip dasar dari algoritma sequential insertion adalah mencoba menyisipkan
pelanggan diantara semua busur (edge) yang ada pada rute saat ini. Busur ini
didefenisikan sebagai lintasan yang menghubungkan secara langsung satu lokasi
dengan satu lokasi yang lain. Pada gambar II.15, pelanggan berikutnya dicoba untuk
disisipkan pada busur 1 dan busur 2 yang ada pada rute saat ini
Gambar II.15. Penyisipan Pelanggan pada Rute Saat ini.
41
Kelayakan diperiksa untuk semua pembatas time window dan kapasitas muatan
kendaraan. Pelanggan dan busur yang memberikan tambahan “biaya” yang paling
kecil dan layak selanjutnya dipilih. Prosedur ini terus berulang hingga semua
pelanggan telah ditugaskan.
Algoritma sequential insertion memiliki kelebihan dibandingkan dengan parallel
insertion (Suprayogi dan Yamato, 2002). Seperti yang pernah dinyatakan oleh Tung
dan Pinnoi (2000) dalam Mahaputra (2006) , algoritma sequential insertion akan
berusaha untuk menghasilkan jumlah kendaraan (tur) sekecil mungkin dengan
memanfaatkan kapasitas kendaraan sebanyak mungkin. Hal ini sesuai dengan tujuan
utama dari VRPMT atau VRPMTTW yaitu jumlah kendaraan diusahakan
seminimum mungkin.
II.4. Genetic Algorithm
Dalam penelitiannya, Braysy (2001) menyebutkan bahwa GA pertama kali
diperkenalkan oleh John Holland pada tahun 1975 setelah mengamati bahwa proses
evolusi dapat dipakai sebagai analogi dari alam untuk persoalan optimasi di bidang
teknik. Prinsip dan mekanisme evolusi disusun menjadi suatu algoritma program
untuk diterapkan dalam software computer, yang diberinama GA.
Goldberg (1989) dalam Mahaputra (2006) menyebutkan bahwa GA merupakan
algoritma pencarian terstruktur yang didasarkan pada mekanisme seleksi alami dan
informasi genetika alami. Algoritma ini mengkombinasikan struktur string yang
paling baik dalam satu generasi dengan struktur yang berasal dari pertukaran
informasi secara acak. Pada setiap generasi, suatu kumpulan dari individu disusun
dengan menggunakan informasi dari individu unggul pada generasi sebelumnya.
Ketika digunakan mekanisme acak, algoritma genetika bukanlah pencarian acak
yang sederhana. Algoritma ini secara efisien mengeksploitasi informasi-informasi
historis untuk kemudian menentukan titik pencarian solusi berikutnya dengan
eksektasi dapat meningkatkan performansi.
GA mengadaptasi mekanisme evolusi. Evolusi adalah proses yang bekerja pada
kromosom-kromosom suatu mahluk hidup dari generasi ke generasi. Kromosom
merupakan sekumpulan molekul besar yang mengkodekan struktur mahluk hidup.
42
Pada mahluk hidup biasanya terdapat lebih dari satu kromosom dan keseluruhan
kromosom ini disebut genotip (genotype). Kromosom-kromosom ini menyusun
protein asam amino yang ada dalam mahluk hidup yang merupakan pengatur dari
segala macam proses kimiawi yang terjadi. Individu-individu yang ada pada saat
tertentu dalam suatu populasi merupakan individu yang berhasil bertahan, sedangkan
yang lemah akan punah. Individu-individu yang bertahan akan membentuk individu
baru sehingga terjadi proses regenerasi.
Individu-individu dalam suatu populasi dianalogikan sebagai suatu set solusi yang
mungkin dari permasalahan optimasi. Setiap solusi memiliki nilai suaian (fitness)
terhadap fungsi tujuan yang hendak dicapai. Semakin tinggi atau rendah nilai
suaiannya (tergantung pada permasalahan minimasi atau maksimasi) maka solusi
tersebut akan semakin mendekati solusi terbaik. Set solusi baru tersebut dibentuk
berdasarkan informasi-informasi genetika yang bermanfaat dari set solusi yang
mempunyai suaian tinggi.
GA melakukan simulasi evolusi pada populasi kromosom. Seperti evolusi, algoritma
ini menyelesaikan masalah pencarian kromosom yang baik dengan memanipulasi
bagian yang terdapat dalam kromosom secara acak. Algoritma ini tidak mengetahui
tipe permasalahan yang dihadapui. Informasi yang diberikan hanyalah evaluasi nilai
suaian setiap kromosom. Informasi ini akan berpengaruh dalam pemilihan
kromosom, sehingga kromosom yang mempunyai hasil evaluasi yang paling baik
akan direproduksi lebih banyak dibandingkan dengan kromosom yang mempunyai
hasil evaluasi yang buruk.
Goldberg (1998) dalam Mahaputra (2006) menyebutkan bahwa ada tiga tipe untuk
pencarian titik optimal :
• Calculus-based
Metode ini berorientasi pada penyelesaian persamaan matematis untuk
mencari titik ekstrim local. Ada dua jenis, yaitu metode langsung dan tidak
langsung. Metode tidak langsung mencari ekstrim local dengan
menyelesaikan beberapa pertidaksamaan matematis, sampai terjadi tingkat
kemiringan nol untuk semua arah. Metode langsung berharap pada fungsi
pertidaksamaan dan menggerakannya ke solusi sekitar yang memungkinkan
43
untuk mencapai optimal local. Kedua metode ini memiliki kelemahan, yaitu
kedua metode ini hanya mencapai optimal lokal. Di samping itu, jika suatu
nilai optimal lokal telah tercapai, unttuk mencari solusi yang lebih baik,
dibutuhkan metode modifikasi solusi ekstrim baik berupa mengadaptasi
aspek kerandoman, maupun dengan aturan-aturan tertentu. Permasalahan
lainnya adalah metode ini sangat bergantung pada fungsi turunan dari fungsi
utama.
• Enumerative
Metode ini mencari nilai fungsi obyektif pada setiap poin dalam ruang solusi
satu per satu. Algoritma ini cukup sederhana, tetapi kurang efisien terlebih
untuk permasalahan riil dengan ruang solusi yang sangat besar.
• Random Search
Metode ini banyak menjadi perhatian akhir-akhir ini sejalan dengan
berkembangnya penelitian di bidang algoritma, kecerdasan buatan, dan
komputasi evolusioner. Menyadari kelemahan dua metode sebelumnya,
berbagai variasi metode random search, baik berupa guided search hingga
multiple points solution telah dikemukakan dalam berbagai penelitian yang
pada akhirnya berkembang menjadi metode simulated annealing, GA, dan
algoritma evolusioner lainnya.
GA memiliki perbedaan mendasar dibandingkan dengan metode pencarian solusi
lainnya. Goldberg (1989) dalam Mahaputra (2006) menyebutkan perbedaan
mendasar itu :
1. GA tidak bekerja secara langsung, tetapi bekerja dengan hasil kodifikasi
solusi. Solusi beranalogi dengan sifat fisik mahluk hidup, sedangkan
kodifikasi solusi beranalogi dengan pengkodean sifat fisik mahluk hidup,
sedangkan kodifikasi solusi beranalogi dengan pengkodean sifat fisik ke
dalam kromosom. Evolusi yang merupakan inti dari algoritma genetika
bekerja dengan memanipulasi isi kromosom, dengan tidak memanipulasi sifat
fisiknya secara langsung. Hal ini menyebabkan GA tidak dipengaruhi oleh
persoalan yang dihadapi secara langsung.
2. GA menggunakan kumpulan solusi dalam melakukan pencarian. Hal ini
berbeda dengan metode lainnya yang menggunakan hanya satu solusi untuk
44
melakukan solusi berikutnya untuk dievaluasi. GA mengikuti proses evolusi
yang bekerja pada suatu populasi. Informasi genetika yang terkandung dalam
populasi itu akan menentukan individu-individu baru dalam generasi
selanjutnya.
3. GA bekerja dengan menggunakan informasi yang diperolehdari fungsi tujuan
saja. Berbeda sekali dengan banyak metode konvensional yang biasanya
menggunakan informasi lain berupa turunan, baik yang dihitung secara
analitik ataupun numerik. Hal ini menyebabkan GA dapat diterapkan pada
masalah-masalah yang melibatkan fungsi multimodal, non-linier, dan
sebagainya.
4. GA menggunakan aturan transisi probabilistic, bukan deterministic. GA
menggunakan mekanisme acak untuk mengeksplorasi ruang solusi.
Karena perbedaaan yang mendasar tersebut, GA menjadi metode yang robust dan
mempunyai kelebihan tersendiri dibanding metode-metode optimasi lainnya.
Proses pengerjaan GA terdapat encoding (kodifikasi) dan decoding (dekodifikasi).
Dalam melakukan encoding dan decoding tersebut, terdapat dua hal penting yang
perlu diperhatikan yaitu :
• Kelayakan Kromosom
Merupakan fenomena apakah solusi yang di-dekodifikasi dari sebuah
kromosom terletak pada daerah yang layak untuk permasalahan tersebut. Tiap
metode optimasi, baik metode konvensional maupun algoritma genetika,
harus dapat mengakomodasi adanya kendala untuk tiap variabel, baik berupa
persamaan atau pertidaksamaan
• Legalitas kromosom
Merupakan fenomena apakah sebuah kromosom benar-benar
merepresantisakan sebuah solusi permasalahan. Kromosom illegal tidak dapat
didekodifikasi menjadi solusi, sehingga kromosom tersebut tidak dapat
dievaluasi. Teknik perbaikan biasanya digunakan untuk memperbaiki
kromosom illegal menjadi legal agar ruang solusi tetap terbuka.
Kodifikasi merupakan ciri penting dari GA. Ada beberapa bentuk kodifikasi yang
sering digunakan:
45
• String biner (0 dan 1), paling umum digunakan tetapi cukup sulit diterapkan
pada kasus nyata karena kode biner bukanlah kode alami dari persoalan.
• Bilangan riil (real number coding) untuk masalah optimasi berkendala.
• Bilangan bulat (integer number coding) untuk masalah optimasi
kombinatorial.
Braysy (2001) dalam penelitiannya disebutkan bahwa walaupun secara teoritis dan secara umum, representasi kromosom jenis bit-string (1-0) cukup mampu mengakomodasi karakteristik GA, tetapi untuk permasalahan yang membahas tentang urutan, seperti permasalahan rute kendaraan (VRP), representasi kromosom integer akan lebih mudah serta lebih masuk akal.
Faktor terbesar dalam teori evolusi yang menyebabkan suatu kromosom bertahan hidup, mati, melakukan persilangan, atau mengalami mutasi adalah lingkungan pada GA, faktor lingkungan ini direpresentasikan melalui fungsi tertentu sebagai evaluator. Fungsi tujuan adalah hubungan antara algoritma genetika dengan permasalahan yang akan dioptimasi. Fungsi inilah yang akan digunakan untuk mengevaluasi kromosom pada setiap generasi. Masukan, fungsi obyektif adalah kromosom dan keluarannya adalah suatu bilangan yang disebut fitness. Lebih lanjut dinyatakan bahwa, pada beberapa permasalahan berkendala digunakan fungsi suaian (fitness function) yang merupakan fungsi tujuan yang dimodifikasi sebagai evaluator dari kromosom. Fitness juga dapat digunakan untuk mengakomodasi prosedur penalti dan prosedur penanganan kendali lainnya. Operator yang digunakan dalam penyelesaian masalah dengan menggunakan GA terdiri dari 4 macam yaitu:
• Elitis : berfungsi untuk melakukan pemilihan individu yang akan mati untuk kemudian diganti oleh individu lainnya atau individu yang bertahan untuk kemudian diperbanyak
• Migration: berperan untuk memindahkan individu-individu generasi sebelumnya dan membentuk subpopulasi baru yang diharapkan menghasilkan individu-individu baru yang lebih baik.
• Crossover : berfungsi untuk menggabungkan dua string induk yang berbeda menjadi dua string anak yang berbeda dengan string induknya.
• Mutasi : berperan dalam melakukan perubahan pada setiap kromosom dan gen didalammnya.
46
Algoritma migrasi pembagian populasi dibuat dalam suatu kumpulan subpopulasi dan dengan menentukan interval, membagi informasi diantara subpopulasi. Pei Hong, et.al (2006) memperkenalkan paramater dalam algoritma migrasi yaitu : conection topology (topologi yang dijelaskan dengan hubungan antara subpopulasi), migration policy, migration interval (parameter yang mengontrol seberapa sering migrasi terjadi), migration rate (parameter yang mengontrol berapa jumlah individu yang akan bermigrasi), dan population size (jumlah dari subpopulasi), dan lain-lain. Berikut adalah contoh the multi-population genetic algorithm with fixed migration interval and migration rates: Initialize the parameters;
Generate N sub-population P1, P1,..., PN randomly; generation←1; while generation ≤ max_gen do for each sub-population Pi do use a fitness function to evaluate each individual in Pi; perform crossover in Pi; perform mutation in Pi; perform replacement in Pi; endfor generation← generation+1; if (generation % migration-intervall ==0) perform migration at the fixed migration rate; endwhile
Pada Goldberg (1989) dalam Mahaputra (2006) disebutkan bahwa algoritma dasar
dari GA bekerja sebagai berikut:
Bentuk populasi awal (T=1)
Evaluasi fitness masing-masing individu dari populasi awal
Bentuk generasi berikutnya dengan mekanisme evolusi
Mekanisme evolusi:
Pilih dua individu dengan mekanisme seleksi.
Jika keadaannya memungkinkan, crossover individu tersebut dan
menghasilkan dua individu baru. Jika keadaanya memungkinkan,
mutasikan kedua individu baru tersebut. Masukan individu baru ke
dalam generasi baru. Ulanggi mekanisme evolusi sampai generasi
baru terbentuk.
Evaluasi generasi baru yang telah terbentuk.
Ulangi pembentukan generasi baru sampai kriteria pemberhentian terpenuhi.
47
Gambar II.16 berikut ini menunjukan diagram alir dari GA
Gambar II.16. Diagram Alir GA