• Tidak ada hasil yang ditemukan

IMPLEMENTASI ALGORITMAFLOYD WARSHALL DAN NEAREST NEIGHBOUR DALAM PENGOPTIMALAN RUTE CAPACITATED VEHICLE ROUTING PROBLEM WITH TIME WINDOWS.

N/A
N/A
Protected

Academic year: 2017

Membagikan "IMPLEMENTASI ALGORITMAFLOYD WARSHALL DAN NEAREST NEIGHBOUR DALAM PENGOPTIMALAN RUTE CAPACITATED VEHICLE ROUTING PROBLEM WITH TIME WINDOWS."

Copied!
118
0
0

Teks penuh

(1)

1

BAB I

PENDAHULUAN

A. Latar Belakang Masalah

Distribusi adalah kegiatan yang selalu menjadi bagian dalam menjalankan

sebuah usaha. Distribusi merupakan suatu proses pengiriman barang dari suatu

depot ke konsumen. Dalam proses distribusi, salah satu hal yang harus

diperhatikan adalah kepuasan konsumen karena kepuasan konsumen akan

berpengaruh terhadap keberhasilan penjualan produk. Salah satu faktor kepuasan

konsumen adalah barang sampai ke konsumen dengan tepat waktu dan produk

sesuai dengan yang diharapkan. Keberhasilan penjualan dapat dilihat dari

banyaknya penjualan atau kenaikan angka penjualan. Untuk mencapai

keberhasilan penjualan dan kepuasan konsumen, permasalahan distribusi ini

menjadi sangat penting karena berhubungan dengan biaya transportasi yang

berpengaruh terhadap total biaya produksi.

Permasalahan distribusi barang merupakan aspek yang harus diperhatikan

karena permasalahan tersebut memiliki pengaruh yang cukup besar terhadap biaya

dan tingkat pelayanan kepada konsumen. Ada beberapa kendala yang harus

dihadapi dalam proses distribusi, seperti jumlah permintaan barang yang

berbeda-beda pada setiap konsumen, kapasitas kendaraan, batas waktu pengiriman,

kecepatan rata-rata yang dapat ditempuh pada jalur dan waktu tertentu, dan

lokasikonsumen yang berbeda pula. Oleh karena itu diperlukan suatu cara agar

proses distribusi dapat berjalan dengan lancar dan tepat waktu.

Salah satu cara yang dapat dilakukan dalam proses distribusi adalah dengan

(2)

2

konsumen lebih efisien dan barang dapat sampai ke konsumen tepat waktu.

Permasalahan optimisasi rute kendaraan dikenal dengan vehicle routing problem

(VRP). Vehicle routing problem merupakan masalah penentuan rute optimal

kendaraan dalam pendistribusian barang dari satu depot atau lebih ke sejumlah

konsumen di lokasi yang berbeda dengan permintaan yang telah diketahui dan

memenuhi sejumlah kendala (Yeun dkk, 2008). Tujuan dari VRP adalah

mengantarkan barang ke konsumen dengan rute yang optimum dan

meminimalisasi jumlah kendaraan yang digunakan untuk keluar-masuk depot.

Contoh kasus dalam kehidupan sehari-hari yang dapat dimodelkan dalam

permasalahan VRP antara lain distribusi air minum, distribusi surat kabar,

pelayanan jasa kurir, jasa ojek, penentuan rute bus sekolah, dan lain sebagainya.

Beberapa jenis permasalahan VRP berdasarkan kendalanya antara lain

capacitated vehicle routing problem (CVRP) dengan kendala kapasitas setiap

kendaraan terbatas, vehicle routing problem with time windows (VRPTW) dengan

kendala konsumen harus disuplai dalam time windows (jangka waktu tertentu),

multiple depot vehicle routing problem (MDVRP) dengan kendala distributor

memiliki banyak depot untuk menyuplai konsumen, vehicle routing problem with

pick-up and delivering (VRPPD) dengan kendala ada kemungkinan konsumen

mengembalikan barang ke depot asal, split delivery vehicle routing problem

(SDVRP) dengan kendala konsumen dilayani dengan kendaraan yang berbeda,

dan periodic vehicle routing problem dengan kendala pengantaran hanya

dilakukan di hari tertentu.

VRP yang bertujuan membentuk rute optimal dalam melayani konsumen

(3)

3

problem with time windows (CVRPTW). Beberapa metode yang dapat digunakan

untuk menyelesaikan kasus ini adalah metode eksak dan metode heuristik. Metode

eksak merupakan algoritma yang menghitung setiap solusi sampai didapat solusi

yang optimal namun waktu penyelesaiannya relatif lama, sedangkan metode

heuristik merupakan algoritma yang menggunakan performa komputasi sederhana

dalam penyelesaian masalah sehingga dapat memberikan solusi yang mendekati

optimal yang relatif cepat.

Dalam menyelesaikan permasalahan CVRPTW, akan dikombinasikan dua

metode yaitu metode eksak dan metode heuristik. Salah satu metode eksak yang

akan digunakan adalah algoritma floyd warshall dan metode heuristik yang

digunakan adalah algoritma nearest neighbour. Algoritma floyd warshall

merupakan salah satu varian dari pemrograman dinamis yang memecahkan

masalah dengan memandang solusi yang akan diperoleh sebagai suatu keputusan

yang saling terkait, dengan kata lain solusi-solusi yang dibentuk berasal dari

solusi pada tahap sebelumnya dan ada kemungkinan solusi lebih dari satu

(Achmad Asrori, 2013). Chairul, dkk. (2014) mendefinisikan metode nearest

neighbour sebagai metode untuk memecahkan masalah dengan cara

mempertimbangkan jarak yang terpendek.

Cukup banyak penelitian mengenai penyelesaian masalah VRP dan

variasinya yang telah dilakukan dengan menggunakan algoritma floyd warshall

dan nearest neighbour. Hasil dari skripsi Dzikri Udkhia Rizqi yang berjudul

(4)

4

Penyelesaian Capacitated Vehicle Routing Problem (CVRP) Menggunakan Algoritma Sweep untuk Optimasi Rute Distribusi Surat Kabar Kedaulatan Rakyat

juga membuktikan bahwa algoritma nearest neighbour dapat menghasilkan rute

yang lebih efektif daripada rute sebelumnya. Namun masih sedikit penelitian yang

membandingkan efektifitas kedua algoritma tersebut dalam menyelesaikan

masalah CVRPTW. Oleh karena itu akandilakukan penelitian untuk

menyelesaikan masalah CVRPTW dengan algoritma floyd warshall dan nearest

neighbour.

B. Batasan Masalah

Batasan masalah pada penelitian ini adalah sebagai berikut

1. Pemberian bobot hanya berdasarkan waktu tempuh.

2. Kecepatan pada tiap jalur diasumsikan berdasarkan interval waktu per jam.

3. Data yang digunakan hanya sebatas data simulasi.

4. Kapasitas maksimal kendaraan dan kecepatan maksimal kendaraan

homogen.

C. Rumusan Masalah

Berdasarkan latar belakang, masalah yang dapat dirumuskan adalah

Bagaimana menentukan rute tercepat kendaraan pada model capacitated

vehicle routing problem with time windows dengan algoritma floyd warshall

(5)

5

D. Tujuan

Tujuan dari penelitian ini adalah menentukan rute tercepat kendaraan pada

model capacitated vehicle routing problem with time windows dengan algoritma

floyd warshall dan nearest neighbour.

E. Manfaat

Manfaat yang dapat diambil dari penelitian ini adalah sebagai berikut:

Bagi diri sendiri:

Untuk mengetahui penentuan rute kendaraan pada model Capatitated

Vehicle Routing Problem with Time Windows dengan Metode Floyd Warshall dan Nearest Neighbour.

Bagi umum:

Dapat menambah pengetahuan di bidang teori graf, vehicle routing problem,

(6)

6 BAB II

KAJIAN TEORI

Pada bab ini berisi paparan teori yang berhubungan dengan distribusi,

optimisasi, graf, vehicle routing problem (VRP), capatitated vehicle routing

problem with time windows (CVRPTW), metode penyelesaian CVRPTW, yakni

algoritma floyd warshall, dan nearest neighbour.

A. Distribusi

Menurut Chopra dan Meindl (2010 : 86), distribusi adalah suatu kegiatan

untuk memindahkan barang dari pihak supplier kepada pihak agen dalam suatu

supply chain. Distribusi merupakan suatu kunci dari keuntungan yang akan

diperoleh perusahaan karena distribusi secara langsung akan mempengaruhi biaya

dari supply chain dan kebutuhan agen. Jaringan distribusi yang tepat dapat

digunakan untuk mencapai berbagai macam tujuan dari supply chain, mulai dari

biaya yang rendah sampai respon yang tinggi terhadap permintaan agen.

Salah satu fungsi distribusi adalah pengangkutan (transportasi). Pada

umumnya tempat kegiatan produksi berbeda dengan tempat konsumen, maka

untuk mengatasi hal ini diperlukan adanya kegiatan pengangkutan (transportasi).

Seiring dengan bertambahnya jumlah penduduk, kebutuhan manusia juga semakin

banyak. Hal ini mengakibatkan barang yang disalurkan juga semakin besar maka

diperlukan alat untuk melakukan suatu kegiatan transportasi.

Distribusi meliputi semua aspek dalam pengiriman barang kepada agen.

Beberapa permasalahan yang sering dihadapi dalam distribusi berkaitan dengan

(7)

7 1. Titik Depot

Dalam manajemen distribusi, selalu ada tempat untuk menyimpan dan

menyediakan barang hasil produksi, tempat ini dinamakan depot. Dalam hal ini

lokasi depot biasa disebut dengan titik depot. Keberadaan titik depot sangat

menentukan kelancaran pada kegiatan distribusi barang, sehingga barang dapat

sampai pada agen tepat pada waktunya.

2. Penentuan rute dan jadwal pengiriman

Salah satu hal yang menjadi keputusan terpenting dalam manajemen

distribusi adalah penentuan jadwal serta rute pengiriman dari satu titik ke

beberapa titik tujuan. Keputusan seperti ini sangat penting bagi suatu perusahaan

yang mengirimkan barangnya dari satu titik ke berbagai titik yang tersebar di

sebuah kota, karena sangat berpengaruh terhadap biaya pengiriman. Namun biaya

bukanlah satu-satunya faktor yang perlu dipertimbangkan dalam proses distribusi.

Selain itu dalam menentukan jadwal dan rute sering kali juga harus

mempertimbangkan faktor-faktor lain seperti kapasitas kendaraan dan batas waktu

pengiriman.

Secara umum, permasalahan penjadwalan dan penentuan rute pengiriman

memiliki beberapa tujuan yang ingin dicapai seperti tujuan untuk meminimumkan

biaya pengiriman, meminimumkan waktu atau meminimumkan jarak

tempuh.Salah satu dari tujuan tersebut dapat menjadi fungsi tujuan (objective

function) dan yang lainnya menjadi kendala (constraint). Misal fungsi tujuannya

adalah meminimumkan biaya pendistribusian dan kendalanya adalah kapasitas

(8)

8 B. Optimisasi

Optimisasi merupakan suatu upaya sistematis untuk memilih elemen terbaik

dari suatu kumpulan elemen yang ada. Didalam kontek matematika, optimisasi ini

dapat dinyatakan sebagai suatu usaha sistematis untuk mencari nilai minimum

atau maksimum dari suatu fungsi. Dengan kata lain, optimisasi merupakan suatu

proses mencari nilai terbaik berdasarkan fungsi tujuan dengan daerah asal yang

telah didefinisikan. Secara sederhana, optimisasi dapat dinyatakan dengan :

min/max f(x)

Sebagai contoh, kita ambil sebuah fungsi f(x) = x2, dimana x adalah anggota bilangan real. Di dalam contoh ini, min f(x) merupakan fungsi tujuannya karena

yang dicari adalah hasil minimal dari fungsi tersebut, sedangkan x adalah daerah

asal yang didefinisikan sebagai anggota bilangan real.

Optimisasi digunakan hampir di semua bidang ilmu antara lain bidang

teknik, sains, ilmu sosial, ekonomi dan bisnis. Banyak permasalahan di bidang

teknik, sains dan ekonomi yang dapat dinyatakan sebagai permasalahan optimisasi

seperti meminimalkan biaya, mempersingkat waktu, memperkecil resiko maupun

memaksimalkan keuntungan dan kualitas. Optimisasi juga seringkali menjadi

fokus utama dalam pengambilan keputusan suatu tindakan. Pengambilan

keputusan dalam optimisasi terdiri dari beberapa langkah (Talbi, 2009) :

1. Merumuskan Masalah

Pertama kali yang perlu dilakukan pada tahap ini adalah mengidentifikasi

permasalahan yang akan diselesaikan. Faktor-faktor yang mempengaruhi

permasalahan dan fungsi tujuan dari permasalahan tersebut perlu didata

(9)

9

2. Memodelkan Masalah

Didalam tahap ini, permasalahanakan dimodelkan secara matematis.

Permasalahan yang sesungguhnya mungkin akan sangat kompleks dan sulit

jika harus diilustrasikan, sehingga perlu disederhanakan dalam pemodelan

matematis.

3. Optimisasi

Setelah permasalahan dimodelkan secara matematis, metode optimisasi

diterapkan untuk mendapatkan penyelesaian yang dapat diterima

(acceptable solution). Seringkali model permasalahan yang dibuat tidak

dapat mewakili permasalahan yang sesungguhnya, sehingga ketepatan

dalam memodelkan permasalahan sangat mempengaruhi hasil yang

didapatkan. Penyelesaian yang didapatkan dapat merupakan solusi optimal

maupun non-optimal.

4. Menerapkan Penyelesaian Masalah

Penyelesaian yang didapatkan kemudian diterapkan untuk mengetahui

apakah penyelesaian tersebut dapat diterima atau tidak. Jika penyelesaian

tersebut tidak dapat diterima, maka model permasalahan maupun metode

(10)

10

Berikut penyajian langkah-langkah pengambilan keputusan dalam bentuk

flowchart dapat dilihat pada Gambar 2.1.

Gambar 2.1. Flowchart Proses Pengambilan Keputusan Merumuskan Masalah

Memodelkan Masalah

Optimalisasi

Menerapkan Penyelesaian Masalah

Apakah hasil optimasi layak untuk diterapkan?

Apakah hasil penyelesaian dapat

diterima?

Penyelesaian diterima

Tidak Tidak

(11)

11 C. Efektivitas

Efektivitas berasal dari kata efektif yang memiliki arti berhasil, tepat guna,

atau sesuatu yang dilakukan berhasil dengan baik. Pius A. Partanto dan M. Dahlan

Bahri dalam bukunya Kamus Ilmiah Populer (1994) mendefinisikan efektivitas

sebagai ketepatgunaan, hasil guna, dan menunjang tujuan. Hidayat (1986)

mendefinisikan efektivitas sebagai suatu ukuran yang menyatakan seberapa jauh

target telah tercapai, dimana semakin besar persentase target yang dicapai, maka

semakin tinggi efektivitasnya.

Secara umum, efektivitas dapat diartikan sebagai hal yang berhubungan

dengan keberhasilan atau suatu ukuran yang menyatakan sejauh mana tujuan yang

dicapai sesuai dengan tujuan yang telah ditentukan sebelumnya. Dalam hal ini,

akan dibandingkan efektifitas algoritma floyd warshall dan nearest neighbour

dalam menentukan rute tercepat.

D. Graf

1. Definisi Graf

Definisi graf menurut Edgar G. Goodaire dan Michael M. Parmanter (2002)

adalah kumpulan simpul (vertex atau nodes) yang dihubungkan satu sama lain

melalui busur (edges). Secara matematis, suatu graf G didefinisikan sebagai

pasangan himpunan G(V,E) dengan V(G) adalah himpunan tidak kosong dari

simpul (vertex atau nodes), V(G) = {v1, v2, v3, …, vn}, dan E(G) adalah himpunan

busur (edges atau arcs) E(G) = {e1, e2, e3, …, en}, yang menghubungkan sepasang

(12)

12

Sebuah graf direpresentasikan dalam bentuk gambar. Simpul pada graf

digambarkan dengan lingkaran kecil, sedangkan busur yang menghubungkan dua

simpul digambarkan dengan kurva sederhana atau segmen garis dengan titik akhir

di kedua simpul tersebut.

Gambar 2.2. Graf G

2. Jenis-jenis Graf

Menurut Mardiyono (1996:32) sesuai dengan kekhasan strukturnya, graf

dapat diklasifikasikan dalam beberapa jenis yaitu graf sederhana, tidak sederhana,

berarah, teratur, berbobot, pohon. Namun dalam hal ini hanya akan dijelaskan

beberapa graf yang relevan saja dengan penelitian ini.

a. Graf sederhana,

Graf sederhana adalah graf yang tidak memiliki rusuk ganda dan gelang.

Rusuk ganda adalah dua rusuk yang menghubungkan dua simpul yang sama,

sedangkan gelang adalah suatu simpul yang menghubungkan suatu simpul

dengan simpul itu sendiri (loop). Contoh graf sederhana dapat dilihat pada

(13)

13

Gambar 2.3. Graf G1

b. Graf berarah,

Graf berarah adalah graf yang setiap rusuknya memiliki orientasi arah. Arah

rusuk yang menghubungkan dua buah simpul dilambangkan dengan anak

panah.

Contoh graf berarah dapat dilihat pada Gambar 2.4.

Gambar 2.4. Graf G2

c. Graf berbobot,

Graf yang setiap rusuknya diberi sebuah harga/bobot. Contoh graf berbobot

dapat dilihat pada Gambar 2.5.

(14)

14 3. Keterhubungan

Pada bagian ini akan dijelaskan masing-masing keterhubungan graf yaitu,

pengertian jalan, lintasan, jalur/jejak, siklus dan sirkuit yang disertai dengan

contoh gambar dan kalimat untuk memperjelas pengertian-pengertian tersebut.

Gambar 2.6. Graf G4

a. Jalan (walk)

Sebuah perjalanan dengan panjang k pada sebuah graf G adalah rangkaian

terurut dari k rusuk pada graf G dengan bentuk :

uv, vw, wx,…yz

Walk tersebut dinyatakan dengan uvwxyz atau dengan kata lain walk

antara u sampai z. (Robin J. Wilson & John J. Watkin, 1990 : 34).

Contoh 1:

W1 = v2,v3,v1,v2,v4,v1,v2,v4,v5,v1,v2 berarti W1 merupakan sebuah jalan di G4.

b. Jejak (trail)

Jika seluruh rusuk (tidak harus seluruh simpul) pada sebuah trayek berbeda,

maka trayek tersebut disebut trail (jejak). (Robin J. Wilson & John J.

Watkin, 1990 : 35)

Contoh 2:

W2 = v2,v3,v1,v4,v5,v1 berarti W2 merupakan sebuah jejak di G4.

c. Lintasan (path)

Jika seluruh rusuk dan simpul pada sebuah trayek berbeda, maka trayek

(15)

15 Contoh 3:

W3 = v1,v3,v2,v4,v5 berarti W3 merupakan sebuah lintasan di G4.

d. Sirkuit (circuit)

Jika seluruh rusuk (tidak harus seluruh simpul) pada sebuah trayek berbeda,

serta titik awal dan titik akhirnya berhimpit, maka trayek tersebut disebut

circuit (sirkuit).

Contoh 4:

W4 = v2,v3,v1,v4,v5,v1,v2 adalah merupakan sebuah sirkuit di G4.

e. Sikel (cycle)

Jika seluruh rusuk dan simpul pada sebuah trayek berbeda, serta titik awal

dan titik akhirnya berhimpit, maka trayek tersebut disebut cycle (sikel).

Contoh 5:

W5 = v1,v3,v2,v4,v5,v1 merupakan sebuah sikel di G4.

Suatu graf G dikatakan terhubung jika untuk setiap pasang dua simpulnya

terhubung. Simpul u dan v disebut terhubung jika terdapat lintasan dari u ke v.

(Nizhizeki dan Rahman, 2004: 22)

4. Representasi Graf dalam Matriks

Permasalahan optimasi distribusi dapat direpresentasikan dalam sebuah graf.

Simpul merepresentasikan depot/konsumen, dan rusuk merepresentasikan jalur

depot ke konsumen dan jalur antar konsumen. Keterhubungan antar simpul pada

graf akan disajikan dalam sebuah matriks agar dapat lebih mudah pada

penyelesaiannya. Matriks tersebut dinamakan matriks ketetanggaan. Matriks

ketetanggaan digunakan dalam merepresentasikan suatu graf berdasarkan banyak

rusuk yang menghubungkan simpul-simpulnya. Banyaknya baris dan kolom

(16)

16

Jong Jek Siang (2006 : 273) mendefinisikan matriks ketetanggaan sebagai

berikut. Misalkan G adalah graf tak berarah dengan simpul-simpul v1, v2, v3, …, vn

dengan n berhingga. Matriks ketetanggaan yang sesuai dengan graf G adalah

matriks A = [aij] dengan aij merupakan banyak rusuk yang menghubungkan

simpul vi dengan simpul vj pada graf tak berarah akan selalu sama dengan banyak

rusuk yang menghubungkan simpul vj dengan simpul vi, maka matriks

ketetanggaannya merupakan matriks ketetanggaan yang simetris [aij] = [aji], untuk

semua i,j V, dimana V adalah himpunan simpul.

Graf G4 pada Gambar 2.7 jika dinyatakan dalam matriks ketetanggaan adalah

sebagai berikut :

[ ]

Gambar 2.7. Matriks Ketetanggaan

Pada matriks ketetanggaan dapat dilihat simpul yang saling berhubungan

maupun tidak. Jika aij = 0 maka simpul vi tidak terhubung dengan simpul vj,

sedangkan jika aij = 1 maka simpul vi terhubung dengan simpul vj.

E. Vehicle Routing Problem

1. Pengertian Vehicle Routing Problem

Menurut Rahmi dan Murti (2013): Vehicle Routing Problem (VRP)

merupakan permasalahan dalam sistem distribusi yang bertujuan untuk membuat

suatu rute yang optimal, dengan sekelompok kendaraan yang sudah diketahui

(17)

17

jumlah permintaan yang telah diketahui. Suatu rute yang optimal adalah rute yang

memenuhi berbagai kendala operasional, yaitu memiliki total jarak dan waktu

perjalanan yang ditempuh terpendek dalam memenuhi permintaan konsumen serta

menggunakan kendaraan dalam jumlah yang terbatas. Berikut ini adalah beberapa

kendala atau batasan yang harus dipenuhi dalam VRP yaitu:

1. Rute kendaraan dimulai dari depot dan berakhir di depot,

2. Masing-masing konsumen harus dikunjungi sekali dengan satu kendaraan,

3. Kendaraan yang digunakan adalah homogen dengan kapasitas tertentu,

sehingga permintaan konsumen pada setiap rute yang dilalui tidak boleh

melebihi kapasitas kendaraan.

4. Jika kapasitas kendaraan sudah mencapai batas, maka konsumen berikutnya

akan dilayani oleh shift berikutnya.

Tujuan umum VRP menurut Toth dan Vigo (2002) adalah

1. Meminimalkan jarak dan biaya tetap yang berhubungan dengan penggunaan

kendaraan,

2. Meminimalkan banyaknya kendaraan yang dibutuhkan untuk melayani

permintaan seluruh konsumen,

3. Menyeimbangkan rute-rute dalam hal waktu perjalanan dan muatan

kendaraan, dan

4. Meminimalkan pinalti sebagai akibat dari pelayanan yang kurang

memuaskan terhadap konsumen, seperti keterlambatan pengiriman dan lain

(18)

18 2. Klasifikasi Jenis-jenis VRP

Terdapat beberapa jenis VRP yang tergantung pada jumlah faktor pembatas

dan tujuan yang akan dicapai. Pembatas yang paling umum digunakan yaitu jarak

dan waktu. Tujuan yang ingin dicapai biasanya meminimalkan jarak tempuh,

waktu maupun biaya (Indra dkk, 2014).

Berdasarkan faktor pembatasnya, VRP terbagi menjadi beberapa jenis,

diantaranya :

a. MTVRP (Multiple Trips Vehicle Routing Problem)

Setiap kendaraan dapat melayani lebih dari satu rute untuk memenuhi

kebutuhan konsumen.

b. VRPTW (Vehicle Routing Problem with Time Windows)

Setiap konsumen yang dilayani oleh kendaraan memiliki batas waktu

menerima pelayanan.

c. Pickup and Delivery Vehicle Routing Problem

Terdapat sejumlah barang yang perlu dipindahkan dari lokasi penjemputan

tertentu ke lokasi pengiriman lainnya.

d. CVRP (Capacited Vehicle Routing Problem)

Kendaraan yang memiliki keterbatasan daya angkut (kapasitas) barang yang

harus diantarkan ke suatu tempat.

e. VRP with Multiple Products

Konsumen memiliki pesanan lebih dari satu jenis produk yang harus

diantarkan.

f. MDVRP (Multiple Depot Vehicle Routing Problem)

(19)

19 g. Periodic Vehicle Routing Problem

Adanya perencanaan yang berlaku untuk satuan waktu tertentu.

h. VRP with Heterogeneous Fleet of Vehicles

Kapasitas masing-masing kendaraan tidak selalu sama. Jumlah dan tipe

kendaraan diketahui.

F. Capacitated Vehicle Routing Problem with Time Windows

1. Pengertian

Capatitated vehicle routing problem with time windows (CVRPTW) adalah

salah satu jenis VRP yang merupakan kombinasi dari bentuk umum capatitated

vehicle routing problem (CVRP) dan vehicle routing problem with time windows

(VRPTW). CVRPTW bertujuan untuk membentuk rute optimal untuk memenuhi

permintaan konsumen yang dilakukan secara delivery dengan kendala kapasitas

dan time windows.

Kendala pertama pada CVRPTW adalah kendala kapasitas. Kendala

kapasitas yang dimaksud adalah bahwa setiap kendaraan memiliki kapasitas

tertentu dan jika kapasitas kendaraan sudah penuh, maka kendaraan tersebut tidak

dapat melayani konsumen selanjutnya. Kendala berikutnya adalah kendala time

windows pada masing-masing konsumen dan time windows pada depot. Time windows pada masing-masing konsumen [ai ,bi] adalah interval waktu yang

ditentukan oleh masing-masing konsumen bagi setiap kendaraan untuk dapat

melakukan pelayanan pada konsumen tersebut. Kendaraan dapat memulai

pelayanan di antara waktu awal konsumen (ai) dan waktu akhir konsumen (bi).

(20)

20

dilayani apabila kendaraan tersebut datang sebelum waktu awal konsumen,

sedangkan time windows pada depot [a0 ,b0] didefinisikan sebagai interval waktu

yang menunjukkan waktu awal keberangkatan kendaraan dari depot dan waktu

kembalinya kendaraan ke depot, itu artinya kendaraan tidak boleh meninggalkan

depot sebelum waktu awal depot (a0) dan harus kembali ke depot sebelum waktu

akhir depot (b0).

2. Formulasi CVRPTW

Berikut akan diberikan pendefinisian variabel dan pemodelan matematika

untuk CVRPTW.

Masalah CVRPTW dapat direpresentasikan sebagai suatu graf berarah G =

(V,A) dengan V = {v0, v1, v2, …, vn} adalah himpunan simpul (verteks), v0

menyatakan depot dengan vn+1 merupakan depot semu dari v0 yaitu tempat

kendaraan memulai dan mengakhiri rute perjalanan. Sedangkan A = {(vi, vj) | vi, vj V, i j} adalah himpunan rusuk atau garis berarah (arc) yang menghubungkan

dua simpul yaitu ruas jalan penghubung antar konsumen ataupun antara depot

dengan konsumen.

Setiap simpul {vi V, i 0} memiliki permintaan (demand) sebesar qi

dengan qi adalah integer positif. Himpunan K = {k1, k2, …, kn} merupakan

kumpulan kendaran yang homogen dengan kapasitas maksimal yang identik yaitu

, sehingga panjang setiap rute dibatasi oleh kapasitas kendaraan. Setiap verteks

(vi, vj) memiliki waktu tempuh Wtij yaitu waktu tempuh dari simpul i ke j. Waktu

(21)

21

Dari permasalahan CVRPTW tersebut kemudian diformulasikan ke dalam

bentuk model matematika dengan tujuan meminimumkan total waktu tempuh

kendaraan untuk melayani semua konsumen, jika z adalah fungsi tujuan maka

min ∑

dengan variabel keputusan sebagai berikut.

1. Variabel .

Variabel mempresentasikan ada atau tidaknya perjalanan dari

konsumen ke-i ke konsumen ke-j oleh kendaraan ke-k.

1, jika ada perjalanan dari konsumen i ke konsumen j oleh kendaraan k. 0, jika tidak ada perjalanan dari konsumen i ke konsumen j oleh kendaraan k.

2. Variabel .

Variabel menyatakan waktu dimulainya pelayanan pada konsumen ke-i

oleh kendaraan ke-k, menyatakan waktu saat kendaraan ke-k

meninggalkan depot dan kembali ke depot, dan menyatakan lamanya

pelayanan di konsumen ke-i.

3. Variabel .

Variabel menyatakan kapasitas total dalam kendaraan ke-k setelah

melayani konsumen ke-i, sedangkan menyatakan banyaknya permintaan konsumen ke-j.

Adapun kendala dari permasalahan CVRPTW adalah sebagai berikut.

1. Setiap konsumen hanya dikunjungi tepat satu kali oleh kendaraan yang

sama.

(22)

22

2. Total jumlah permintaan konsumen dalam satu rute tidak melebihi kapasitas

kendaraan yang melayani rute tersebut.

Jika ada lintasan dari i ke j dengan kendaraan k, maka

3. Jika ada perjalanan dari konsumen ke-i ke konsumen ke-j, maka waktu

memulai pelayanan di konsumen ke-j lebih dari atau sama dengan waktu

kendaraan ke-k untuk memulai pelayanan di konsumen ke-i ditambah waktu

pelayanan konsumen ke-i dan ditambah waktu tempuh perjalanan dari

konsumen ke-i ke konsumen ke-j.

Jika ada lintasan dari i ke j dengan kendaraan k, maka

4. Waktu kendaraan untuk memulai pelayanan di konsumen ke-i harus berada

pada selang waktu .

5. Setiap rute perjalan berawal dari depot dan berakhir di depot.

∑ ∑ ∑

6. Kekontinuan rute, artinya kendaraan yang mengunjungi setiap konsumen,

setelah selesai melayani akan meninggalkan konsumen tersebut.

∑ ∑

7. Variabel keputusan Xijk merupakan integer biner

(23)

23 3. Representasi Solusi

Solusi layak dari formulasi CVRPTW yang dihasilkan adalah himpunan rute

kendaraan yang memiliki total waktu tempuh minimal dengan memenuhi semua

kendala yang ada. Himpunan rute tersebut dapat dituliskan sebagai berikut,

{ }. Solusi CVRPTW dapat digambarkan dalam

bentuk graf yang setiap rute perjalanannya merupakan lintasan tertutup dengan

depot sebagai simpul awal dan simpul akhir, sedangkan simpul lainnya adalah

konsumen. Ilustrasi mengenai solusi layak dari CVRPTW seperti pada contoh

berikut (Gambar 2.8).

Gambar 2.8. Ilustrasi Solusi Layak CVRPTW

Pada Gambar 2.8 terdapat 8 konsumen yaitu A, B, C, D, E, F, G, H. Dengan

penggunaan algoritma eksak ataupun heuristik didapat sebuah solusi yang terdiri

dari empat rute perjalanan kendaraan yang diawali dan diakhiri di depot serta

memenuhi kendala yang ada pada CVRPTW. Rute pertama terdiri dari konsumen

A dan B, rute kedua terdiri dari konsumen C dan D, rute ketiga terdiri dari

konsumen E, F dan G, dan rute yang terakhir hanya terdiri dari konsumen H saja.

Dengan demikian, representasi solusi dari masalah CVRPTW tersebut

(24)

24

dengan total waktu tempuh kendaraan = Wt0A,t + WtAB,t + WtB0,t + Wt0C,t + WtCD,t + WtD0,t + Wt0E,t + WtEF,t + WtFG,t + WtG0,t + Wt0H,t + WtH0,t.

G. Algoritma

Menurut Al-Khawarizmi (dalam Sutejo, 1997 : 5) algoritma di dalam bidang

pemrograman didefinisikan sebagai suatu metode khusus yang tepat dan terdiri

dari serangkaian langkah-langkah yang terstruktur dan dituliskan secara sistematis

yang dikerjakan untuk menyelesaikan suatu masalah dengan bantuan komputer,

sedangkan menurut Antony Pranata (2000 : 8) definisi algoritma adalah urutan

langkah-langkah berhingga untuk memecahkan masalah logika atau matematika.

Dari kedua definisi di atas, dapat disimpulkan bahwa algoritma adalah suatu

metode khusus yang tepat dan terdiri dari langkah-langkah atau serangkaian

langkah-langkah berhingga yang disusun secara logis, terstruktur, dan dituliskan

secara sistematis untuk menyelesaikan suatu masalah. Dalam kehidupan

sehari-hari, manusia juga menyelesaikan suatu masalah dalam hidupnya dengan

menggunakan algoritma baik secara sadar maupun tidak.

Contoh 1:

Jika kita ingin mengambil uang tabungan di bank, pastinya akan melakukan suatu

prosedur-prosedur dengan urutan sebagai berikut.

Gambar 2.9. Contoh Algoritma Mengambil Uang Tabungan di Bank 1. Mengambil no.antrian di bank

2. Mengambil blanko transaksi 3. Mengisi blanko transaksi

4. Menyerahkan blanko kepada petugas Bank

5. Menunggu antrian untuk dipanggil

(25)

25

Contoh tersebut merupakan salah satu bukti bahwa apa yang dilakukan

dalam kehidupan sehari-hari menggunakan suatu algoritma, karena

prosedur-prosedur yang dilakukan merupakan suatu algoritma.

Algoritma merupakan sebuah himpunan berhingga yang berisi

instruksi-instruksi yang mempunyai karakteristik tertentu. Menurut Richard Johnsonbaugh

(2001 : 121) karakteristik algoritma adalah sebagai berikut :

1. Presisi (precision)

Presisi (precision) adalah langkah-langkah dari suatu algoritma yang harus

dinyatakan dengan jelas sehingga algoritma tersebut dapat ditulis dalam

bahasa pemrograman.

2. Unik (uniueness)

Unik (uniueness) adalah hasil lanjutan dari setiap langkah dari pelaksanaan

didefinisikan secara tunggal dan semata-mata bergantung pada masukan dan

hasil dari langkah sebelumnya.

3. Terhingga (finiteness)

Terhingga (finiteness) adalah algoritma berhenti setelah beberapa instruksi

terhingga dilaksanakan. Jadi tidak mungkin jika algoritma berjalan terus

tanpa henti.

4. Masukan (input)

Masukan (input) adalah algoritma yang memerlukan suatu masukan.

Masukan adalah besaran yang diberikan kepada algoritma sebelum

(26)

26 5. Keluaran (output)

Keluaran (output) adalah sebuah algoritma yang menghasilkan suatu

keluaran dimana keluaran tersebut adalah hasil dari proses yang nilainya

tergantung pada masukan.

6. Umum (generality)

Umum (generality) adalah algoritma yang berlaku pada semua anggota

himpunan masukan.

Terdapat dua macam metode untuk penyelesaian permasalahan VRP, yaitu

metode eksak dan metode heuristik :

1. Algoritma Eksak

Penyelesaian vehicle routing problem (VRP) menggunakan algoritma eksak

dilakukan dengan cara menghitung setiap solusi sampai ditemukan solusi terbaik.

Kelemahan dari algoritma ini adalah menghabiskan waktu yang sangat lama

karena waktu yang dibutuhkan untuk mencari solusi permasalahan akan bergerak

secara eksponensial dengan semakin rumitnya permasalahan. Kelebihan dari

algoritma eksak dibandingkan dengan solusi heuristik adalah selalu mendapat

solusi yang optimum.

2. Algoritma Heuristik

Pada kasus-kasus tertentu mungkin solusi optimum dapat diberikan namun

memerlukan proses perhitungan yang sangat panjang dan tidak praktis. Bahkan

beberapa masalah hanya dapat ditentukan solusi optimumnya dengan cara

(27)

27

Ketika dihadapkan dengan masalah dalam lingkup yang besar, pencarian

solusi dengan cara mencoba solusi satu persatu akan memakan waktu yang sangat

lama dan tidak efektif. Oleh karena itu dibutuhkan suatu metode praktis yang

mampu melakukan pendekatan agar dapat meminimalkan waktu sesingkat

mungkin dalam mencari solusi. Algoritma ini disebut heuristik.

Algoritma heuristik bersifat memberikan pendekatan terhadap solusi yang

ingin dicari. Algoritma heuristik yang baik selalu dapat memberikan solusi yang

mendekati optimum. Algoritma heuristik mempunyai ciri-ciri menemukan solusi

yang baik tetapi tidak harus terbaik dan lebih cepat atau mudah diterapkan

dibandingkan dengan algoritma terperinci yang diketahui.

Algoritma heuristik merupakan algoritma yang dapat memberikan solusi

yang mendekati optimal lebih cepat dibandingkan dengan algoritma eksak.

Kelebihan algoritma heuristik adalah lebih cepat dan fleksibel untuk diaplikasikan

dibandingkan dengan algoritma eksak.

H. Algoritma Floyd Warshall dan Nearest Neighbour

1. Algoritma Floyd Warshall

Menurut Jong Jek Siang (2011 : 297) : algoritma floyd warshall untuk

mencari lintasan terpendek merupakan algoritma yang sederhana dan mudah

implementasinya. Prinsip algoritma floyd warshall yaitu pada iterasi ke-1,

dihitung jarak terpendek dari semua titik ke semua titik. Misalkan W(0) adalah matriks keterhubungan awal graf berarah berbobot, W* adalah matriks ketetanggaan berbobot terpendek dengan Wij*sama dengan lintasan terpendek dari

(28)

28

iterasi ke 1 hingga n yang dilakukan pada matriks. Namun dalam hal ini kita tidak

mencari lintasan terpendek melainkan waktu tempuh terpendek pada masalah

CVRPTW.

Adapun langkah-langkah pemecahan masalah CVRPTW dengan metode

floyd warshallsebagai waktu tempuh terpendek antar node.

a. Langkah 1

Buat waktu tempuh antar node-node (Wt(0)) pada saat t dengan rumus :

Wtij,t = jarak tempuh x 60/kecepatan pada saat t di jalur i-j

b. Langkah 2

Wt = Wt(0)

c. Langkah 3

Untuk h = 1 hingga n Untuk i = 1 hingga n Untuk j = 1 hingga n

Jika Wtij,t > Wtih,t + Wthj,s , s = Wtih,t

maka tukar Wtij,t dengan Wtih,t + Wthj,s , s = Wtih,t

d. Langkah 4

Wt* = Wt

e. Langkah 5

(29)

29

Penyajian langkah-langkah dari algoritma floyd warshall dalam bentuk

flowchart dapat dilihat pada Gambar 2.10.

Gambar 2.10. Flowchart Algoritma Floyd Warshall

2. Algoritma Nearest Neighbour

Menurut Chairul, dkk (2014) : Metode nearest neighbour merupakan

metode yang digunakan untuk memecahkan masalah pemilihan rute dengan cara

mencari jarak terpendek untuk menempuh lokasi pengiriman. Prinsip dasar dari

metode ini adalah membentuk rute dengan memilih konsumen yang terdekat dari

lokasi awal.

Buat matriks waktu tempuh berdasarkan matriks jarak

tempuh dengan rumus :

Wt = (jarak*60)/kecepatan

Tukar Wtij,t dengan Wtih,t+Wthj,s,dimana

s=Wtih,t Mulai

Selesai

Apakah sudah didapat hasil yang minimum?

Ya

(30)

30

Adapun langkah-langkah pemecahan masalah CVRPTW dengan algoritma

nearest neighbour adalah sebagai berikut.

a. Langkah 1

Set depot sebagai titik awal, t = 0, dan demand = 0.

b. Langkah 2

Cari konsumen ke-j yang memiliki waktu tempuh terpendek dari titik awal i.

c. Langkah 3

Hitung total waktu tempuh kendaraan (Wt = t + waktu pelayanan i + Wtij,t).

Untuk Wt aj maka Wt = aj. Jika Wt bj maka lanjut ke Langkah 4. Jika Wt > bj, maka lanjut ke Langkah 6.

d. Langkah 4

Hitung permintaan/muatan kendaraan (demand = demand + qi). Jika demand Q, maka lanjut ke Langkah 5. Jika demand > Q, maka lanjut ke Langkah

6.

e. Langkah 5

Set konsumen ke-j sebagai titik awal, kemudian ulangi ke Langkah 3.

f. Langkah 6

Batalkan pemilihan konsumen, kemudian pilih konsumen yang belum dilayani dan yang terdekat dengan titik awal berdasarkan keterurutan dan kembali ke Langkah 3. Jika semua konsumen tidak ada yang layak, lanjutkan ke Langkah 7.

g. Langkah 7

Kembali ke depot dan lanjut ke Langkah 8.

h. Langkah 8

(31)

31

Penyajian langkah-langkah dari algoritma nearest neighbour dalam bentuk

flowchart dapat dilihat pada Gambar 2.11.

Gambar 2.11. Flowchart Algoritma Nearest Neighbour Cari konsumen ke-j dengan Wtij

(32)

32

BAB III

METODE PENELITIAN

A. Metode Penelitian

Penelitian ini menggunakan penelitian kuantitatif. Penelitian kuantitatif

adalah penelitian yang dimulai dari teori, hipotesis, desain penelitian, memilih

subjek, mengumpulkan data, memproses data, menganalisa data, dan menuliskan

kesimpulan. Tujuan dari penelitian ini adalah menentukan model yang akan

digunakan dalam permasalahan CVRPTW dan menyelesaikannya dengan

algoritma floyd warshall dan nearest neighbour.

B. Jenis dan Sumber Data Penelitian

Jenis data yang digunakan dalam permasalahan ini adalah data simulasi

yang dibuat berdasarkan karakteristik dari sebuah data nyata. Data yang akan

dibuat dalam data simulasi ini antara lain letak depot dan konsumen, permintaan

konsumen, dan time windows. Dalam hal ini akan ditambah dengan data matriks

hubung dan alokasi kecepatan rata-rata pada tiap jalur berdasarkan waktu per jam.

Penambahan kendala tersebut bertujuan untuk mengembangkan pemodelan

matematika agar lebih kompleks dan dapat lebih real untuk diaplikasikan ke

dalam permasalahan yang sebenarnya.

C. Teknik Pengumpulan Data

Teknik pengumpulan data yang digunakan dengan cara mencari

referensimelalui buku-buku, skripsi, dokumen, jurnal-jurnal dan sebagainya.

(33)

33

D. Teknik Analisis Data

Menurut Bodgan dan Biklen (1982), pengertian analisis data merupakan

upaya yang dilakukan dengan cara bekerja dengan data, mengorganisasikan data,

memilah-milahnya menjadi satuan yang dapat dikelola, mensintesiskannya,

mencari dan menemukan pola, menemukan apa yang penting dan apa yang

dipelajari, dan memutuskan apa yang akan diceritakan ke orang lain.

Untuk analisis data dilakukan dengan cara mengolah data tersebut dengan

langkah-langkah.

1. Input data ke dalam program sesuai dengan perintah program.

2. Data yang telah diinput akan diolah oleh program.

3. Dihasilkan output dari hasil pengolahan data.

Setelah data selesai diolah, hasil output diinterpretasikan secara kualitatif

dengan tujuan menarik kesimpulan dan menjawab rumusan masalah pada

permasalahan ini.

E. Desain Penelitian

Desain penelitian adalah rencana atau strategi yang digunakan untuk

menjawab pertanyaan penelitian (menguji hipotesis) dan mengontrol variabel atau

fokus penelitian. Desain penelitian juga dapat dimengerti sebagai rencana dan

struktur penyelidikan yang digunakan untuk memperoleh bukti-bukti empiris

dalam menjawab pertanyaan penelitian. Jadi desain penelitian dapat diartikan

sebagai rancangan penelitian yang dijadikan pedoman dalam melakukan sebuah

(34)

34

Penelitian diawali dengan studi pustaka mengenai algoritma floyd warshall

dan algoritma nearest neighbour. Selanjutnya akan ditentukan variabel input dan

output yang akan digunakan dalam model, untuk menentukan model

menggunakan bantuan program MatLab. Gambar 3 merupakan desain tahapan

penelitian yang dilakukan dalam penelitian ini.

Gambar 3. Desain Penelitian Pengoptimalan Rute dalam CVRPTW 1. Mencari studi pustaka yang berkaitan dengan model

algoritma floyd warshall dan nearest neighbour.

2. Merancang model permasalahan.

3. Membuat data simulasi.

(35)

35 BAB IV

PEMBAHASAN

Pada bab ini akan dijelaskan mengenai penggunaan algoritma floyd warshall

dan nearest neighbour dalam penyelesaian masalah capacitated vehicle routing

problem with time windows (CVRPTW) dan implementasinya pada data simulasi

dengan menggunakan Matlab (Matrix Laboratory).

A. Algoritma Floyd Warshall dan Nearest Neighbour pada Model CVRPTW

Penggunaan algoritma floyd warshall dan nearest neighbour pada

penyelesaian capacitated vehicle routing problem with time windows (CVRPTW)

akan dijelaskan pada A.1 dan A.2.

1. Algoritma Floyd Warshall

Dalam hal ini akan dijelaskan penggunaan algoritma floyd warshall dalam

membentuk rute kendaraan pada penyelesaian capacitated vehicle routing

problem with time windows (CVRPTW). Berikut langkah-langkahnya.

a. Langkah 1

Wt = Wt(0)

b. Langkah 2

Untuk h = 1 hingga n

Untuk i = 1 hingga n

Untuk j = 1 hingga n

Jika Wtij,t > Wtih,t + Wthj,s , s = t + Wtih,t

maka tukar Wtij,t dengan Wtih,t + Wthj,s , s = t + Wtih,t

c. Langkah 3

(36)

36

d. Langkah 4

Ulangi langkah 2 sampai didapatkan hasil yang minimum.

e. Langkah 5

Jika rute masih memungkinkan untuk ditambah muatan, maka sisipkan konsumen lain dalam rute tersebut dan ulangi langkah 2.

2. Algoritma Nearest Neighbour

Algoritma nearest neighbour merupakan algoritma yang memiliki prinsip

dasar membentuk rute dengan memilih konsumen yang terdekat dari lokasi awal.

Berikut langkah-langkah dari algoritma tersebut.

a. Langkah 1

Cari konsumen ke-j yang memiliki waktu tempuh terpendek dari titik awal i.

b. Langkah 2

Hitung total waktu tempuh kendaraan (Wt = t + waktu pelayanan i + Wtij,t).

Untuk Wt aj maka Wt = aj. Jika Wt bj maka lanjut ke Langkah 3. Jika Wt > bj, maka lanjut ke Langkah 5.

c. Langkah 3

Hitung permintaan/muatan kendaraan (demand = demand + qi). Jika demand Q, maka lanjut ke Langkah 4. Jika demand > Q, maka lanjut ke

Langkah 5.

d. Langkah 4

Set konsumen ke-j sebagai titik awal, kemudian ulangi ke Langkah 2.

e. Langkah 5

(37)

37

f. Langkah 6

Kembali ke depot.

g. Langkah 7

Jika pada saat kembali ke depot Wt > bdepot, maka batalkan konsumen

terakhir dan kembali ke depot.

B. Formulasi Floyd Warshall dan Nearest Neighbour pada Penyelesaian CVRPTW

Fungsi tujuan dari model penentuan rute kendaraan pada penelitian ini

adalah meminimumkan total waktu tempuh kendaraan, yaitu

min ∑

dengan memperhatikan kendala berikut ini.

1. Variabel .

Variabel mempresentasikan ada atau tidaknya perjalanan dari

konsumen ke-i ke konsumen ke-j oleh kendaraan ke-k.

1, jika ada perjalanan dari konsumen i ke konsumen j oleh kendaraan k. 0, jika tidak ada perjalanan dari konsumen i ke konsumen j oleh kendaraan k.

2. Variabel .

Variabel menyatakan waktu dimulainya pelayanan pada konsumen ke-i

oleh kendaraan ke-k, menyatakan waktu saat kendaraan ke-k

meninggalkan depot dan kembali ke depot, dan menyatakan lamanya

pelayanan di konsumen ke-i.

3. Variabel .

Variabel menyatakan kapasitas total dalam kendaraan ke-k setelah

melayani konsumen ke-i, sedangkan menyatakan banyaknya permintaan

(38)

38

Adapun kendala dari permasalahan CVRPTW adalah sebagai berikut.

1. Setiap konsumen hanya dikunjungi tepat satu kali oleh kendaraan yang

sama.

∑ ∑ ∑

2. Total jumlah permintaan konsumen dalam satu rute tidak melebihi kapasitas

kendaraan yang melayani rute tersebut.

Jika ada lintasan dari i ke j dengan kendaraan k, maka

3. Jika ada perjalanan dari konsumen ke-i ke konsumen ke-j, maka waktu

memulai pelayanan di konsumen ke-j lebih dari atau sama dengan waktu

kendaraan ke-k untuk memulai pelayanan di konsumen ke-i ditambah waktu

pelayanan konsumen ke-i dan ditambah waktu tempuh perjalanan dari

konsumen ke-i ke konsumen ke-j.

Jika ada lintasan dari i ke j dengan kendaraan k, maka

4. Waktu kendaraan untuk memulai pelayanan di konsumen i harus berada

pada selang waktu .

5. Setiap rute perjalan berawal dari depot dan berakhir di depot.

∑ ∑ ∑

6. Kekontinuan rute, artinya kendaraan yang mengunjungi setiap konsumen,

setelah selesai melayani akan meninggalkan konsumen tersebut.

(39)

39

7. Variabel keputusan Xijk merupakan integer biner

{ }

C. Penyelesaian Model CVRPTW dengan Algoritma Floyd Warshall dan Nearest Neighbour

Pada subbab sebelumnya telah dijelaskan mengenai penggunaan algoritma

floyd warshall dan nearest neighbour dalam penyelesaian masalah CVRPTW dan

implementasinya pada data simulasi. Pada subbab ini, akan diperlihatkan

bagaimana aplikasi dari algorima floyd warshall dan nearest neighbour dalam

permasalahan di kehidupan sehari-hari.

1. Deskripsi Masalah

Sebuah usaha yang bergerak di bidang jasa pengiriman barang menerapkan

sistem layanan antar barang (delivery service) terhadap konsumennya. Distributor

dari perusahaan akan mengantar barang ke konsumen. Wilayah operasi

perusahaan adalah dalam lingkup satu propinsi. Jenis layanan pengiriman barang

adalah one day service. One day service adalah pelayanan yang apabila pelanggan

menginginkan pelayanan barang dapat dilakukan dalam satu hari dan dengan

rentang waktu yang telah ditentukan sebelumnya oleh pelanggan. Pada penelitian

ini, digunakan layanan one day sevice yang sesuai dengan permasalahan

(40)

40

Gambar 4.1. Permasalahan CVRPTW pada Data Simulasi

Untuk satu hari kerja, perusahaan memiliki transportation request yang

hendak dilayani. Setiap transportation request terdiri dari informasi mengenai

konsumen, lokasi pengiriman barang, permintaan konsumen, dan time windows

konsumen. Terkadang dalam melakukan distribusi barang, perusahaan

menentukan rute berdasarkan jarak tempuh saja, namun tidak memperkirakan

tingkat kemacetan. Karena banyaknya pelanggan yang harus dilayani dengan

batasan waktu dan jumlah permintaan/muatan yang berbeda-beda, ada kalanya

pengiriman barang tidak tepat waktu dan ada kalanya kapasitas kendaraan tidak

mencukupi. Hal tersebut juga dapat mengakibatkan tingkat pelayanan di

perusahaan tersebut menurun.

Berdasarkan uraian di atas, penentuan rute yang saat ini digunakan oleh

perusahaan masih kurang efektif karena dengan adanya beberapa kendala tersebut,

mengakibatkan kurang maksimalnya pihak perusahaan dalam melakukan proses

(41)

41

penentuan rute yang efektif sehingga menghasilkan total waktu tempuh perjalanan

yang optimal dengan mempertimbangkan kendala yang ada. Pada penelitian ini,

akan digunakan algoritma floyd warshall dan nearest neighbour dalam

menyelesaikan permasalahan di perusahaan.

2. Pengumpulan Data

Dalam menyelesaikan permasalahan CVRPTW, dibutuhkan beberapa data

yang digunakan untuk mendapatkan solusi rute distribusi yang optimal. Data yang

digunakan merupakan data yang berkaitan dengan permasalahan distribusi barang

kepada konsumen. Dalam permasalahan ini, data yang digunakan adalah data

simulasi. Tujuan dibuat data simulasi tersebut untuk menguji coba metode yang

akan digunakan dan diharapkan dapat diimplementasikan ke dalam permasalahan

nyata. Adapun data-data tersebut mengenai lokasi konsumen, jumlah permintaan

konsumen, kapasitas kendaraan, time windows, service time, matriks jarak antar

konsumen, alokasi rata-rata kecepatan pada waktu dan jalur tertentu.

1. Lokasi Depot dan Konsumen

Terdapat beberapa lokasi konsumen yang akan dikunjungi. Berikut disajikan

data lokasi depot dan konsumen berdasarkan data simulasi. Namun karena hanya

data simulasi, maka lokasi depot dan konsumen dibuat dalam bentuk koordinat-x

(42)

42

Tabel 4.1. Lokasi Depot dan Konsumen

No Keterangan Lokasi

Koordinat-x Koordinat-y

1 Depot 30 90

2 Konsumen 47 47

3 Konsumen 2 90

4 Konsumen 65 6

5 Konsumen 21 30

6 Konsumen 75 97

7 Konsumen 48 59

8 Konsumen 67 74

9 Konsumen 37 95

10 Konsumen 5 70

2. Kendaraan

Dalam melakukan pelayanan terhadap konsumen, kendaraan yang

digunakan berupa mobil box. Jumlah kendaraan yang akan digunakan berdasarkan

jumlah rute yang terbentuk. Setiap kendaraan memiliki box tempat meletakkan

barang konsumen dengan kapasitas muatan 200 buah dan kecepatan rata-rata

maksimal yang digunakan masing-masing kendaraan adalah 50 km/jam.

3. Jumlah Permintaan Konsumen

Jumlah permintaan setiap konsumen (qi) berbeda-beda dan satuan yang

digunakan untuk jumlah permintaan ini adalah jumlah (buah). qi yang bernilai

positif menyatakan banyaknya permintaan yang harus diantar ke konsumen ke-i.

Berikut disajikan Tabel 4.2 mengenai jumlah permintaan dari setiap konsumen

(43)

43

konsumen dan jarak antar konsumen tersebut. Perhitungan jarak dilakukan dengan

menggunakan bantuan perhitungan jarak antar dua titik

√ .

Data jarak dari depot ke konsumen dan jarak antar konsumen ditampilkan

dalam bentuk matriks. Selanjutnya, jarak tempuh dari titik A ke titik B

diasumsikan sama dengan jarak tempuh dari titik B ke titik A.

Tabel 4.3. Data Jarak antar lokasi

(44)

44 Keterangan :

inf = tidak ada akses secara langsung dari baris ke-i menuju kolom ke-j.

5. Waktu

Data waktu yang dibutuhkan terdiri daritime windows depot, time windows

masing-masing konsumen, service time, dan waktu tempuh kendaraan. Waktu

operasional untuk melakukan pelayanan dalam data simulasi ini dimulai dari

pukul 07.00 WIB s.d. pukul 12.00 WIB dengan toleransi keterlambatan

kembalinya kendaraan ke depot 15 menit, maka time windows depot dalam satuan

menit adalah [0, 315].

Tabel 4.4. Time Windows Konsumen

Konsumen Time Windows

Konsumen-1 07.00 – 11.00 Konsumen-2 07.00 – 12.00 Konsumen-3 07.45 – 11.00 Konsumen-4 07.00 – 12.00 Konsumen-5 07.00 – 12.00 Konsumen-6 07.00 – 11.30 Konsumen-7 08.00 – 11.00 Konsumen-8 07.45 – 11.30 Konsumen-9 07.30 – 11.00

Service time atau waktu pelayanan konsumen dapat dibagi menjadi waktu

pemuatan barang (loading), waktu penurunan barang (unloading), dan waktu

untuk urusan administrasi. Dalam penelitian ini, diketahui bahwa rata-rata waktu

pelayanan pelanggan adalah 10 menit.

6. Keterhubungan

Data keterhubungan dalam penelitian ini adalah ada dan tidaknya akses

(45)

45

Tabel 4.5. Data Keterhubungan antar lokasi.

Dari

Data alokasi kecepatan berdasarkan waktu adalah kecepatan rata-rata

maksimal yang dapat ditempuh kendaraan pada pukul 07.00 – 12.00 dan di jalur

tertentu. Untuk alokasi waktunya diambil kecepatan rata-rata maksimal setiap satu

jam selama 5 jam.

Tabel 4.6. Data Kecepatan Rata-rata pada pukul 07.00-08.00

(46)

46

Tabel 4.7. Data Kecepatan Rata-rata pada pukul 08.00-09.00

1 2 3 4 5 6 7 8 9 10

Tabel 4.8. Data Kecepatan Rata-rata pada pukul 09.00-10.00

1 2 3 4 5 6 7 8 9 10

Tabel 4.9. Data Kecepatan Rata-rata pada pukul 10.00-11.00

(47)

47

Tabel 4.10. Data Kecepatan Rata-rata pada pukul 11.00-12.00

1 2 3 4 5 6 7 8 9 10

1 0 60 60 55 40 55 45 50 55 50

2 65 0 50 60 0 0 45 50 0 0

3 58 55 0 55 55 0 57 0 0 0

4 63 60 50 0 0 62 0 0 0 0

5 50 0 60 0 0 55 54 50 0 0

6 50 0 0 50 56 0 60 62 0 0

7 40 60 56 0 65 55 0 55 0 53

8 50 60 0 0 65 62 55 0 0 58

9 75 0 0 0 0 0 0 0 0 0

10 50 0 0 0 0 0 70 65 0 0

3. Pengolahan Data

Penyelesaian permasalahan CVRPTW untuk mendapatkan solusi rute

distribusi pada data simulasi dilakukan dengan mengolah data yang telah

diperoleh dan dijelaskan sebelumnya pada subbab C.2. Permasalahan CVRPTW

tersebut akan diselesaikan dengan menggunakan Algoritma floyd warshall dan

nearest neighbour. Penggunaan algoritma floyd warshall dan nearest neighbour

dalam menyelesaikan masalah CVRPTW dimulai dengan pembentukan matriks

waktu tempuh yang kemudian diolah dengan algoritma floyd warshall yang akan

dijelaskan pada subbab A.1. Selanjutnya penyelesaian masalah menggunakan

algoritma nearest neighbour akan dijelaskan pada subbab A.2. Namun

sebelumnya, akan disajikan Tabel 4.11 mengenai data pelanggan berdasarkan

perolehan data yang telah dijelaskan pada subbab C.2 untuk membantu proses

(48)

48

Berikut langkah-langkah penyelesaian masalah CVRPTW dengan algoritma

nearest neighbour.

1. Pembentukan rute pertama

Perjalanan diawali dari depot(1) dengan kendaraan-1 dan pada pukul 07.00

(t=0). Kemudian konsumen akan dilayani berturut-turut sesuai dengan

batasan kendala dan kembali ke depot sebelum batas waktu akhir depot.

Adapun langkah-langkah pembentukan rute pertama.

a. Membuat matriks waktu tempuh saat t=0. Kecepatan rata-rata kendaraan

bersifat dinamis berdasarkan waktu dan kecepatan rata-rata maksimal

kendaraan yaitu 50 km/jam. Jika kecepatan rata-rata maksimal

kendaraan < kecepatan rata-rata pada kondisi jalan dan waktu tertentu,

maka kecepatan rata-rata yang digunakan adalah kecepatan rata-rata

maksimal kendaraan. Jika kecepatan rata-rata maksimal kendaraan >

(49)

49

kecepatan rata-rata yang digunakan adalah kecepatan rata-rata pada

kondisi jalan dan waktu tertentu.

Tabel 4.12.a. Matriks waktu tempuh kendaraan ke-1 saat t=0

1 2 3 4 5 6 7 8 9 10

1 0 79.266 48 121.3333 91.0069 54.6494 71.6938 60.4669 12.9035 54.8839

2 73.0082 0 98.276 76.761 inf inf 24.0832 56.001 inf inf

3 49.4118 103.7358 0 126 94.4047 inf 85.3396 inf inf inf

4 182 89.5545 157.5 0 inf 148.4559 inf inf inf inf

5 72.8055 inf 89.9093 Inf 0 114.7364 67.9255 112.3329 inf inf

6 54.6494 inf inf 161.5549 143.4205 0 75.5926 39.4891 inf inf

7 71.6938 18.0624 95.0927 Inf 79.2465 90.2234 0 48.4149 inf 80.6994

8 53.7484 57.601 inf Inf 127.3106 41.7456 48.4149 0 inf 103.5482

9 10.3228 inf inf Inf inf inf inf inf 0 inf

10 48.0234 inf inf Inf inf inf 66.5770 98.0983 inf 0

b. Memilih konsumen yang akan dilayani berdasarkan matriks waktu

tempuh terkecil dari depot yaitu konsumen-8 dengan waktu tempuh

12.9035 menit dan demand 65 buah. Karena waktu tempuh dari depot ke

konsumen-8 adalah 12.9035 menit < , maka kendaraan sampai

di tempat konsumen lebih awal dari time windows. Jadi konsumen mulai

dilayani pada pukul 07.45 dengan lama pelayanan 10 menit dan

total demand < kapasitas kendaraan. Jadi, rute sementara yang terbentuk

adalah 1 – 9 dengan waktu tempuh total

menit dan total demand = 65 buah.

c. Karena kendaraan selesai melayani konsumen-8 pada pukul 07.55, maka

(50)

50

Tabel 4.12.b. Matriks waktu tempuh kendaraan ke-1 saat t=55

1 2 3 4 5 6 7 8 9 10

1 0 61.6513 43.8261 121.3333 84.0063 54.6494 64.5244 55.8156 11.9109 46.1025

2 68.2208 0 90.3505 70.0861 inf inf 19.7044 53.0536 inf inf

3 45.8182 88.9164 0 126 83.2983 inf 77.401 inf inf inf

4 182 80.599 145.3846 0 inf 143.2922 inf inf inf inf

5 84.0063 inf 88.5044 Inf 0 103.2628 64.2539 100.5084 inf inf

6 58.553 inf Inf 149.8055 143.4205 0 71.7161 34.5141 inf inf

7 64.5244 18.0624 86.8237 Inf 71.3218 79.9122 0 43.5734 inf 70.7013

8 52.2017 48.3849 Inf Inf 104.1633 41.7456 43.5734 0 inf 96.4069

9 10.3228 inf Inf Inf inf inf inf inf 0 inf

10 44.3293 inf Inf Inf inf inf 61.4557 94.7729 inf 0

d. Karena tidak ada akses dari konsumen-8 ke konsumen lain,maka

kendaraanharus kembali ke depot. Waktu tempuh dari konsumen-8 ke

depot adalah menit. Waktu tempuh total

menit < , maka memenuhi kendalatime windows. Jadi

kendaraan sampai di depot pada pukul 08.06. Jadi, rute yang terbentuk

adalah 1 – 9 – 1 dengan waktu tempuh total 66 menit dan total demand =

65 buah.

(51)

51

Gambar 4.2. Hasil Rute 1 pada Data Simulasi dengan NN

2. Pembentukan rute kedua

Perjalanan diawali dari depot(1) dengan kendaraan-2 dan pada pukul 07.00

(t=0). Kemudian konsumen akan dilayani berturut-turut sesuai dengan

batasan kendala dan kembali ke depot sebelum batas waktu akhir depot.

Adapun langkah-langkah pembentukan rute kedua.

a. Membuat matriks waktu tempuh saat t=0. Kecepatan rata-rata kendaraan

bersifat dinamis berdasarkan waktu dan kecepatan rata-rata maksimal

kendaraan yaitu 50 km/jam. Jika kecepatan rata-rata maksimal

kendaraan < kecepatan rata-rata pada kondisi jalan dan waktu tertentu,

maka kecepatan rata-rata yang digunakan adalah kecepatan rata-rata

maksimal kendaraan. Jika kecepatan rata-rata maksimal kendaraan >

kecepatan rata-rata pada kondisi jalan dan waktu tertentu, maka

(52)

52

kondisi jalan dan waktu tertentu. Tabel disajikan di Tabel B.1 pada

Lampiran 2.

b. Memilih konsumen yang akan dilayani berdasarkan matriks waktu

tempuh terkecil dari depot, yaitu konsumen-2 dengan waktu tempuh 48

menit dan demand 60 buah. Karena waktu tempuh dari depot ke

konsumen-2 adalah 48 menit < , maka konsumen mulai

dilayani pada pukul 07.48 dengan lama pelayanan 10 menit dan

total demand 60 buah < kapasitas kendaraan. Jadi, rute sementara yang

terbentuk adalah 1 – 3 dengan waktu tempuh total

menit dan total demand = 60 buah.

c. Karena kendaraan selesai melayani konsumen-2 pada pukul 07.58, maka

buat matriks waktu tempuh saat t=58. Tabel disajikan di Tabel B.2 pada

Lampiran 2.

d. Memilih konsumen yang akan dilayani berdasarkan matriks waktu

tempuh terkecil dari konsumen-2, yaitu konsumen-6 dengan waktu

tempuh 75.2996 76 menit dan demand 70 buah. Karena waktu tempuh

dari konsumen-8 ke konsumen-6 adalah 76 menit, maka total

waktu tempuh sementara adalah 134 menit < , konsumen mulai

dilayani pada pukul 09.14 dengan lama pelayanan 10 menit dan

total demand 60 + 70 = 130 buah < kapasitas kendaraan. Jadi, rute

sementara yang terbentuk adalah 1 – 3 – 7 dengan waktu tempuh total

menit dan total demand = 130

(53)

53

e. Karena kendaraan selesai melayani konsumen-6 pada pukul 09.24, maka

buat matriks waktu tempuh saat t=144. Tabel disajikan di Tabel B.3 pada

Lampiran 2.

f. Memilih konsumen yang akan dilayani berdasarkan matriks waktu

tempuh terkecil dari konsumen-6, yaitu konsumen-1 dengan waktu

tempuh 18.0624 19 menit dan demand 70 buah. Karena waktu tempuh

dari konsumen-6 ke konsumen-1 adalah 19 menit, maka total

waktu tempuh sementara adalah 165 menit < , konsumen mulai

dilayani pada pukul 09.45 dengan lama pelayanan 10 menit dan

total demand 60 + 70 + 70 = 200 buah = kapasitas kendaraan. Jadi, rute

sementara yang terbentuk adalah 1 – 3 – 7 – 2 dengan waktu tempuh

total menit dan total demand

= 200 buah.

g. Karena kendaraan selesai melayani konsumen-1 pada pukul 09.53, maka

buat matriks waktu tempuh saat t=173. Tabel disajikan di Tabel B.4 pada

Lampiran 2.

h. Karena kapasitas kendaraan-2 sudah penuh, maka kendaraan harus

kembali ke depot. Waktu tempuh dari konsumen-1 ke depot adalah

menit. Waktu tempuh total

menit < , maka memenuhi kendala time windows. Jadi kendaraan

sampai di depot pada pukul 10.49. Jadi, rute yang terbentuk adalah 1 – 3

– 7 – 2 – 1 dengan waktu tempuh total 229 menit dan total demand =

200 buah.

(54)

54

Gambar 4.3. Hasil Rute 2 pada Data Simulasi dengan NN

3. Pembentukan rute ketiga

Perjalanan diawali dari depot(1) dengan kendaraan-3 dan pada pukul 07.00

(t=0). Kemudian konsumen akan dilayani berturut-turut sesuai dengan

batasan kendala dan kembali ke depot sebelum batas waktu akhir depot.

Adapun langkah-langkah pembentukan rute ketiga.

a. Membuat matriks waktu tempuh saat t=0. Kecepatan rata-rata kendaraan

bersifat dinamis berdasarkan waktu dan kecepatan rata-rata maksimal

kendaraan yaitu 50 km/jam. Jika kecepatan rata-rata maksimal

kendaraan < kecepatan rata-rata pada kondisi jalan dan waktu tertentu,

maka kecepatan rata-rata yang digunakan adalah kecepatan rata-rata

maksimal kendaraan. Jika kecepatan rata-rata maksimal kendaraan >

kecepatan rata-rata pada kondisi jalan dan waktu tertentu, maka

(55)

55

kondisi jalan dan waktu tertentu. Tabel disajikan di Tabel C.1 pada

Lampiran 2.

b. Memilih konsumen yang akan dilayani berdasarkan matriks waktu

tempuh terkecil dari depot, yaitu konsumen-5 dengan waktu tempuh

54.6494 55 menit dan demand 70 buah. Karena waktu tempuh dari

depot ke konsumen-5 adalah 55 menit < , maka konsumen

mulai dilayani pada pukul 07.55 dengan lama pelayanan 10 menit

dan total demand 70 buah < kapasitas kendaraan. Jadi, rute sementara

yang terbentuk adalah 1 – 6 dengan waktu tempuh total

menit dan total demand = 70 buah.

c. Karena kendaraan selesai melayani konsumen-5 pada pukul 08.05, maka

buat matriks waktu tempuh saat t=65. Tabel disajikan di Tabel C.2 pada

Lampiran 2.

d. Memilih konsumen yang akan dilayani berdasarkan matriks waktu

tempuh terkecil dari konsumen-5, yaitu konsumen-7 dengan waktu

tempuh 32.4688 33 menit dan demand 70 buah. Karena waktu tempuh

dari konsumen-5 ke konsumen-7 adalah33 menit, maka total

waktu tempuh sementara adalah 98 menit < , konsumen mulai dilayani

pada pukul 08.38 dengan lama pelayanan 10 menit dan total

demand 70 + 70 = 140 buah < kapasitas kendaraan. Jadi, rute sementara

yang terbentuk adalah 1 – 6 – 8 dengan waktu tempuh total

menit dan total demand = 140

Gambar

Gambar 2.11. Flowchart Algoritma Nearest Neighbour
Gambar 4.1. Permasalahan CVRPTW pada Data Simulasi
Tabel 4.4. Time Windows Konsumen
Tabel 4.6. Data Kecepatan Rata-rata pada pukul 07.00-08.00
+7

Referensi

Dokumen terkait

Kombinasi Fuzzy-Algoritma Floyd Warshall untuk Perencanaan Rute Evakuasi Korban Erupsi Gunung Merapi di Kabupaten Sleman dengan lancar.. Skripsi ini merupakan salah satu

Berdasarkan perhitungan yang dilakukan dalam menyelesaikan permasalahan CVRP menggunakan algoritma sweep, diperoleh total jarak tempuh kendaraan yaitu 142.9 km

Metode Nearest Neighbour digunakan pada penulisan skripsi ini dikarenakan metode ini merupakan salah satu metode yang memiliki karakteristik pembentukan rute distribusi

Dihasilkan rute distribusi dengan algoritma carke &amp; wright adalah tiga rute dengan total jarak tempuh 180,7 km, rute dengan model penyelesaian Vehicle Routing Problem

Adapun tujuan penulisan dari makalah ini adalah : (1).Untuk menentukan rute terpendek jaringan jalan dengan menggunakan metode Algoritma Floyd – Warshall dengan

Output dari has il pengolahan data dengan menggunakan Algoritma Tabu Search adalah urutan rute pengiriman barang yang baru dengan total jarak tempuh yang lebih

Metode yang digunakan adalah Algoritma Nearest Neighbour, Penanganan yang dilakukan berupa pengubahan rute truk dan lokasi pengisian BBM angkutan sampah di By Pass

Pada penelitian tugas akhir ini, penulis membuat sebuah aplikasi pencarian rute untuk mobil pemadam kebakaran berbasis android dengan menggunakan algoritma Floyd-Warshall..