PENGGUNAAN METODE HEURISTIK DALAM PERMASALAHAN
VEHICLE ROUTING PROBLEM DAN IMPLEMENTASINYA DI
PT NIPPON INDOSARI CORPINDO
AJI RADITYA
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2009
PRAPTO TRI SUPRIYO.
This paper is a case study in a division of PT Nippon Indosari Corpindo company. We used the vehicle routing problem with time windows (VRPTW) to formulate the distribution problem, which is a variation of the vehicle routing problem (VRP). In the VRP, all costumers have a time windows, so the service for the costumers must be completed in a specified time interval. The objective is to minimize the number of vehicles to serve all costumers in certain area and also to minimize the route length.
As the VRPTW is a difficult problem in non polynomial hard problems, then we used the heuristic approach to solve the problem. In this paper, we used the nearest addition heuristic method to find the first solution. Next we used 2-Opt, Or-Opt, relocate, exchange, and cross methods to improve the first solution. In the last chapter of this paper, the results were compared to the current condition of the company.
RINGKASAN
AJI RADITYA. Penggunaan Metode Heuristik Dalam Permasalahan Vehicle Routing Problem dan Implementasinya di PT Nippon Indosari Corpindo. Dibimbing oleh AMRIL AMAN dan PRAPTO TRI SUPRIYO.
Penelitian ini adalah studi kasus pada bagian distribusi di PT Nippon Indosari Corpindo. Metode vehicle routing problem with time windows (VRPTW) digunakan untuk memformulasikan masalah distribusi. Metode VRPTW merupakan variasi dari metode vehicle routing problem (VRP). Dalam metode VRP, setiap kendaraan berawal dan berakhir di satu tempat (depot) untuk melayani seluruh konsumen. Pada VRPTW, setiap konsumen memiliki batasan waktu pelayanan, sehingga kegiatan pengiriman di tempat konsumen harus berada diantara batasan waktu yang ditentukan. Penelitian ini bertujuan meminimumkan banyaknya kendaraan yang digunakan untuk melayani konsumen dan meminimumkan total jarak yang ditempuh.
Metode VRPTW termasuk kategori non-polynomial hard problem, karena digunakan pendekatan heuristik untuk mencari solusi masalah. Metode nearest addition heuristic digunakan untuk mencari solusi awal. Kemudian digunakan metode 2-Opt, or-Opt, relocate, exchange dan
cross untuk memperbaiki solusi awal tersebut. Pada penelitian ini, solusi dengan metode di atas
akan dibandingkan dengan keadaan yang terjadi pada perusahaan tersebut.
Skripsi
sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains pada
Departemen Matematika
Oleh:
AJI RADITYA
G54104062
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2009
Judul Skripsi
:
Penggunaan Metode Heuristik Dalam Permasalahan Vehicle
Routing Problem dan Implementasinya di PT Nippon
Indosari Corpindo
Nama
:
Aji Raditya
NIM
:
G54104062
Menyetujui
Pembimbing I
Pembimbing II
Dr. Ir. Amril Aman, M.Sc.
Drs. Prapto Tri Supriyo, M.Kom.
NIP 19570330 198103 1 001
NIP 19630715 199002 1 002
Mengetahui,
Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor
Dr. drh. Hasim, DEA
NIP 19610328 198601 1 002
karunia-Nya sehingga penulisan skripsi dengan judul “Penggunaan Metode Heuristik Dalam Permasalahan Vehicle Routing Problem dan Implementasinya di PT Nippon Indosari Corpindo” dapat diselesaikan.
Pada kesempatan ini penulis menyampaikan ucapan terima kasih kepada:
1. Bapak Marsudi Harto, ibunda Sri Supami, adinda Swasti Hapsari dan sepupuku Ika Nuryuni Kartika serta seluruh keluarga besar penulis atas doa, semangat, dan kasih saying yang telah diberikan.
2. Bapak Amril Aman dan bapak Prapto Tri Supriyo selaku dosen pembimbing yang telah banyak memberikan arahan dan masukan pada penulisan skripsi ini.
3. Bapak Yusuf Hadi dan bapak Zainal Arifin sebagai General Manager dan Distribution Manager pada PT Nippon Indosari Corpindo atas bantuannya saat proses pengambilan data di perusahaan tersebut.
4. Teman seperjuanganku Fariz Saeful Romza atas kerjasamanya selama penelitian dan penulisan skripsi ini.
5. Tities Melyasih atas doa, semangat dan dukungan yang diberikan.
6. Teman-temanku di jurusam matematika (angkatan 40, 41, 42, 43) atas bantuan dan dukungannya
7. Teman-temanku di kostan “Al-Fath” yang banyak memberikan saran dan ide pada penulis. Penulis menyadari bahwa skripsi ini masih bisa untuk dikembangkan lebih jauh lagi. Korespondensi dengan penulis dapat melalui e-mail di ar_ddt@yahoo.com.
“Jangan menganggap tugas belajarmu sebagai kewajiban, melainkan pandanglah itu sebagai sebuah kesempatan untuk menikmati betapa indahnya ilmu pengetahuan yang akan
diterima oleh masyarakat apabila jerih payahmu berhasil” – Albert
Einstein-Bogor, September 2009 Aji Raditya
RIWAYAT HIDUP
Penulis dilahirkan di Jakarta pada tanggal 02 Desember 1986 dari ayah Marsudi Harto dan ibu Sri Supami. Penulis merupakan putra pertama dari dua bersaudara.
Tahun 2004 penulis lulus dari SMA Negeri 2 Tangerang dan pada tahun yang sama lulus ujian Seleksi Penerimaan Mahasiswa Baru (SPMB) untuk masuk ke jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam IPB.
Pada tahun 2008, penulis (tergabung dalam tim) memenangi Lomba Karya Tulis Mahasiswa (LKTM) bidang Ilmu Pengetahuan Sosial tingkat IPB sebagai juara II dan pada tahun yang sama penulis (tergabung dalam tim) menjadi 10 besar finalis Kompetisi Pemikiran Kritis Mahasiswa (KPKM) tingkat nasional bidang perekonomian yang diselenggarakan oleh Dikti.
Bogor, September 2009 Aji Raditya
DAFTAR GAMBAR………. viii
DAFTAR LAMPIRAN……….. viii
PENDAHULUAN Latar Belakang………... 1
Manfaat……….. 1
LANDASAN TEORI Traveling Salesman Problem (TSP)……….. 1
Traveling Salesman Problem with Time Windows (TSPTW)……… 2
m-Traveling Salesman Problem (m-TSP)……….. 3
Vehicle Routing Problem (VRP)……… 3
Vehicle Routing Problem with Time Windows (VRPTW)………. 4
Metode Heuristik……… 4
Nearest Addition Heuristic………. 5
2-opt……… 5
Relocate……… 5
Exchange……… 6
METODE PENELITIAN Waktu dan Lokasi……….. 6
Teknik Pengumpulan Data………. 6
Ruang Lingkup Penelitian……….. 6
Pengolahan Data……… 6
IMPLEMENTASI VEHICLE ROUTING PROBLEM PADA KEGIATAN DISTRIBUSI PRODUK DI PT NIPPON INDOSARI CORPINDO Gambaran Umum Perusahaan……… 7
Divisi Distribusi……….. 7
Kegiatan Distribusi………. 7
Kegiatan pada Saluran Distribusi RO………. 8
Perumusan Masalah………... 8
Formulasi Masalah………. 9
Hasil dan Pembahasan 10 SIMPULAN DAN SARAN Simpulan……… 15
Saran……….. 15
DAFTAR PUSTAKA……… 15
DAFTAR TABEL
Halaman
1 Hasil simulasi untuk kendaraan pertama……… 10
2 Hasil simulasi untuk kendaraan kedua……….. 11
3 Hasil simulasi untuk kendaraan ketiga……….. 12
4 Rute saat ini untuk kendaraan pertama... 12
5 Rute saat ini untuk kendaraan kedua... 13
6 Rute saat ini untuk kendaraan ketiga... 13
7 Perbandingan hasil simulasi dan data yang didapat………... 14
DAFTAR GAMBAR
Halaman 1 Contoh rute dalam traveling salesman problem ……… 22 Contoh rute dalam vehicle routing problem……….. 3
3 Contoh metode 2-opt………. 5
4 Contoh metode relocate pada satu rute………. 5
5 Contoh metode relocate pada dua rute……….. 6
6 Contoh metode exchange pada satu rute……… 6
7 Contoh metode exchange pada dua rute……… 6
8 Rute hasil simulasi………. 12
9 Rute saat ini……… 14
DAFTAR LAMPIRAN
Halaman 1 Struktur organisasi pada departemen supply chain management……... 172 Saluran distribusi yang ada………. 18
3 Diagram alir pada saluran distribusi retail/outlet………... 19
4 Beberapa gambar……… 20 5 Matriks jarak ………. 23 6 Data……… 24 7 Input……… 25 8 Proses……….. 26 9 Output………. 29
I PENDAHULUAN
Pada bagian awal bab ini, akan dijelaskan latar belakang dan tujuan penelitian yang dilakukan. Sementara itu pada bagian akhir bab ini akan diperlihatkan manfaat dari penelitian ini bagi perusahaan.
1.1 Latar Belakang
Masalah transportasi dan distribusi produk dalam kehidupan sehari-hari dapat dimodelkan sebagai Vehicle Routing Problem (VRP). Model VRP akan menghasilkan sejumlah rute kendaraan untuk mengunjungi setiap konsumen. Setiap rute berawal dan berakhir pada tempat yang sama yang disebut depot. Selain itu, model VRP juga memastikan agar total permintaan pada suatu rute tidak melebihi kapasitas kendaraan yang beroperasi. Penggunaan model VRP diharapkan dapat meminimumkan total jarak tempuh dan jumlah kendaraan.
Kendala waktu pada model VRP merupakan masalah yang rumit. Pada masalah tersebut, konsumen hanya melayani pengiriman produk pada selang waktu tertentu setiap harinya. Sebagai contoh, sebuah gudang hanya akan melayani pengiriman produk antara pukul 08.00 WIB sampai dengan pukul 15.00 WIB. Untuk memecahkan masalah tersebut digunakanlah Vehicle Routing Problem with Time Windows (VRPTW) yaitu
model VRP dengan menambahkan kendala waktu.
VRPTW terbagi menjadi dua kasus yaitu kasus hard time windows dan kasus soft time
windows. Pada kasus hard time windows,
pengiriman akan ditolak apabila tidak sesuai dengan waktu yang telah ditentukan oleh konsumen, sedangkan pada kasus soft time
windows konsumen akan menerima pengiriman walaupun tidak sesuai dengan
waktu yang telah ditentukan sekaligus memberikan penalti atau biaya tambahan atas keterlambatannya. Pada penelitian ini model VRPTW dengan kasus soft time windows dipilih karena sesuai dengan masalah yang terjadi di lapangan.
VRP sulit untuk dipecahkan karena merupakan gabungan antara masalah kapasitas (packing problem) dan masalah penentuan rute (salesman routing problem). Jika masalah yang dihadapi masih tergolong kecil, maka metode branch and bound dapat memberikan solusi terbaik dari masalah VRP. Jika masalahnya kompleks dan besar, salah satu cara untuk menyelesaikannya adalah dengan menggunakan metode heuristik.
Dalam penelitian ini, metode heuristik akan digunakan untuk mencari solusi dari model VRPTW yang dihadapi. Solusi tersebut dapat dicari dengan bantuan software ILOG
Dispatcher versi 2.1 dan ILOG Solver versi
4.4 yang dijalankan dengan Microsoft Visual C++ versi 6.0.
1.2 Manfaat
Penelitian yang dilakukan memiliki manfaat yang berbeda bagi masing-masing
level management pada perusahaan tersebut.
Manfaat bagi top level management dan
middle level management di perusahaan
tersebut adalah mempermudah proses pengambilan keputusan. Dalam hal ini keputusan untuk meminimumkan biaya distribusi yang ditanggung oleh perusahaan, langkah yang dapat dilakukan adalah meminimumkan banyaknya kendaraan dan memaksimumkan banyaknya barang yang dibawa, sedangkan manfaat bagi low level
management adalah dapat menentukan rute
terpendek bagi setiap kendaraan.
II LANDASAN TEORI
Dalam bab ini, akan dijelaskan beberapa metode yang digunakan dalam penelitian. Pertama akan dijelaskan tentang Traveling
Salesman Problem (TSP) yang merupakan
dasar dari Vehicle Routing Problem (VRP), kemudian akan diperlihatkan penggunaan metode heuristik untuk mencari solusi dari kasus VRP yang dihadapi pada.
2.1 Traveling Salesman Problem
Dalam TSP, seorang salesman akan berangkat dari satu kota kemudian mengunjungi seluruh kota yang ada dan pada akhir perjalanannya salesman tersebut akan kembali ke kota awal atau depot. Tujuan dari TSP adalah menentukan rute yang melalui seluruh kota dan meminimumkan jarak.
2
Model TSP dapat dituliskan sebagai berikut:
Variabel keputusan
1, jika kota ke -
dikunjungi setelah kota ke -= , 0, selainnya j i xi j
Fungsi objektif: m m j=1 i=1 min Z=
c x
i, j i, j (2.1) Kendala-kendala: 1 ,1;
1,2,...,
m j i jx
i
m
(2.2) , 11;
1, 2,...,
m i j ix
j
m
(2.3) ,| | 1
;
{1,2,..., } i j j L i L xL
L m
(2.4) ,{0,1};
,
1,2,...,
i jx
i j
m
(2.5)Fungsi objektif dalam TSP (persamaan 2.1) adalah meminimumkan jarak yang ditempuh dan mengunjungi setiap kota yang ada, dengan ci,jadalah jarak dari kota i ke kota
j dan xi,j benilai 1 jika rute dari kota ke-i
menuju kota ke-j digunakan dan bernilai 0 jika selainnya. Kendala (2.2) dan (2.3) memastikan bahwa setiap kota dikunjungi tepat satu kali, sedangkan kendala (2.4) memastikan tidak terdapat subtour pada rute tersebut. Pada kendala (2.5) diperlihatkan bahwa xi,j merupakan varibel biner untuk
setiap i dan j yang ada (Hoffman & Padberg 2009).
Dalam perkembangannya, TSP memiliki beberapa variasi, yaitu: Traveling Salesman
Problem with Time Windows (TSPTW) yang
merupakan TSP dengan tambahan waktu pelayanan di setiap kota dan m-Traveling
Salesman Problem (m-TSP) yang menggunakan sejumlah salesman untuk mengunjungi seluruh kota.
2.1.1 Traveling Salesman Problem with Time windows
Traveling Salesman Problem with Time Windows (TSPTW) merupakan pengembangan dari TSP. Pada TSPTW rute yang ditempuh memiliki tambahan kendala waktu pelayanan (time windows) untuk masing-masing konsumen.
Time windows pada masing-masing konsumen dapat berbeda satu sama lain, tetapi memiliki karakteristik yang sama yakni berupa selang waktu. Time windows [a1, bi]
menunjukkan selang waktu pelayanan pada konsumen i, dengan aisebagai batas awal dan
bisebagai batas akhir.
Model untuk TSPTW tidak berbeda dengan model TSP di atas, dengan tambahan beberapa kendala: ; 1,..., ai Ti bi i m (2.6) , 1,..., ; , i j m Ti ti j Tj i j (2.7)
Pada (2.6) waktu pelayanan (Ti) berada di
antara batas awal (ai) dan batas akhir (bi) dari
time windows, sedangkan pada persamaan
(2.7) dipastikan pelayanan di kota j (Tj)
merupakan waktu tempuh antara kota i dan kota j (ti,j) ditambahkan dengan waktu
pelayanan di kota i (Ti) (Sutapa et al. 2003).
Gambar 1 Contoh rute dalam Traveling Salesman Problem (TSP) .
Konsumen
2.1.2 m-TSP
m-TSP adalah salah satu variasi dari TSP,
dimana terdapat sebanyak m salesman mengunjungi seluruh kota, tetapi setiap kota hanya dapat dikunjungi oleh tepat satu
salesman saja. Tiap salesman berawal dari
suatu depot dan pada akhir perjalannya juga harus kembali ke depot tersebut. Tujuan dari
m-TSP adalah meminimumkan total jarak dari
setiap rute.
Masalah m-TSP dikenal juga sebagai
Vehicle Routing Problem (VRP), dimana
sebuah kota diasosiasikan sebagai sebuah konsumen dan tiap kendaraan memiliki kapasitas tertentu. Total jumlah permintaan dalam suatu rute tidak boleh melebihi kapasitas dari kendaraan yang beroperasi (Larsen 1999).
2.2 Vehicle Routing Problem
Masalah yang berkaitan dengan pencarian rute yang optimal untuk kendaraan dari satu depot dan melayani sejumlah konsumen disebut VRP. Dalam prakteknya VRP banyak digunakan pada masalah distribusi logistik.
Berikut adalah karakteristik dari model VRP. Terdapat satu depot (dilambangkan dengan O) yang memiliki sebanyak k kendaraan untuk melakukan pengiriman, dengan kapasitas setiap kendaraan sebesar C. Kendaraan tersebut mengirimkan permintaan sebesar qi untuk n konsumen, dengan
i=1,2,3,…,n. Jarak yang ditempuh setiap
kendaraan sebisa mungkin adalah jarak yang paling minimum dengan ci,j adalah biaya
pengiriman dari konsumen i ke konsumen j, dengan i= 1,2,…,n dan j=1,2,…,n. Jarak antarkonsumen bersifat simetris atau dapat ditulis sebagai ci,j=cj,isedangkan jarak antara
tempat yang sama bernilai nol atau ci i, 0. Solusi yang dihasilkan merupakan anggota dari { ,...,R1 Rk}yang mengirimkan n permintaan melalui k rute yang tersedia dan permintaan yang dikirim tidak melebihi kapasitas kendaraan yang tersedia untuk setiap
rute (Machado et al. 2002).
Tujuan dari VRP adalah menentukan sejumlah rute untuk melakukan pengiriman pada setiap konsumen, dengan mengikuti beberapa ketentuan, antara lain: (1) setiap rute berawal dan berakhir di depot, (2) setiap konsumen dikunjungi tepat satu kali oleh tepat satu kendaraan, (3) jumlah permintaan tiap rute tidak melebihi kapasitas kendaraan dan (4) meminimumkan biaya perjalanan (Cordeau et al. 2002).
Model VRP dapat direpresentasikan sebagai berikut: 1 1 1 , , l n n k j i k i j i j
min Z
c x
(2.8) Kendala-kendala Konsumen 1 1 ,1;
2, 3,...,
l n i k k i jj
n
x
( 2 . 9 ) 1 1 ,1;
2, 3,...,
l n j k k i ji
n
x
( 2 . 1 0 ) Depot 2 1,1;
1, 2,...,
n j k jk
x
l
( 2 . 1 1 ) 2 ,11;
1, 2,...,
n i k ik
x
l
( 2 . 1 2 ) Kekontinuan rute 2 , 2 , 1, 2,..., 1, 2, ...,;
n n i i k k i u u j k l u nx
x
( 2 . 1 3 ) Kapasitas 1 1 , ; 1, 2,..., n n i j k i i j k kq x
C
l
( 2 . 1 4 ) ,, 1,2,...,
{0,1};
1,...
k i ji j
n
k
l
x
( 2 . 1 5 )Gambar 2 Contoh rute dalam Vehicle Routing Problem (VRP). Konsumen
4
Fungsi objektif dari VRP (2.8) adalah meminimumkan total biaya perjalanan, dengan
c
i,j adalah biaya perjalanan darikonsumen i menuju konsumen j. Variabel keputusan
x
i jk, bernilai 1 jika rute dari konsumen i menuju konsumen j dilayani oleh kendaraan k dan bernilai nol jika selainnya. Pada kendala (2.9) dan (2.10) dipastikan tepat satu kendaraan yang datang dan pergi dari konsumen i, sedangkan kendala (2.11) dan (2.12) memastikan bahwa tepat satu kendaraan yang pergi dan tiba di depot untuk satu rute. Kendala (2.13) memastikan kekontinuan rute dari setiap kendaraan yang beroperasi. Kendala (2.14) memastikan agar total permintaan (qi) pada satu rute tidakmelebihi kapasitas kendaraan (Ck) yang
beroperasi pada rute tersebut (Kritikos & Ioannou 2004).
VRP adalah masalah optimisasi kombinatorial yang sulit, karena merupakan gabungan dari masalah kapasitas (packing
problem) dan masalah rute kendaraan
(traveling salesman problem). Pada VRP, hanya tipe masalah kecil dan sederhana yang dapat dicari solusi optimalnya. Hingga saat ini bila masalah VRP yang dihadapi relatif besar dan kompleks maka waktu yang dibutuhkan untuk mencari solusi optimal masalah tersebut relatif lama. Berdasarkan beberapa penelitian sebelumnya, nilai optimal dari fungsi objektif sulit untuk didapat dengan menggunakan
exact algorithm (contohnya: branch and bound dan dynamic programming).
Pendekatan exact algorithm dinyatakan tidak cukup baik untuk masalah yang dihadapi (VRP yang besar dan kompleks), sehingga dikembangkan metode heuristik sebagai salah satu alternatif untuk menyelesaikan masalah tersebut (Cordeau et al. 2002).
2.3. Vehicle Routing Problem with Time Windows (VRPTW)
VRP dengan tambahan kendala waktu pelayanan disebut sebagai Vehicle Routing
Problem with Time Windows (VRPTW).
Kendala waktu adalah selang waktu tertentu sehingga setiap kendaraan dapat memberikan pelayanan pada konsumen. Biasanya selang waktu tersebut berbeda pada setiap konsumen (Hideki et al, 2006 dalam Kang et al, 2007). Dalam perkembangannya VRPTW dibagi menjadi Vehicle Routing Problem with Hard
Time Windows (VRPHTW) dan Vehicle Routing Problem with Soft Time Windows
(VRPSTW).
Dalam VRPHTW, konsumen hanya dapat dilayani selama selang waktu yang telah ditentukan. Sedangkan pada VRPSTW konsumen dapat dilayani setiap saat, tetapi bila melewati waktu yang ditentukan akan dikenakan biaya tambahan atau penalti (Kang.
et al. 2007).
Seperti halnya pada VRP, fungsi objektif bagi VRPTW adalah meminimalkan biaya perjalanan untuk semua kendaraan. Kendala yang digunakan pun sama seperti model VRP (2.9) - (2.15), tetapi perlu ditambahkan beberapa kendala yang berhubungan dengan
time windows. Kendala tersebut, antara lain:
, (1 , ); , 2, 3,..., ; 1,..., ; k fi i j tj ti t M xi j i j n k l ( 2 . 1 6 ) ; 1,..., ai ti b ii n ( 2 . 1 7 ) 0; 1,..., ti i n ( 2 . 1 8 )
Kendala (2.16) memastikan waktu kedatangan kendaraan di konsumen j (tj)
selalu lebih besar dari waktu kedatangan kendaraan di konsumen i (ti), dengan
f
imerupakan waktu service di konsumen i dan
ti,j adalah waktu tempuh dari konsumen i
menuju konsumen j, sedangkan M (disebut
big-M) merupakan bilangan yang relatif besar,
sehingga jika M(1xi jk, )besar maka rute dari i ke j tidak akan ditempuh dan sebaliknya. Kendala berikutnya (2.17) memastikan kedatangan kendaraan di konsumen i berada di antara selang waktu yang telah ditentukan, dengan batas awal ai dan batas akhir bi,
sedangkan kendala terakhir (2.18) memastikan agar waktu kedatangan kendaraan ke setiap konsumen selalu positif (Larsen 1999). Pada penelitian ini akan digunakan VRPSTW, karena serupa dengan masalah yang ada di lapangan.
2.4 Metode Heuristik
Penggunaan metode branch and bound untuk mencari solusi VRP yang memiliki banyak kota (lebih dari 50 kota) membutuhkan waktu komputasi yang lama. Alasan tersebut menjadi sebab dikembangkannya metode heuristik. Metode heuristik dapat memberikan solusi lebih cepat daripada metode branch and bound, tetapi tidak ada jaminan solusi yang dihasilkan optimal. Solusi dari metode heuristik didapat selain dengan cara trial and error juga dengan pendekatan secara intuitif (Winston 2004).
Dalam metode heuristik untuk masalah VRP dikenal adanya dua fase pendekatan untuk memecahkan masalah, yaitu route
constructing sebagai fase pertama dan route improvement pada fase kedua. Pada penelitian
ini metode nearest addition heuristic akan digunakan untuk mencari solusi pada fase pertama. Selanjutnya metode 2-opt, metode
or-opt, metode relocate, metode exchange dan
metode cross digunakan untuk memperbaiki solusi yang telah ada.
2.4.1 Nearest Addition Heuristic
Metode nearest addition heuristic dimulai dengan menentukan banyaknya kendaraan yang tersedia di depot. Lokasi yang terdekat dengan depot akan dikunjungi pertama kali, kemudian lokasi yang dikunjungi selanjutnya adalah lokasi yang memiliki jarak terdekat dengan lokasi konsumen pertama, demikian seterusnya hingga kapasitas kendaraan atau
time windows terpenuhi. Jika kapasitas
kendaraan atau time windows telah dicapai maka kendaraan tersebut harus kembali ke depot. Kemudian jalankan kendaraan berikutnya dengan aturan yang sama seperti kendaraan pertama, sampai seluruh lokasi dikunjungi oleh kendaraan yang tersedia di depot.
Algoritmenya sebagai berikut: 1) pandang kendaraan sebagai w,
2) mulai sebuah rute dari depot bagi kendaraan w,
3) temukan konsumen (v) yang terdekat dari posisi terakhir w. Jika tidak dimungkinkan untuk melakukan kunjungan tanpa melanggar kendala yang ada akhiri rute kendaraan w, pilih kendaraan lain dan lakukan lagi langkah 2. Jika masih terdapat konsumen yang belum dikunjungi maka gagal,
4) tambahkan depot pada akhir rute, 5) lakukan langkah 3.
(ILOG, 2002).
Solusi dari metode nearest addition
heuristic dapat diperbaiki dengan menggunakan beberapa metode heuristik lainnya, antara lain: metode 2-opt, metode
or-opt, metode relocate, metode exchange dan
metode cross. 2.4.2 Metode 2-opt
Pada dasarnya metode 2-opt ialah memindahkan dua jalur pada rute yang ada, kemudian menghubungkan kembali jalur tersebut dengan pasangan konsumen yang berbeda. Sebagai catatan, metode 2-opt hanya
dapat dilakukan jika rute baru yang dihasilkan lebih baik daripada rute awal (Nilsson 2003). Algoritmenya, sebagai berikut:
1) pandang satu rute untuk satu kendaraan,
2) hapus 2 jalur yang menghubungkan 4 konsumen yang berbeda, cobalah untuk menghubungkan kembali keempat konsumen dengan pasangan yang berbeda,
3) jika biaya berkurang dan tidak melanggar kendala yang ada kembali ke langkah (2),
4) selesai. (ILOG, 2002).
Gambar 3 Contoh metode 2-Opt.
Rute yang dihasilkan dapat disebut sebagai
2-optimal atau 2-opt, jika metode 2-opt
digunakan pada setiap rute yang ada sampai tidak dimungkinkan lagi penggunaan metode tersebut. Metode or-opt identik dengan metode 2-opt, tetapi jumlah jalur yang dapat dihapus dan ditambahkan lebih dari 2 jalur. 2.4.3 Metode Relocate
Pada metode relocate, sebuah tempat dalam satu rute dapat dipindahkan urutan kunjungannya. Dengan syarat biaya rute berkurang dan tidak melanggar kendala yang ada maka hal tersebut dapat dilakukan.
Metode relocate ini dapat memindahkan sebuah kunjungan pada rute yang sama ke posisi yang berbeda. Seperti terlihat pada Gambar 4 dimana jalur yang ditempuh semula adalah (a0, a1), (a1, a2), (a2, b0) dan (b0, b1) berubah menjadi (a0, a2), (a2, b0), (b0, a1) dan (a1, b1).
Gambar 4 Contoh metode relocate pada satu rute.
Metode relocate juga dapat memindahkan sebuah kunjungan dari satu rute dan menambahkan kunjungan tersebut ke rute lainnya. Seperti terlihat pada Gambar 5 dimana kunjungan menuju a1 yang semula berada pada rute (a0, a1), (a1, a2) dipindahkan ke rute (b0, b1). Metode tersebut merubah rute
6
yang ditempuh menjadi rute (a0, a2) dan rute (b0, a1), (a1, b1).
Gambar 5 Contoh metode relocate pada dua rute.
2.4.4 Metode Exchange
Pada metode exchange, dua tempat dapat saling dipertukarkan urutan kunjungannya. Metode ini dapat diterapkan baik pada satu rute maupun dua rute kendaraan. Selama perubahan yang terjadi tidak melanggar kendala yang ada dan dapat mengurangi biaya yang dikeluarkan.
Pada satu rute kendaraan, dua kunjungan yang berbeda dapat dipertukarkan urutannya. Dari Gambar 6 terihat bahwa metode
exchange mempertukarkan kunjungan menuju
a1 dan b1. Sehingga rute yang semula (a0, a1), (a1, a2), (a2, b0), (b0, b1) dan (b1, b2) berubah menjadi (a0, b1), (b1, a2), (a2, b0), (b0, a1) dan (a1, b2).
Gambar 6 Contoh metode exchange pada satu rute.
Metode exchange juga dapat di pergunakan pada dua rute kendaraan, seperti terlihat pada Gambar 7 dimana a1 dari rute (a0, a1), (a1, a2) dipertukarkan dengan b1 dari rute yang berbeda, (b0, b1), (b1, b2). Metode
exchange ini merubah rute semula menjadi
rute (a0, b1), (b1, a2) dan rute (b0, a1), (a1, b2).
Gambar 7 Contoh metode exchange pada
dua rute.
Kasus pada Gambar 7 disebut inter-route
exchange. Sementara itu metode exchange
yang diterapkan pada satu rute disebut
intra-route exchange (Caric et al. 2008).
III METODE PENELITIAN
3.1 Waktu dan Lokasi
Penelitian dilakukan di PT Nippon Indosari Corpindo (PT NIC), pada departemen
Supply Chain Management (SCM). Kegiatan
ini memakan waktu dua minggu, dimulai pada Senin, 27 Oktober sampai dengan Jumat, 7 November 2008.
3.2 Teknik Pengumpulan Data
Kombinasi antara data sekunder dan data primer digunakan untuk mendukung kesempurnaan dari penelitian ini. Selain itu pengumpulan data melalui wawancara dengan pihak yang terkait juga dilakukan untuk memahami tentang proses distribusi pada perusahaan tersebut.
3.3 Ruang Lingkup Penelitian
Dalam penelitian ini, pembahasan akan dibatasi pada proses distribusi untuk saluran
retail/outlet (RO) di daerah Bekasi dan
sekitarnya. Saluran RO dipilih karena jumlahnya yang terbesar dibandingkan dengan
saluran lain yang ada. Selain itu, saluran RO merupakan saluran yang memliki rantai distribusi paling pendek dibandingkan dengan saluran lain yang ada.
3.4. Pengolahan Data
Setelah mendapatkan informasi yang dibutuhkan, penelitian dilanjutkan dengan memformulasikan masalah distribusi yang ada sebagai sebuah model VRP. Selanjutnya, digunakan program ILOG Dispatcher versi 2.1 dan ILOG Solver versi 4.4, yang dijalankan dalam Microsoft Visual C++ versi 6.0, sebagai alat untuk mencari solusi dari model VRP yang dihadapi.
Data yang diperoleh dari kegiatan tersebut, antara lain: letak konsumen, permintaan konsumen dan waktu bongkar - muat di tempat konsumen. Sedangkan diasumsikan kecepatan kendaraan konstan, waktu buka - tutup gudang konsumen adalah seragam yakni pada pukul 06.00 sampai dengan pukul 16.00,
dimana pukul 06.00 dimisalkan sebagai 0 dan pukul 16.00 sebagai 540 dan kendaraan mampu memuat hingga 200 crate (wadah roti).
Langkah pertama adalah menentukan letak setiap konsumen dan mengetahui jarak dari setiap konsumen, seperti terlihat pada Lampiran 4. Nilai jarak setiap tempat didapat dengan melakukan estimasi, menggunakan bantuan peta dan benang kemudian akan diambil jarak terdekat setiap tempat.
Langkah berikutnya, matriks jarak yang didapat dikonversi menjadi koordinat
Cartesius dengan menggunakan metode
multidimensional scaling (MDS). Setelah
didapat letak dari setiap titik, data tersebut menjadi input untuk program ILOG bersama dengan data permintaan dan waktu bongkar-muat di setiap tempat. Penggunaan metode
nearest addition heuristic sebagai fase
pertama dan metode 2-opt, or-opt, relocate dan exchange sebagai fase kedua dengan alat bantu ILOG akan digunakan sebagai langkah terakhir dalam penelitian ini.
IV IMPLEMENTASI VEHICLE ROUTING PROBLEM (VRP) PADA KEGIATAN
DISTRIBUSI PRODUK DI PT NIPPON INDOSARI CORPINDO (PT NIC)
Bab ini diawali dengan gambaran umum perusahaan tempat penelitian ini berlangsung, selain itu juga terdapat rumusan masalah yang dihadapi serta formulasinya secara matematis. Hasil dan pembahasan dari penelitian yang dilakukan terdapat pada bagian akhir bab ini.
4.1 Gambaran Umum Perusahaan
PT Nippon Indosari Corpindo (PT NIC) adalah perusahaan yang bergerak dalam bidang pangan, khususnya industri pembuatan roti. Perusahaan ini didirikan pada tanggal 8 Maret 1995 dan mulai beroperasi pada Oktober 1996. PT NIC terletak dalam wilayah perindustrian Jababeka I Real Estate Cikarang, Bekasi, tepatnya berlokasi di Jl. Jababeka XII A Blok W 40-41 Cikarang, Bekasi 17530.
Pada mulanya perusahaan tersebut hanya menjual empat jenis roti antara lain roti tawar dan tiga jenis roti manis, isi coklat, isi keju, dan isi strawberry dengan merek dagang “Sari Roti”. Produk Sari Roti yang dipasarkan hanya untuk memenuhi permintaan konsumen di daerah Cikarang, Bekasi dan sekitarnya.
Dengan berjalannya waktu, PT NIC dapat mengembangkan pemasarannya hingga daerah Jabotabek. Selanjutnya, pada tahun 2003, PT NIC sudah mampu memperluas pemasarannya ke daerah Jawa Barat dan Semarang. Puncaknya, yaitu pembukaan depot di daerah Bandung yang berfungsi sebagai peyalur untuk daerah Jawa Barat. Saat ini PT NIC memproduksi tujuh jenis produk roti, antara lain: roti tawar, roti manis, roti krim, roti sobek, roti burger, roti hot dog, dan remah roti.
PT NIC mendistribusikan produk rotinya melalui 56% jaringan distribusi modern
seperti hypermarket, supermarket dan
minimarket, sementara itu 44% sisanya
didistribusikan melalui jaringan tradisional seperti agen dan stock point.
4.1.1 Divisi Distribusi
PT NIC menggunakan jasa pihak ketiga, dalam hal ini perusahaan ekspedisi, yang disebut sebagai transporter, untuk mendistribusikan produk ke konsumen. Masing–masing transporter menyewakan kendaraan, driver dan helper pada PT NIC untuk mendistribusikan produk ke konsumen. Setiap transporter dikepalai oleh koordinator, karyawan dari perusahaan ekspedisi, yang bertanggung jawab untuk memastikan ketersediaan kendaraan, driver, dan helper pada setiap pengiriman. Koordinator sendiri bertanggung jawab pada distribution officer, yang merupakan karyawan PT NIC.
Pembagian tugas pada level distribution
officer didasarkan pada daerah pengiriman,
yakni daerah pusat-Bogor, daerah selatan, daerah barat, dan daerah timur - utara. Setiap
distribution officer bertanggung jawab untuk
seluruh saluran pada daerah pengiriman yang telah ditentukan. Lebih jelas tentang struktur departemen SCM, dapat dilihat pada Lampiran 1.
4.1.2 Kegiatan Distribusi
Kegiatan distribusi pada PT NIC dibagi dalam lima rute saluran yang memiliki karakteristik yang berbeda satu sama lain. Lima saluran distribusi, yaitu: agen, stock
point (SP), distribution center (DC),
retail/outlet (RO) dan institusi.
Pada saluran agen dan SP, pengiriman produk dilakukan pada sore hari, antara pukul
8
16.00-17.00. Transporter mengirim produk langsung ke agen yang ada, kemudian agen akan membagi produk yang dikirim tadi ke sejumlah tricycle yang ada. Selanjutnya
tricycle tersebut akan dibawa oleh hawker
sesuai rute masing-masing untuk langsung menemui konsumen.
Proses di SP berbeda dengan agen, setelah produk sampai di SP kemudian SP akan membagikan produk ke sejumlah sepeda motor yang ada. Kemudian sepeda motor tersebut akan meletakkan produk di warung -warung yang memesan sebelum sampai ke tangan konsumen. Agen dan SP biasanya terletak di sekitar perumahan padat penduduk.
Proses pada saluran DC berbeda dengan agen dan SP. Pada saluran DC pengiriman dilakukan dua kali sehari yakni pada pukul 05.00 - 06.00 dan 10.00-11.00. Transporter hanya mengirim ke DC yang telah ditunjuk, kemudian produk akan dikirimkan sendiri oleh pihak pengelola DC ke tempat yang telah ditentukan. Saluran DC terdiri dari: Alfamart, Indomart dan Alfamidi.
Saluran untuk Carrefour, Giant, Makro dan beberapa pasar swalayan lainnya masuk dalam saluran RO. Pada saluran ini, produk dikirim langsung dari produsen ke RO yang ada. Berbeda dengan saluran DC, pada saluran RO transporter bahkan mengatur produk pada tempat yang telah tersedia. Pengiriman dilakukan pada pukul 06.00 - 07.00 setiap harinya.
Pada saluran institusi, pemesanan dilakukan oleh perusahaan lain untuk keperluan perusahaan tersebut, misalnya sarapan karyawan. Waktu pengirimannya dilakukan bersamaan dengan waktu pengiriman saluran RO. Bagan pada Lampiran 2 memberikan gambaran tentang alur kegiatan distribusi secara lebih jelas.
4.1.3 Kegiatan pada saluran distribusi RO Penelitian ini akan dibatasi pada saluran RO di daerah Bekasi dan sekitarnya. Pada diagram alir yang terdapat di Lampiran 3, konsumen memberikan pesanan atau purchase
order (PO) kepada bagian penjualan, sales administrator. Selanjutnya sales administrator akan membuat surat jalan atau delivery note (DN) yang berisi jumlah produk
dan daftar konsumen yang memesan produk tersebut. Selain membuat DN, sales
administrator juga membuat faktur penjualan
(FP) yang berisi total harga yang harus dibayar oleh konsumen untuk produk yang dipesan. Kemudian kedua dokumen tersebut yaitu DN dan FP akan diserahkan kepada
pegawai pada bagian pergudangan, disebut sebagai warehouse operator. Kemudian
warehouse operator akan menyiapkan produk
sesuai dengan DN yang telah diberikan oleh
sales administrator.
Setelah memastikan produk sesuai dengan DN, driver dan helper dengan bantuan karyawan bagian pergudangan akan memeriksa kembali banyaknya produk yang akan dikirim dan jumlah crate (wadah roti) yang akan dibawa pada pengiriman kali ini, kegiatan tersebut dinamakan proses loading. Sesampai di tempat tujuan, driver dan helper memindahkan produk menuju gudang konsumen dan kembali memeriksa jumlah barang yang dikirim, disaksikan oleh perwakilan dari pihak konsumen. Setelah melewati tahap pemeriksaan tersebut helper menata produk di tempat yang telah disediakan, sedangkan driver mengurus penandatanganan DN dan FB oleh pihak konsumen. Selain itu driver juga menerima bukti terima barang dari pihak konsumen serta nota penarikan barang (NPB), sekaligus dengan produk yang mengalami pengembalian bila ada.
Setelah driver dan helper mengunjungi seluruh konsumen yang ada pada DN, selanjutnya kembali ke pabrik untuk melakukan proses unloading. Pada proses ini, dilakukan pemeriksaan terhadap kelengkapan dokumen (seperti DN, FP dan NPB), kesesuaian banyaknya crate dan juga kesesuaian produk yang mengalami pengembalian dengan dokumen yang ada. 4.2. Perumusan Masalah
Perusahaan memproduksi sejumlah roti setiap harinya, kemudian produk tersebut akan didistribusikan ke sejumlah konsumen (retail/outlet) yang ada – dalam karya ilmiah ini jumlah konsumennya sebanyak 24. Konsumen dinyatakan sebagai n dengan n= 1 menyatakan depot. Banyaknya permintaan setiap RO telah diketahui sebelumnya, baik jenis maupun jumlahnya. Pendistribusian akan dilakukan dengan menggunakan tiga kendaraan sejenis, sehingga kapasitas untuk setiap kendaraan seragam. Setiap kendaraan akan memulai kegiatan distribusinya dari depot. Selain melakukan pengiriman produk,
driver dan helper juga melakukan bongkar
-muat dan mengatur produk pada tempat yang telah disediakan, disebut delay. Biaya tetap kendaraan akan muncul bila kendaraan tersebut dipakai dalam kegiatan distribusi. Masalah yang dihadapi adalah meminimumkan banyaknya kendaraan yang
digunakan dengan mempertimbangkan kendala kapasitas pada kendaraan dan untuk memenuhi setiap permintaan RO.
Beberapa asumsi yang digunakan, antara lain: semua pesanan konsumen dapat dipenuhi oleh pabrik, kecepatan kendaraan konstan sehingga tidak ada satu pun yang dapat mempercepat atau memperlambat kecepatan kendaraan. Kendaraan yang digunakan seragam, sehingga setiap kendaraan mempunyai kapasitas yang sama. Biaya bila kendaraan digunakan (fixed cost) dan biaya setiap kilometer telah diketahui.
4.3 Formulasi Masalah Variabel Keputusan
,
1, jika konsumen dikunjungi setelah konsumen oleh kendaraan 0, jika selainnya k i j j i k
x
1, jika kendaraan dioperasikan 0, jika selainnya k k
z
Konstanta iq
banyaknya permintaan konsumen iC kapasitas maksimum kendaraan
,
k i j
t
waktu yang dibutuhkan dari konsumen i ke konsumen j dengan kendaraan k,
i j
d
jarak dari konsumen i ke konsumen j,
i j
c
biaya perjalanan dari konsumen i kekonsumen j
vk kecepatan rata-rata kendaraan k
k
w
biaya tetap (fixed cost) bila kendaraan k digunakani
a
waktu buka gudang pada konsumen ii
b
waktu tutup gudang pada konsumen ji
t
waktu kedatangan pada konsumen iL himpunan semua konsumen termasuk depot i
f Lama waktu servis di konsumen i Fungsi Objektif 3 1 25 25 , , 1 1 k k k k i j i j i j minZ w z
x c
(4.1) Kendala-kendala Konsumen 25 3 , 1 1 1; 2,3,..., 25 k i j i k x j
( 4 . 2 ) 25 3 , 1 1 1; 2,3,..., 25 k i j j k x i
( 4 . 3 ) Depot 25 1, 21;
1, 2,3
k j jx
k
( 4 . 4 ) 25 ,1 21;
1, 2 3
,
k i ix
k
( 4 . 5 ) Kekontinuan rute 25 25 , , 2 2 1, 2,3 ; 1, 2,..., 25 k k i u u j i i k x x u
( 4 . 6 ) Kapasitas 25 25 , 1 1 ; 1, 2,3
k i i j i j q x C k
( 4 . 7 ) , , 1, 2,..., 25 ; 1, 2,3 k i j k i j x z k ( 4 . 8 ) , , , 1, 2,..., 25 ; 1, 2,3 k k i j i j i j v t d k ( 4 . 9 ) , ,; , 1, 2,..., 25 i j j i d d i j ( 4 . 1 0 ) Eliminasi sub-tour , 25 25 , 1 1 | ; : 2 1, 2,3 | 1 ; k i j i F j F k i j i j x F L x k F F
( 4 . 1 1 ) Time windows ; 1, 2,..., 25 i i i a t b i ( 4 . 1 2 ) , , , 1,2,...,25 (1 ) ; 1,2,3 k k i i i j i j j i j t t M x t k f ( 4 . 1 3 ) {0,1}; 1, 2,3
k z k ( 4 . 1 4 ) , 1, 2,3 {0,1}; , 1,2,...,25 k i j k x i j ( 4 . 1 5 )Fungsi objektif (4.1) pada model di atas adalah meminimumkan banyaknya kendaraan yang digunakan dan meminimumkan jarak tempuh kendaraan.
Kendala (4.2) dan (4.3) memberikan kepastian bahwa setiap konsumen yang ada akan dilayani oleh tepat satu kendaraan. Kendala (4.4) dan (4.5) akan memastikan tersedianya kendaraan untuk melayani rute yang ada dan untuk memastikan kendaraan berangkat dan kembali dari depot. Pada kendala (4.6) akan dipastikan kontinuitas rute kendaraan artinya memastikan bahwa kendaraan yang masuk ke suatu kota harus
10
meninggalkan kota tersebut, sedangkan kendala (4.7) menggambarkan bahwa jumlah permintaan untuk satu rute tidak melebihi kapasitas kendaraan yang beroperasi. Selanjutnya, pada kendala (4.8) dipastikan bahwa tidak akan ada konsumen yang dilayani oleh kendaraan yang tidak aktif. Kendala (4.9) memperlihatkan hubungan antara jarak, yaitu kecepatan dan waktu tempuh kendaraan, jarak dan waktu tempuh berbanding lurus. Kendala (4.10) menunjukkan bahwa jarak dari i ke j sama dengan jarak dari j ke i, sedangkan kendala (4.11) memastikan tidak ada sub-tour pada model yang ada. Berikutnya, kendala (4.12) dan (4.13) berkaitan dengan waktu pelayanan. Pada kendala (4.12) dipastikan waktu kedatangan kendaraan di tempat konsumen berada di antara waktu buka dan tutup gudang. Kendala (4.13) memastikan kendaraan akan berada di j pada saat kendaraan berangkat dari i ditambah dengan waktu servis pada i dan waktu tempuh dari i ke j, sedangkan M (big-m) merupakan bilangan yang relatif besar jika
(1
k,)
i j
M
x
bernilai besar maka rute konsumen i ke konsumen j tidak akan ditempuh dan sebaliknya. Kendala (4.14) dan (4.15) menunjukkan bahwa zk dan
x
i jk, merupakanvariabel keputusan yang bernilai 0 dan 1. 4.4 Hasil dan Pembahasan
Pada subbab ini akan diperlihatkan hasil dari masalah yang dihadapi, kemudian hasil tersebut akan dibandingkan dengan keadaan yang terjadi di lapangan saat ini.
Masalah VRP yang dihadapi dapat dicari solusinya dengan menggunakan exact method dan metode heuristik. Penggunaan exact
method untuk masalah VRP yang dihadapi
tidak cukup baik karena dibutuhkan waktu yang relatif lama untuk mendapatkan solusi
optimalnya. Oleh karena itu, dikembangkan metode heuristik sebagai salah satu alternatif untuk menyelesaikan masalah VRP yang dihadapi secara lebih cepat. Metode heuristik yang digunakan dalam penelitian ini dibagi menjadi dua fase. Fase pertama adalah route
construction yang menggunakan nearest
addition heuristic untuk mencari solusi fisibel
awal dari masalah VRP yang dihadapi. Fase berikutnya adalah route improvement dimana solusi awal yang telah ada diperbaiki menggunakan beberapa metode heuristik lainnya, yakni metode 2-Opt, or-Opt, relocate,
exchange, dan cross.
Input dari masalah yang akan diselesaikan menggunakan kedua fase heuristik terdapat pada Lampiran 8. Lampiran tersebut merupakan input bagi program yang akan digunakan. Isi dari input tersebut berupa banyaknya konsumen yang akan dikunjungi, banyaknya kendaraan yang tersedia dan kapasitas maksimum dari kendaraan yang digunakan, selain itu terdapat juga kode, jumlah permintaan, waktu buka-tutup gudang dan letak setiap konsumen. Dibutuhkan waktu 0,32 detik untuk memberikan solusi dari masalah VRP dengan menggunakan software ILOG Dispatcher versi 2.1 dan ILOG Solver versi 4.4 yang dijalankan menggunakan
Microsoft Visual C++ versi 6.0 yang
dioperasikan pada komputer dengan prosessor
Intel Celeron 2.53 GHz (Giga Hertz) dan
memori sebesar 512 MB (Megabyte). Output dari masalah VRP yang diselesaikan menggunakan software tersebut dapat dilihat pada Lampiran 10.
Tabel 1, Tabel 2 dan Tabel 3 merupakan rangkaian rute yang dihasilkan dengan menggunakan metode heuristik dua fase yang telah dijelaskan sebelumnya dan masing-masing tabel merepresentasikan satu kendaraan.
Tabel 1 Hasil simulasi untuk kendaraan pertama
Kode Nama tempuhJarak
(kilometer)
Permintaan (crate)
0 PT NIC 0 0
1 HARI-HARI BEKASI TRADE CENTRE 9,1988 17
4 PT CONTIMAS UTAMA IND. (BLUE MALL) 11,1864 17
Tabel 2 Hasil simulasi untuk kendaraan kedua
Kode Nama tempuhJarak
(kilometer)
Permintaan (crate)
0 PT NIC 0 0
3 LION SUPERINDO BOROBUDUR BEKAS 11,0671 7
5 CARREFOUR BEKASI SQUARE 13,6437 8
2 MITRA WISMA ASRI 17,1940 3
11 CV NAGA SWALAYAN (Pondok Ungu) 21,5975 37
12 GIANT UJUNG MENTENG 25,2667 16
13 CARREFOUR CAKUNG 26,7864 12
15 GIANT PONDOK KOPI SPM 34,4373 15
22 GIANT KALIMALANG 38,7833 18
23 SUPER INDO PONDOK BAMBU 39,5013 25
6 HERO KEMANG PRATAMA 49,7469 12
0 PT NIC 61,9235 0
Tabel 3 Hasil simulasi untuk kendaraan ketiga
Kode Nama tempuhJarak
(kilometer)
Permintaan (crate)
0 PT NIC 0 0
9 MAKRO BEKASI 2 13,2558 2
8 LION SUPERINDO METROPOLITAN MALL 13,6606 17
7 GIANT HYPERMARKET BEKASI 13,9787 19
10 HARI-HARI BEKASI CYBER PARK 15,8856 19
14 LION SUPERINDO KALIMALANG BEKASI 17,3783 22
16 GIANT JATI BENING 21,7282 9
17 STAR MART PERSADA GOLF 23,8137 4
24 YOGYA PONDOK BAMBU TOSERBA 24,8556 18
21 TIP-TOP PONDOK BAMBU 25,2290 37
20 CV NAGA SWALAYAN (Jatiwaringin) 25,5493 18
19 GIANT PONDOK GEDE 28,7049 18
18 TIP-TOP PONDOK GEDE 32,3982 11
0 PT NIC 52,2495 0
Dari ketiga tabel di atas, terlihat bahwa dibutuhkan tiga kendaraan untuk melayani seluruh konsumen. Pada kendaraan pertama rute yang dilalui meliputi depot, konsumen ke-1, konsumen ke-4 dan kembali ke depot, dengan total jarak yang ditempuh sepanjang 22,2157 kilometer dan banyaknya produk yang dibawa sebanyak 25 crate.
Sedangkan pada kendaraan kedua, rute yang ditempuh meliputi depot, konsumen ke-3, konsumen ke-5, konsumen ke-2, konsumen ke-11, konsumen ke-12, konsumen ke-13, konsumen ke-15, konsumen ke-22, konsumen ke-23 dan konsumen ke-6 sebelum kembali ke depot. Kendaraan kedua menempuh 61,9235 kilometer dan memuat sebanyak 153 crate pada pengirimannya.
Lain halnya dengan kendaraan ketiga, kendaraan ini menempuh perjalanan sepanjang 52,2495 kilometer untuk menyelesaikan satu rute yang dijadwalkan. Rute tersebut meliputi depot, konsumen ke-9, konsumen ke-8, konsumen ke-7, konsumen ke-10, konsumen ke-14, konsumen ke-16, konsumen ke-17, konsumen ke-24, konsumen ke-21, konsumen ke-20, konsumen ke-19 dan konsumen ke-18 sebelum kembali ke depot, dengan membawa 194 crate dari maksimum 200 crate yang dapat dibawa dalam satu kali pengiriman. Total perjalanan yang ditempuh oleh ketiga kendaraan tersebut adalah 136,388 kilometer.
12 -15 -10 -5 0 5 10 -15 -10 -5 0 5 10 0 1 2 3 4 5 6 7 89 10 11 12 13 14 15 16 17 18 19 20 21 2223 24 Miles M ile s
The Simulation Route
Gambar 8 Rute hasil simulasi. Hasil simulasi di atas kemudian
dibandingkan dengan data lapangan yang diamati penulis.
Tabel 4, Tabel 5 dan Tabel 6 merupakan rute kendaraan saat ini yang melayani 24 konsumen.
Tabel 4 Rute saat ini untuk kendaraan pertama
Kode Nama Jarak tempuh (kilometer) Permintaan (crate) 0 PT NIC 0 0
16 GIANT JATI BENING 19,3245 9
20 CV NAGA SWALAYAN (Jatiwaringin) 22,2676 18
23 SUPER INDO PONDOK BAMBU 24,7295 25
22 GIANT KALIMALANG 25,4476 18
21 TIP-TOP PONDOK BAMBU 28,3478 37
24 YOGYA PONDOK BAMBU TOSERBA 28,7212 18
19 GIANT PONDOK GEDE 32,3667 18
11 CV. NAGA SWALAYAN (Pondok Ungu) 49,0934 37
18 TIP-TOP PONDOK GEDE 63,1134 11
0 PT NIC 82,9648 0 Kendaraan pertama Kendaraan kedua Kendaraan ketiga ki lo m et er kilometer
Tabel 5 Rute saat ini untuk kendaraan kedua
Kode Nama tempuhJarak
(kilometer)
Permintaan (crate)
0 PT NIC 0 0
15 GIANT PONDOK KOPI SPM 21,0275 15
13 CARREFOUR CAKUNG 28,6783 12
12 GIANT UJUNG MENTENG 30,1981 16
2 MITRA WISMA ASRI 38,2426 3
3 LION SUPERINDO BOROBUDUR BEKAS 42,6166 7
14 LION SUPERINDO KALIMALANG BEKASI 49,1501 22
10 HARI-HARI BEKASI CYBER PARK 50,6427 19
0 PT NIC 65,0334 0
Tabel 6 Rute saat ini untuk kendaraan kedua
Kode Nama tempuhJarak
(kilometer)
Permintaan (crate)
0 PT NIC 0 0
4 PT CONTIMAS UTAMA IND. (BLUE MALL) 11,0293 17
1 HARI-HARI BEKASI TRADE CENTRE 13,0169 17
7 GIANT HYPERMARKET BEKASI 17,5612 19
6 HERO KEMANG PRATAMA 19,3132 12
5 CARREFOUR BEKASI SQUARE 22,6542 8
8 LION SUPERINDO METROPOLITAN MALL 24,9801 17
9 MAKRO BEKASI 2 25,3849 2
17 STAR MART PERSADA GOLF 34,5364 4
0 PT NIC 55,9374 0
Data di atas memperlihatkan bahwa dibutuhkan sebanyak tiga kendaraan untuk melayani seluruh konsumen. Kendaraan pertama akan menempuh jarak sepanjang 82,9648 kilometer dan membawa 191 crate dari 200 crate yang dapat dibawa. Kendaraan pertama melayani rute depot, konsumen ke-16, konsumen ke-20, konsumen ke-23, konsumen ke-22, konsumen ke-21, konsumen ke-24, konsumen ke-19, konsumen ke-11, konsumen ke-18 dan kembali ke depot.
Rute untuk kendaraan kedua meliputi depot, konsumen ke-15, konsumen ke-13, konsumen ke-12, konsumen ke-2, konsumen
ke-3, konsumen ke-14 dan konsumen ke-10 sebelum kembali ke depot. Dengan membawa 94 crate dan menempuh jarak sepanjang 65,0334 kilometer untuk rute tersebut.
Rute berikutnya, untuk kendaraan ketiga, dijadwalkan akan membawa sebanyak 96
crate dan menempuh perjalanan sepanjang
55,9374 kilometer. Rute tersebut meliputi depot, konsumen ke-4, konsumen ke-1, konsumen ke-7, konsumen ke-6, konsumen ke-5, konsumen ke-8, konsumen ke-9 dan konsumen ke-17 sebelum kembali ke depot. Total jarak tempuh tiga kendaraan adalah 203,935 kilometer.
14 -15 -10 -5 0 5 10 -15 -10 -5 0 5 10 0 1 2 3 4 5 6 7 89 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Miles M ile s Current Route
Gambar 9 Rute saat ini. Tabel 7 memberikan perbandingan antara
hasil simulasi (pada Tabel 1, Tabel 2 dan Tabel 3) dengan kondisi rute yang saat ini (pada Tabel 4, Tabel 5 dan Tabel 6).
Perbandingan tersebut meliputi muatan yang dibawa oleh masing-masing kendaraan dan total jarak yang ditempuh oleh setiap kendaraan.
Tabel 7 Perbandingan muatan kendaraan hasil simulasi dan kendaraan yang beroperasi saat ini Muatan (crate) Kapasitas max (crate) Jarak Tempuh (kilometer) Keadaan saat ini
Kendaraan ke-1 191 (95,5%) 200 82,9648 Kendaraan ke-2 94 (47,0%) 200 65,0334 Kendaraan ke-3 96 (48,0%) 200 55,9374 Hasil Simulasi Kendaraan ke-1 34 (17,0%) 200 22,2157 Kendaraan ke-2 153 (76,5%) 200 61,9235 Kendaraan ke-3 194 (97,0%) 200 52,2495
Dari Tabel 7 dapat disimpulkan bahwa masing-masing rute pada hasil simulasi memiliki jarak tempuh yang lebih pendek dibandingkan dengan rute yang ditempuh oleh kendaraan pada saat ini. Pada hasil simulasi
total jarak yang ditempuh ketiga kendaraan adalah 136,388 kilometer, sedangkan total jarak pada ketiga kendaraan saat ini adalah 203,935 kilometer. Dengan kata lain, total jarak yang ditempuh pada hasil simulasi
Kendaraan pertama Kendaraan kedua Kendaraan ketiga kilometer ki lo m et er
mencapai 66,88% dari total jarak yang ditempuh kendaraan saat ini. Sementara itu banyaknya produk yang dibawa oleh kendaraan kedua dan ketiga pada hasil simulasi lebih besar dibandingkan dengan banyaknya barang yang dibawa oleh
kendaraan kedua dan ketiga saat ini. Persentase kedua kendaraan tersebut mencapai 76,5% dan 97%, sedangkan pada kendaraan yang beroperasi saat ini persentase muatan pada kendaraan kedua dan ketiga sebesar 47% dan 48%.
V SIMPULAN DAN SARAN
5.1 Kesimpulan
1. Masalah penentuan rute untuk distribusi barang (VRP) dapat diformulasikan sebagai masalah
Integer Linear Programming.
2. Masalah penentuan rute untuk distribusi barang (VRP) dapat diselesaikan dengan menggunakan metode heuristik, pada penelitian ini menggunakan metode nearest
addition heuristic.
3. Hasil simulasi menggunakan metode heuristik memperoleh hasil yang lebih baik daripada kondisi yang ada sekarang, karena total jarak tempuh menjadi lebih pendek.
5.2 Saran
Beberapa hal yang dapat dilakukan agar penelitian ini lebih baik terkait dengan implementasinya di lapangan, antara lain:
1. Jarak antar tempat dapat dibuat serealistis mungkin, karena jarak antar tempat yang terdapat pada matriks jarak merupakan hasil estimasi.
2. Waktu bongkar-muat di konsumen dapat diestimasi dengan cara yang lebih baik. Misalnya dengan melakukan beberapa kali pengamatan terhadap waktu bongkar-muat di setiap konsumen, kemudian gunakan rata-rata waktu tersebut sebagai input.
DAFTAR PUSTAKA
Caric T, Galic A, Fosin J, Gold H, Reinholz. 2008. A Modelling and Optimization Framework for Real-World Vehicle Routing Problem. Vehicle Routing Problem: 142, I-Tech, Vienna,
Austria.
Cordeau J-F, Gendreau M, Laporte G, Potvin JY, Semet F. 2002. A Guide to Vehicle Routing Heuristics. Journal of
Operation Research Society 53: 512-522.
Hoffman K, Padberg M. 2009. Traveling Salesman Problem. http://iris.gmu.edu/ ~khoffman/papers/trav_salesman.html. [8 Feb 2009].
Kritikos MN, Ioannou G. 2004. A synthesis of assignment and heuristic solutions for vehicle routing with time windows.
Journal of the Operational Research Society 55: 2–11.
Kang HK, Byung KL, Yoon HL, Young HL. 2007. A Heuristic for the vehicle routing problem with due times.
Computers and Industrial Engineering
54: 421-431.
Laporte G, Boctor F, Renaud J, Prive J. 2006. Solving a vehicle-routing problem arising in soft-drink distribution. Journal
of Operation Research Society 57:
1045-1052.
Larsen J. 1999. Vehicle Routing with Time Windows- Finding optimal solution efficiently.
Machado P, Tavares J, Pereira BF, Costa E. 2002. Vehicle Routing Problem:
Doing it The Evolution Way.
Nilsson C. 2003. Heuristics for the Traveling Salesman Problem.
Sutapa NI, Widyadana AGI, Christine. 2003. Studi tentang Traveling Salesman Problem dan Vehicle Routing Problem dengan Time windows. Jurusan Teknik Industri, Universitas Petra, Surabaya. ILOG. 1999. User’s Manual ILOG
Dispatcher 2.1. France: ILOG
Winston WL. 2004. Operation Research Applications and Algorithms. Ed ke-4. Belmont, California: Brooks/Cole-Thompson Learning.
16
Lampiran 1
18
Lampiran 2
Saluran distribusi yang ada
P
R
O
D
U
S
E
N
K
O
N
S
U
M
E
N
hawker
warung
Motor
Stock Point (SP)
Retail/outlet (RO)
Distribution Center
(DC)
Institusi
Agen
Lampiran 3
Diagram alir pada saluran distribusi retail/outlet
- F P (stempel, ttd) - D N (stempel, ttd) - Check product
- Display
- DN
- Sisa stock/ titipan (bila ada) - Nota penarikan barang - Product/ roti BS & crate
- DN
- Faktur penjualan (FP) - PO
- Product/ roti & crate
Purcahased Order (PO)
- Delivery note (DN) - Faktur penjualan - PO Konsumen Sales admin Warehouse Operator loading unloading Divisi Distribusi
Driver & helper
- Bukti Terima Barang - Sisa Stock/ titipan (bila ada) - Nota Penarikan Barang - Product/ Roti BS & Crate
20
Lampiran 4 Beberapa gambar:
Penghitungan roti
22
Crate kosong saat unloading
Lampiran 5 Matriks Jarak 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 0 0.00 11.52 18.24 14.16 12.48 13.08 18.00 13.92 13.44 15.12 15.12 20.76 22.68 24.24 16.32 22.08 19.01 20.76 23.33 23.40 21.72 22.80 24.19 23.64 22.32 1 0.00 6.72 2.64 1.56 2.16 6.00 4.32 4.32 4.56 5.88 11.40 13.32 14.88 7.08 12.84 12.48 13.92 13.32 17.47 14.35 14.47 11.88 12.43 13.99 2 0.00 4.32 8.28 8.88 10.44 6.60 6.60 7.56 7.92 7.56 9.48 11.04 9.12 11.64 13.56 16.44 17.28 17.35 16.39 16.51 13.92 14.47 16.03 3 0.00 1.80 1.56 4.92 4.56 4.32 3.36 6.00 8.88 10.80 12.36 7.20 9.96 15.12 15.84 9.72 17.59 14.47 12.48 12.00 12.55 14.11 4 0.00 0.60 4.44 2.76 2.76 3.00 4.32 9.84 11.76 13.08 5.40 10.08 10.92 12.00 11.76 15.91 12.79 10.80 10.32 10.87 12.43 5 0.00 3.84 2.16 2.16 2.40 3.72 9.24 11.16 12.48 4.92 9.48 10.32 11.64 11.16 15.31 12.19 10.20 9.72 10.27 11.83 6 0.00 4.08 3.84 2.88 5.52 10.92 12.84 14.40 6.72 11.40 10.80 14.64 8.88 12.36 13.99 14.11 11.52 12.07 13.63 7 0.00 0.24 1.20 1.68 6.84 8.76 10.32 2.88 7.32 6.96 9.60 9.96 13.27 10.15 10.27 7.68 8.23 9.79 8 0.00 0.96 1.68 7.08 9.00 10.56 2.88 7.56 6.96 9.60 9.72 13.27 10.15 10.27 7.68 8.23 9.79 9 0.00 2.64 8.04 9.96 11.52 3.84 8.52 7.92 10.56 8.76 12.24 11.11 11.23 8.64 9.19 10.75 10 0.00 8.52 10.44 12.00 1.20 6.96 5.28 8.40 9.60 11.59 8.47 8.59 6.00 6.55 8.11 11 0.00 1.92 3.48 7.32 8.16 10.08 13.56 14.40 17.83 14.71 14.95 12.36 12.91 14.47 12 0.00 1.56 9.24 5.16 11.04 12.00 20.78 16.03 12.91 13.03 10.44 10.99 12.55 13 0.00 10.80 6.48 12.60 11.52 21.67 17.11 13.99 14.04 11.52 12.07 13.56 14 0.00 5.76 4.08 6.72 8.40 10.39 7.27 7.39 4.80 5.35 6.91 15 0.00 5.88 6.36 10.20 11.71 7.75 9.43 5.28 5.83 7.39 16 0.00 3.84 4.32 5.83 6.55 6.67 4.08 4.63 6.19 17 0.00 8.16 6.36 5.28 6.36 1.92 2.47 5.88 18 0.00 3.48 6.60 7.68 9.07 8.52 7.20 19 0.00 3.12 4.20 5.59 5.04 3.72 20 0.00 1.08 2.47 1.92 0.60 21 0.00 2.59 2.04 0.48 22 0.00 0.55 2.11 23 0.00 1.56 24 0.00
24
Lampiran 6 Data
No Nama Tempat Permintaan (crate) bongkar-muat Waktu (menit) 0 PT. NIC
1 HARI-HARI BEKASI TRADE CENTRE 17 38
2 MITRA WISMA ASRI 3 7
3 LION SUPERINDO BOROBUDUR BEKAS 7 34
4 PT.CONTIMAS UTAMA IND. (BLUE MALL) 17 69
5 CARREFOUR BEKASI SQUARE 8 91
6 HERO KEMANG PRATAMA 12 37
7 GIANT HYPERMARKET BEKASI 19 28
8 LION SUPERINDO METROPOLITAN MALL 17 41
9 MAKRO BEKASI 2 2 32
10 HARI-HARI BEKASI CYBER PARK 19 15
11 CV. NAGA SWALAYAN (Pondok Ungu) 37 69
12 GIANT UJUNG MENTENG 16 42
13 CARREFOUR CAKUNG 12 54
14 LION SUPERINDO KALIMALANG BEKASI 22 21
15 GIANT PONDOK KOPI SPM 15 18
16 GIANT JATI BENING 9 47
17 STAR MART PERSADA GOLF 4 8
18 TIP-TOP PONDOK GEDE 11 60
19 GIANT PONDOK GEDE 18 35
20 CV. NAGA SWALAYAN (Jatiwaringin) 18 20
21 TIP-TOP PONDOK BAMBU 37 81
22 GIANT KALIMALANG 18 58
23 SUPER INDO PONDOK BAMBU 25 66
Lampiran 7 Input
Berupa file .dat yang berisi sebagai berikut: 24 5 200 1 0 540 -13.6310 8.6950 1 17 0 540 38 -7.0298 2.2886 2 3 0 540 7 -6.6594 -4.2273 3 7 0 540 34 -6.6025 0.1463 4 17 0 540 69 -5.1493 1.6448 5 8 0 540 91 -4.5309 -1.3859 6 12 0 540 37 -3.5825 1.8177 7 19 0 540 28 -3.0148 0.1602 8 17 0 540 41 -3.1175 0.4612 9 2 0 540 32 -2.9581 0.8333 10 19 0 540 15 -1.3809 1.1434 11 37 0 540 69 -3.2144 -6.9702 12 16 0 540 42 -0.7663 -9.7032 13 12 0 540 54 -0.1513 -11.0930 14 22 0 540 21 -0.0748 0.4208 15 15 0 540 18 3.0291 -4.1345 16 9 0 540 47 4.1974 1.2394 17 4 0 540 8 6.1911 0.6274 18 11 0 540 60 5.6338 3.9049 19 18 0 540 35 9.3217 4.1036 20 18 0 540 20 7.0661 1.8967 21 37 0 540 81 6.8457 1.6644 22 18 0 540 58 6.2007 -1.1632 23 25 0 540 66 6.4034 -0.4744 24 18 0 540 73 6.9748 1.314
26
Lampiran 8 Proses
Source code yang digunakan sebagai berikut:
#include <ildispat/dispatch.h> #include <ildispat/rplan.h> #if defined(ILUSESTL) #include <iostream> #include <fstream> #include <string> #else #include <iostream.h> #include <fstream.h> #include <string.h> #endif ILCSTLBEGIN
void Info(IlcManager m, IlcRoutingPlan plan, char * problem) { //////////////////////////////////////////////////////// // informasi aja //////////////////////////////////////////////////////// m.printInformation(); plan.printInformation(); m.out() << "===============" << endl
<< "Problem name : " << problem << endl // nama permasalahan
<< "Cost : " <<plan.getTotalCost()+1000*plan.getNbOfVehiclesUsed()<< endl //biaya total
<< "Number of vehicles used : "<< plan.getNbOfVehiclesUsed() << endl// kendaraan yang digunakan
<< "Solution : " << endl //gambaran solusi yang dihasilkan << plan << endl;
}
int main(int argc, char* argv[]) { IlcManager m(IlcEdit); #if defined(ILCLOGFILE) m.openLogFile("vrp.log"); #endif
IlcRoutingPlan plan(m); // definisikan permasalahan yang dihadapi IlcDimension2 time(plan, IlcEuclidean, "Time");
IlcDimension1 weight(plan, "Weight"); // definisikan kapasitas yang dibawa kendaraan IlcDimension2 length(plan, IlcEuclidean, "Length");
////////////////////////////////////////////////////////////////// // membaca data dari file vrp20_1_1_1.dat ////////////////////////////////////////////////////////////////// ifstream infile;
char * problem;
if (argc >=2) problem = argv[1];
else problem = (char *) "E:/ta/prognya/code/coba/vrp/cost on vehicle/vrp20_1_1_1.dat"; infile.open(problem);
if (!infile) {
m.out() << "File not found or not specified: " << problem << endl; #if defined(ILCLOGFILE) m.closeLogFile(); #endif m.end(); return 0; }
IlcInt nbOfVisits, nbOfTrucks; infile >> nbOfVisits >> nbOfTrucks;