acuan
TRANSCRIPT
PENGGUNAAN METODE HEURISTIK DALAM PERMASALAHAN VEHICLE ROUTING PROBLEM DAN IMPLEMENTASINYA DI
PT NIPPON INDOSARI CORPINDO
AJI RADITYA
DEPARTEMEN MATEMATIKAFAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGORBOGOR
2009
ABSTRACT
AJI RADITYA. The application of the heuristic method at the vehicle routing problem and its implementation at the PT Nippon Indosari Corpindo. Supervised by AMRIL AMAN and 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.
Key word: Vehicle routing problem, heuristic method, nearest addition heuristic method.
RINGKASAN
AJI RADITYA. Penggunaan Metode Heuristik Dalam Permasalahan Vehicle Routing Problemdan 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.
Kata kunci: Vehicle routing problem, metode heuristik, metode nearest addition heuristic.
PENGGUNAAN METODE HEURISTIK DALAM PERMASALAHAN VEHICLE ROUTING PROBLEM DAN IMPLEMENTASINYA DI
PT NIPPON INDOSARI CORPINDO
Skripsisebagai salah satu syarat untuk memperoleh gelar
Sarjana Sains padaDepartemen Matematika
Oleh:
AJI RADITYAG54104062
DEPARTEMEN MATEMATIKAFAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGORBOGOR
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, DEANIP 19610328 198601 1 002
Tanggal Lulus:
PRAKATA
Alhamdulillah, penulis panjatkan puji dan syukur kehadirat Allah SWT atas rahmat dan karunia-Nya sehingga penulisan skripsi dengan judul “Penggunaan Metode Heuristik DalamPermasalahan 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 datadi 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
dukungannya7. 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 [email protected].
“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 ISIHalaman
DAFTAR TABEL………………………………………………………………….. viii
DAFTAR GAMBAR………………………………………………………………. viii
DAFTAR LAMPIRAN…………………………………………………………….. viii
PENDAHULUAN
Latar Belakang…………………………………………………………... 1Manfaat………………………………………………………………….. 1
LANDASAN TEORI
Traveling Salesman Problem (TSP)…………………………………….. 1Traveling Salesman Problem with Time Windows (TSPTW)……… 2m-Traveling Salesman Problem (m-TSP)………………………….. 3
Vehicle Routing Problem (VRP)………………………………………… 3Vehicle Routing Problem with Time Windows (VRPTW)………………. 4Metode Heuristik………………………………………………………… 4
Nearest Addition Heuristic…………………………………………. 52-opt………………………………………………………………… 5Relocate……………………………………………………………… 5Exchange…………………………………………………………… 6
METODE PENELITIAN
Waktu dan Lokasi……………………………………………………….. 6Teknik Pengumpulan Data………………………………………………. 6Ruang Lingkup Penelitian……………………………………………….. 6Pengolahan Data………………………………………………………… 6
IMPLEMENTASI VEHICLE ROUTING PROBLEM PADA KEGIATAN DISTRIBUSI PRODUK DI PT NIPPON INDOSARI CORPINDO
Gambaran Umum Perusahaan…………………………………………… 7Divisi Distribusi…………………………………………………….. 7Kegiatan Distribusi…………………………………………………. 7Kegiatan pada Saluran Distribusi RO………………………………. 8
Perumusan Masalah……………………………………………………... 8Formulasi Masalah………………………………………………………. 9Hasil dan Pembahasan 10
SIMPULAN DAN SARAN
Simpulan………………………………………………………………… 15Saran…………………………………………………………………….. 15
DAFTAR PUSTAKA……………………………………………………………… 15
LAMPIRAN………………………………………………………………………... 16
DAFTAR TABEL
Halaman1 Hasil simulasi untuk kendaraan pertama……………………………… 102 Hasil simulasi untuk kendaraan kedua……………………………….. 113 Hasil simulasi untuk kendaraan ketiga……………………………….. 124 Rute saat ini untuk kendaraan pertama.................................................. 125 Rute saat ini untuk kendaraan kedua...................................................... 136 Rute saat ini untuk kendaraan ketiga..................................................... 137 Perbandingan hasil simulasi dan data yang didapat…………………... 14
DAFTAR GAMBAR
Halaman1 Contoh rute dalam traveling salesman problem ……………………… 22 Contoh rute dalam vehicle routing problem………………………….. 33 Contoh metode 2-opt…………………………………………………. 54 Contoh metode relocate pada satu rute………………………………. 55 Contoh metode relocate pada dua rute……………………………….. 66 Contoh metode exchange pada satu rute……………………………… 67 Contoh metode exchange pada dua rute……………………………… 68 Rute hasil simulasi……………………………………………………. 129 Rute saat ini…………………………………………………………… 14
DAFTAR LAMPIRAN
Halaman1 Struktur organisasi pada departemen supply chain management……... 172 Saluran distribusi yang ada……………………………………………. 183 Diagram alir pada saluran distribusi retail/outlet……………………... 194 Beberapa gambar……………………………………………………… 205 Matriks jarak …………………………………………………………. 236 Data…………………………………………………………………… 247 Input…………………………………………………………………… 258 Proses………………………………………………………………….. 269 Output…………………………………………………………………. 2910 Contoh metode multidimensional scaling…………………………….. 30
1
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 daripenelitian ini bagi perusahaan.
1.1 Latar BelakangMasalah transportasi dan distribusi produk
dalam kehidupan sehari-hari dapat dimodelkan sebagai Vehicle Routing Problem (VRP). Model VRP akan menghasilkansejumlah rute kendaraan untuk mengunjungi setiap konsumen. Setiap rute berawal dan berakhir pada tempat yang sama yang disebutdepot. 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 jaraktempuh 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) yaitumodel VRP dengan menambahkan kendala waktu.
VRPTW terbagi menjadi dua kasus yaitukasus 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 modelVRPTW dengan kasus soft time windowsdipilih karena sesuai dengan masalah yang terjadi di lapangan.
VRP sulit untuk dipecahkan karena merupakan gabungan antara masalah kapasitas (packing problem) dan masalahpenentuan 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, salahsatu 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 VisualC++ versi 6.0.
1.2 ManfaatPenelitian 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 adalahmeminimumkan banyaknya kendaraan dan memaksimumkan banyaknya barang yang dibawa, sedangkan manfaat bagi low level management adalah dapat menentukan ruteterpendek 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 ProblemDalam TSP, seorang salesman akan
berangkat dari satu kota kemudianmengunjungi seluruh kota yang ada dan pada akhir perjalanannya salesman tersebut akankembali ke kota awal atau depot. Tujuan dari TSP adalah menentukan rute yang melaluiseluruh kota dan meminimumkan jarak.
2
Model TSP dapat dituliskan sebagai berikut:
Variabel keputusan
1, jika kota ke - dikunjungi setelah kota ke -=,
0, selainnya
jixi j
Fungsi objektif:
m m
j=1 i=1
min Z i, ji, j= c x (2.1)
Kendala-kendala:
1
, 1; 1,2,...,m
j
i jx i m
(2.2)
,1
1; 1, 2,...,m
i ji
x j m
(2.3)
, {1,2,..., } | | 1;i jj L i L
x L mL
(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,j adalah jarak dari kota i ke kotaj dan xi,j benilai 1 jika rute dari kota ke-imenuju 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 & Padberg2009).
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 ai sebagai batas awal danbi sebagai batas akhir.
Model untuk TSPTW tidak berbeda dengan model TSP di atas, dengan tambahan beberapa kendala:
; 1, ...,a T b i mi i i (2.6)
, 1, ...,;,
i j mT t Ti i j j i j
(2.7)
Pada (2.6) waktu pelayanan (Ti) berada diantara 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
Rute
3
2.1.2 m-TSPm-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 permintaandalam suatu rute tidak boleh melebihi kapasitas dari kendaraan yang beroperasi(Larsen 1999).
2.2 Vehicle Routing ProblemMasalah 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 modelVRP. Terdapat satu depot (dilambangkan dengan O) yang memiliki sebanyak kkendaraan 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,i sedangkan jarak antara
tempat yang sama bernilai nol atau 0,ci i .
Solusi yang dihasilkan merupakan anggota dari 1{ ,..., }kR R 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:
11 1, ,
ln n
kj i
ki j i jmin Z c x
(2.8)
Kendala-kendala Konsumen
1 1, 1; 2, 3, ...,
ln
i k
ki j j nx
(2 .9 )
1 1, 1; 2, 3, ...,
ln
j k
ki j i nx
(2 .10)
Depot
21, 1; 1, 2,...,
n
j
kj kx l
(2 .11)
2,1 1; 1, 2, ...,
n
i
ki kx l
(2 .12)
Kekontinuan rute
2 2, ,
1, 2, ...,
1, 2, ...,;
n n
i i
k ki u u j
k l
u nx x
(2 .13)
Kapasitas
1 1, ; 1, 2, ...,
n n
i j
ki i j k kq x C l
(2 .14)
,
, 1,2,...,{0,1};
1,... ki j
i j n
k lx
(2 .15)
Gambar 2 Contoh rute dalam Vehicle Routing Problem (VRP).
Konsumen
4
Fungsi objektif dari VRP (2.8) adalah meminimumkan total biaya perjalanan, dengan ci,j adalah biaya perjalanan dari konsumen i menuju konsumen j. Variabel
keputusan ,ki jx 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 untuksatu rute. Kendala (2.13) memastikan kekontinuan rute dari setiap kendaraan yang beroperasi. Kendala (2.14) memastikan agar total permintaan (qi) pada satu rute tidak melebihi 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 objektifbagi 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, ..., ;
kfi i jt t t M xj i i j
i j n k l
(2 .16)
; 1, ...,a t b i ni i i (2 .17)
0; 1, ...,t i ni (2 .18)
Kendala (2.16) memastikan waktu kedatangan kendaraan di konsumen j (tj) selalu lebih besar dari waktu kedatangan kendaraan di konsumen i (ti), dengan fimerupakan waktu service di konsumen i dan ti,j adalah waktu tempuh dari konsumen imenuju konsumen j, sedangkan M (disebut big-M) merupakan bilangan yang relatif besar,
sehingga jika (1 ),kM xi j 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). Padapenelitian ini akan digunakan VRPSTW, karena serupa dengan masalah yang ada di lapangan.
2.4 Metode HeuristikPenggunaan metode branch and bound
untuk mencari solusi VRP yang memiliki banyak kota (lebih dari 50 kota)membutuhkan waktu komputasi yang lama. Alasan tersebut menjadi sebabdikembangkannya metode heuristik. Metode heuristik dapat memberikan solusi lebih cepat daripada metode branch and bound, tetapitidak ada jaminan solusi yang dihasilkan optimal. Solusi dari metode heuristik didapat selain dengan cara trial and error juga dengan pendekatan secara intuitif (Winston 2004).
5
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 penelitianini 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 HeuristicMetode 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 selanjutnyaadalah lokasi yang memiliki jarak terdekat dengan lokasi konsumen pertama, demikian seterusnya hingga kapasitas kendaraan atautime windows terpenuhi. Jika kapasitas kendaraan atau time windows telah dicapaimaka 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-optPada 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-optdigunakan 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 tempatdalam satu rute dapat dipindahkan urutan kunjungannya. Dengan syarat biaya ruteberkurang 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 semulaadalah (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 5dimana 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 ExchangePada 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-routeexchange. Sementara itu metode exchangeyang diterapkan pada satu rute disebut intra-route exchange (Caric et al. 2008).
III METODE PENELITIAN
3.1 Waktu dan LokasiPenelitian dilakukan di PT Nippon
Indosari Corpindo (PT NIC), pada departemenSupply Chain Management (SCM). Kegiatan ini memakan waktu dua minggu, dimulai pada Senin, 27 Oktober sampai dengan Jumat, 7 November 2008.
3.2 Teknik Pengumpulan DataKombinasi 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 PenelitianDalam 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 DataSetelah 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 ditempat konsumen. Sedangkan diasumsikan kecepatan kendaraan konstan, waktu buka - tutup gudang konsumen adalah seragam yakni pada pukul 06.00 sampai dengan pukul 16.00,
7
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, relocatedan 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, PTNIC 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 danminimarket, sementara itu 44% sisanya didistribusikan melalui jaringan tradisional seperti agen dan stock point.
4.1.1 Divisi DistribusiPT 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 helperpada 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 DistribusiKegiatan 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 hawkersesuai 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. Transporterhanya 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, Makrodan 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 ROPenelitian 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. Kemudianwarehouse 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 helpermemindahkan produk menuju gudang konsumen dan kembali memeriksa jumlah barang yang dikirim, disaksikan oleh perwakilan dari pihak konsumen. Setelah melewati tahap pemeriksaan tersebut helpermenata 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 sertanota 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 MasalahPerusahaan 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 permintaansetiap 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
9
digunakan dengan mempertimbangkan kendala kapasitas pada kendaraan dan untuk memenuhi setiap permintaan RO.
Beberapa asumsi yang digunakan, antara lain: semua pesanan konsumen dapat dipenuhioleh pabrik, kecepatan kendaraan konstansehingga tidak ada satu pun yang dapat mempercepat atau memperlambat kecepatan kendaraan. Kendaraan yang digunakanseragam, sehingga setiap kendaraanmempunyai 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
ki j
ji kx
1, jika kendaraan dioperasikan
0, jika selainnyak
kz
Konstanta
iq banyaknya permintaan konsumen i
C kapasitas maksimum kendaraan
,ki jt waktu yang dibutuhkan dari konsumen
i ke konsumen j dengan kendaraan k
,i jd jarak dari konsumen i ke konsumen j
,i jc biaya perjalanan dari konsumen i ke konsumen j
vk kecepatan rata-rata kendaraan k
kw biaya tetap (fixed cost) bila kendaraan k digunakan
ia waktu buka gudang pada konsumen i
ib waktu tutup gudang pada konsumen j
it waktu kedatangan pada konsumen i
Lhimpunan semua konsumen termasuk depot
if Lama waktu servis di konsumen i
Fungsi Objektif3
1
25 25
, ,1 1
k kk
ki j i j
i j
minZ w z x c
(4.1)
Kendala-kendala
Konsumen25 3
,1 1
1; 2,3,..., 25k
i ji k
x j
(4 .2 )
25 3
,1 1
1; 2,3,..., 25k
i jj k
x i
(4 .3 )
Depot25
1,2
1; 1, 2,3k
jj
x k
(4 .4 )
25
,12
1; 1, 2 3,k
ii
x k
(4 .5 )
Kekontinuan rute25 25
, ,2 2
1, 2,3 ;
1,2,..., 25k k
i u u ji i
kx x
u
(4 .6 )
Kapasitas25 25
,1 1
; 1,2,3k
i i ji j
q x C k
(4 .7 )
,
, 1, 2,..., 25;
1, 2,3 k
i j k
i jx z
k
(4 .8 )
, ,
, 1, 2,..., 25;
1,2,3 k
k i j i j
i jv t d
k
(4 .9 )
, , ; , 1,2,..., 25i j j id d i j (4 .10)
Eliminasi sub-tour
,
25 25
,1 1
| ;
: 2
1, 2,3
| 1
;
k
i ji F j F
k
i ji j
x
F L x
k
F
F
(4 .11)
Time windows; 1, 2,..., 25i i ia t b i (4 .12 )
, ,
, 1,2,...,25(1 ) ;
1,2,3 k k
i i j i j ji
i jt t M x t
kf
(4 .13)
{0,1}; 1, 2,3kz k (4 .14)
,
1,2,3 {0,1};
, 1,2,...,25k
i j
kx
i j
(4 .15)
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, yaitukecepatan dan waktu tempuh kendaraan, jarak dan waktu tempuh berbanding lurus. Kendala (4.10) menunjukkan bahwa jarak dari i ke jsama 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 ike j, sedangkan M (big-m) merupakan
bilangan yang relatif besar jika ,(1 )k
i jM xbernilai besar maka rute konsumen i ke konsumen j tidak akan ditempuh dan sebaliknya. Kendala (4.14) dan (4.15)
menunjukkan bahwa zk dan ,ki jx merupakan
variabel keputusan yang bernilai 0 dan 1.
4.4 Hasil dan PembahasanPada subbab ini akan diperlihatkan hasil
dari masalah yang dihadapi, kemudian hasiltersebut akan dibandingkan dengan keadaan yang terjadi di lapangan saat ini.
Masalah VRP yang dihadapi dapat dicari solusinya dengan menggunakan exact methoddan 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 diselesaikanmenggunakan kedua fase heuristik terdapat pada Lampiran 8. Lampiran tersebutmerupakan 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 softwareILOG Dispatcher versi 2.1 dan ILOG Solverversi 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). Outputdari masalah VRP yang diselesaikanmenggunakan software tersebut dapat dilihat pada Lampiran 10.
Tabel 1, Tabel 2 dan Tabel 3 merupakanrangkaian 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 NamaJarak
tempuh(kilometer)
Permintaan(crate)
0 PT NIC 0 01 HARI-HARI BEKASI TRADE CENTRE 9,1988 174 PT CONTIMAS UTAMA IND. (BLUE MALL) 11,1864 170 PT NIC 22,2157 0
11
Tabel 2 Hasil simulasi untuk kendaraan kedua
Kode NamaJarak
tempuh(kilometer)
Permintaan(crate)
0 PT NIC 0 03 LION SUPERINDO BOROBUDUR BEKAS 11,0671 75 CARREFOUR BEKASI SQUARE 13,6437 82 MITRA WISMA ASRI 17,1940 311 CV NAGA SWALAYAN (Pondok Ungu) 21,5975 3712 GIANT UJUNG MENTENG 25,2667 1613 CARREFOUR CAKUNG 26,7864 1215 GIANT PONDOK KOPI SPM 34,4373 1522 GIANT KALIMALANG 38,7833 1823 SUPER INDO PONDOK BAMBU 39,5013 256 HERO KEMANG PRATAMA 49,7469 120 PT NIC 61,9235 0
Tabel 3 Hasil simulasi untuk kendaraan ketiga
Kode NamaJarak
tempuh(kilometer)
Permintaan(crate)
0 PT NIC 0 09 MAKRO BEKASI 2 13,2558 28 LION SUPERINDO METROPOLITAN MALL 13,6606 177 GIANT HYPERMARKET BEKASI 13,9787 1910 HARI-HARI BEKASI CYBER PARK 15,8856 1914 LION SUPERINDO KALIMALANG BEKASI 17,3783 2216 GIANT JATI BENING 21,7282 917 STAR MART PERSADA GOLF 23,8137 424 YOGYA PONDOK BAMBU TOSERBA 24,8556 1821 TIP-TOP PONDOK BAMBU 25,2290 3720 CV NAGA SWALAYAN (Jatiwaringin) 25,5493 1819 GIANT PONDOK GEDE 28,7049 1818 TIP-TOP PONDOK GEDE 32,3982 110 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 produkyang 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 cratepada 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 56
789 10
11
12
13
14
15
1617
18
19
2021
2223
24
Miles
Mile
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 24konsumen.
Tabel 4 Rute saat ini untuk kendaraan pertama
Kode NamaJarak
tempuh(kilometer)
Permintaan(crate)
0 PT NIC 0 016 GIANT JATI BENING 19,3245 920 CV NAGA SWALAYAN (Jatiwaringin) 22,2676 1823 SUPER INDO PONDOK BAMBU 24,7295 2522 GIANT KALIMALANG 25,4476 1821 TIP-TOP PONDOK BAMBU 28,3478 3724 YOGYA PONDOK BAMBU TOSERBA 28,7212 1819 GIANT PONDOK GEDE 32,3667 1811 CV. NAGA SWALAYAN (Pondok Ungu) 49,0934 3718 TIP-TOP PONDOK GEDE 63,1134 110 PT NIC 82,9648 0
Kendaraan pertama
Kendaraan kedua
Kendaraan ketiga
kilo
met
er
kilometer
13
Tabel 5 Rute saat ini untuk kendaraan kedua
Kode NamaJarak
tempuh(kilometer)
Permintaan(crate)
0 PT NIC 0 015 GIANT PONDOK KOPI SPM 21,0275 1513 CARREFOUR CAKUNG 28,6783 1212 GIANT UJUNG MENTENG 30,1981 162 MITRA WISMA ASRI 38,2426 33 LION SUPERINDO BOROBUDUR BEKAS 42,6166 714 LION SUPERINDO KALIMALANG BEKASI 49,1501 2210 HARI-HARI BEKASI CYBER PARK 50,6427 190 PT NIC 65,0334 0
Tabel 6 Rute saat ini untuk kendaraan kedua
Kode NamaJarak
tempuh(kilometer)
Permintaan(crate)
0 PT NIC 0 04 PT CONTIMAS UTAMA IND. (BLUE MALL) 11,0293 171 HARI-HARI BEKASI TRADE CENTRE 13,0169 177 GIANT HYPERMARKET BEKASI 17,5612 196 HERO KEMANG PRATAMA 19,3132 125 CARREFOUR BEKASI SQUARE 22,6542 88 LION SUPERINDO METROPOLITAN MALL 24,9801 179 MAKRO BEKASI 2 25,3849 2
17 STAR MART PERSADA GOLF 34,5364 40 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 cratedari 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 dankonsumen ke-17 sebelum kembali ke depot.Total jarak tempuh tiga kendaraan adalah203,935 kilometer.
14
-15 -10 -5 0 5 10-15
-10
-5
0
5
10
0
1
2
3
4 56
789 10
11
12
13
14
15
1617
18
19
2021
2223
24
Miles
Mile
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 setiapkendaraan.
Tabel 7 Perbandingan muatan kendaraan hasil simulasi dan kendaraan yang beroperasi saat ini
Muatan(crate)
Kapasitas max
(crate)
Jarak Tempuh(kilometer)
Keadaan saat iniKendaraan ke-1 191 (95,5%) 200 82,9648Kendaraan ke-2 94 (47,0%) 200 65,0334Kendaraan ke-3 96 (48,0%) 200 55,9374
Hasil SimulasiKendaraan ke-1 34 (17,0%) 200 22,2157Kendaraan ke-2 153 (76,5%) 200 61,9235Kendaraan 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 pendekdibandingkan 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 adalah203,935 kilometer. Dengan kata lain, total jarak yang ditempuh pada hasil simulasi
Kendaraan pertama
Kendaraan kedua
Kendaraan ketiga
kilometer
kilo
met
er
15
mencapai 66,88% dari total jarak yang ditempuh kendaraan saat ini. Sementara itubanyaknya 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 Kesimpulan1. 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 SaranBeberapa 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 padamatriks jarak merupakan hasil estimasi.
2. Waktu bongkar-muat di konsumen dapat diestimasi dengan cara yang lebih baik. Misalnya dengan melakukan beberapa kali pengamatanterhadap 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 Engineering54: 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
17
Lampiran 1
Struktur organisasi pada departemen supply chain managment
18
Lampiran 2
Saluran distribusi yang ada
P
R
O
D
U
S
E
N
K
O
N
S
U
M
E
N
hawker
warungMotorStock Point (SP)
Retail/outlet (RO)
Distribution Center(DC)
Institusi
Agen
19
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
WarehouseOperator
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:
Pemisahan permintaan Kendaraan saat loading
21
Penghitungan roti
Memasukkan pesanan ke mobil-box
22
Crate kosong saat unloading
Sisa roti
23
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 240 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.321 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.992 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.033 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.114 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.435 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.836 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.637 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.798 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.799 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.1111 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.4712 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.5513 0.00 10.80 6.48 12.60 11.52 21.67 17.11 13.99 14.04 11.52 12.07 13.5614 0.00 5.76 4.08 6.72 8.40 10.39 7.27 7.39 4.80 5.35 6.9115 0.00 5.88 6.36 10.20 11.71 7.75 9.43 5.28 5.83 7.3916 0.00 3.84 4.32 5.83 6.55 6.67 4.08 4.63 6.1917 0.00 8.16 6.36 5.28 6.36 1.92 2.47 5.8818 0.00 3.48 6.60 7.68 9.07 8.52 7.2019 0.00 3.12 4.20 5.59 5.04 3.7220 0.00 1.08 2.47 1.92 0.6021 0.00 2.59 2.04 0.4822 0.00 0.55 2.1123 0.00 1.5624 0.00
24
Lampiran 6
Data
No Nama TempatPermintaan
(crate)
Waktu bongkar-muat
(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
24 YOGYA PONDOK BAMBU TOSERBA 18 73
25
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
ProsesSource 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>#endifILCSTLBEGINvoid 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;
27
IlcFloat capacity; infile >> capacity; IlcFloat openTime, closeTime; infile >> openTime >> closeTime; IlcFloat depotX, depotY ; infile >> depotX >> depotY; IlcNode depot(plan, depotX, depotY); for (IlcInt j = 0; j < nbOfTrucks; j++) {
IlcVisit first(depot, "Depot"); // dimulai dari depot m.add(first.getCumulVar(time) >= openTime); // definisikan waktu buka IlcVisit last(depot, "Depot"); // diakhiri di depot m.add(last.getCumulVar(time) <= closeTime); // definisikan waktu tutup
char name[16];sprintf(name, "Vehicle %d\0", j); // kendaraan yang melakukan pengirimanIlcVehicle vehicle(plan, first, last, name);vehicle.setCapacity(weight, capacity); // kendala kapasitas kendaraanvehicle.setSpeed(length, 1);
} for (IlcInt i = 0; i < nbOfVisits; i++) { IlcInt id; // visit identifier?? IlcFloat x, y, quantity, minTime, maxTime, dropTime; infile >> id >> quantity >> minTime >> maxTime >> dropTime >> x >> y; IlcNode customer(plan, x, y);
char name[16]; sprintf(name, "%d\0", id); IlcVisit visit(customer, name); visit.setDelay(time, dropTime); //kendala waktu bongkar-muat visit.setQuantity(weight, quantity);// kendala yang dibawa kendaraan /////////////////////////////////////////////// // kendala waktu pelayanan (time window) /////////////////////////////////////////////// ILCSETWINDOW(visit.getCumulVar(time), minTime <= var && var <= maxTime); } infile.close(); ///////////////////////////////////////////////////////////////////////// // mencari solusi dengan menggunakan metode nearest addition heuristic ///////////////////////////////////////////////////////////////////////// IlcGoal generateGoal = IlcNearestAdditionGenerate(m, plan); m.add(generateGoal); if (!m.nextSolution()) { m.out() << "Not enough vehicles to generate first solution" << endl;#if defined(ILCLOGFILE) m.closeLogFile();#endif m.end(); return 0; } else { m.restart(); m.remove(generateGoal);
////////////////////////////////////////////////////////////////////////////////////memperbaiki solusi yang didapat dengan twoOP,orOpt,Relocate,Exchange,dan Cross//////////////////////////////////////////////////////////////////////////////////
plan.improve(5, IlcTwoOpt(plan), IlcOrOpt(plan), IlcRelocate(plan), IlcExchange(plan),
28
IlcCross(plan)); } Info(m, plan, problem);#if defined(ILCLOGFILE) m.closeLogFile();#endif m.end(); return 0;}
29
Lampiran 9
OutputProblem name:cost: 3136.39Number of vehicles used: 3Solution: Unperform visits: NoneVehicle 0:
Depot Weight [0..166] Time [0..401.784] Length [0..1.#INF] 1 Weight [0..166] Time [9.19879..419.983] Length [9.19879..1.#INF] 4 Weight [17..183] Time [49.1864..459.971] Length [11.1864..1.#INF] Depot Weight [34..200] Time [129.216..540] Length [22.2157..1.#INF]
Vehicle 1: Depot Weight [0..47] Time [0..2.07651] Length [0..1.#INF]
3 Weight [0..47] Time [11.0671..13.1436] Length [11.0671..1.#INF] 5 Weight [7..54] Time [47.6437..49.7202] Length [13.6437..1.#INF] 2 Weight [15..62] Time [142.194..144.27] Length [17.194..1.#INF] 11 Weight [18..65] Time [153.598..155.674] Length [21.5975..1.#INF] 12 Weight [55..102] Time [226.267..228.343] Length [25.2667..1.#INF] 13 Weight [71..118] Time [269.786..271.863] Length [26.7864..1.#INF] 15 Weight [83..130] Time [331.437..333.514] Length [34.4373..1.#INF] 22 Weight [98..145] Time [353.783..355.860] Length [38.7833..1.#INF] 23 Weight [116..163] Time [412.501..414.578] Length [39.5013..1.#INF] 6 Weight [141..188] Time [488.747..490.823] Length [49.7469..1.#INF] Depot Weight[153..200] Time [537.923..540] Length [61.9235..1.#INF]
Vehicle 2: Depot Weight [0..6] Time [0..26.7505] Length [0..1.#INF]
09 Weight [0..6] Time [13.2558..40.0063] Length [13.2558..1.#INF] 08 Weight [2..8] Time [45.6606..72.4111] Length [13.6606..1.#INF] 07 Weight [19..25] Time [86.9787..113.729] Length [13.9787..1.#INF] 10 Weight [38..44] Time [116.886..143.636] Length [15.8856..1.#INF] 14 Weight [57.. 63] Time[133.378..160.129] Length [17.3783..1.#INF] 16 Weight [79..85] Time [158.728..185.479] Length [21.7282..1.#INF] 17 Weight [88..94] Time [207.814..234.564] Length [23.8137..1.#INF] 24 Weight [92..98] Time [216.856..243.606] Length [24.8556..1.#INF] 21 Weight [110..116] Time [290.229..316.979] Length [25.229..1.#INF] 20 Weight [147..153] Time [371.549..398.300] Length [25.5493..1.#INF] 19 Weight [165..171] Time [394.705..421.455] Length [28.7049..1.#INF] 18 Weight [183..189] Time [433.398..460.149] Length [32.3982..1.#INF] Depot Weight[194..200] Time [513.250..540] Length [52.2495..1.#INF]
30
Lampiran 10
Contoh dari metode multidimensional scaling (MDS):Input: D =
X Atl Chi Den Hou LA Mia NYC SF Sea WDC
Atl 0 587 1212 701 1936 604 748 2139 2182 543
Chi 587 0 920 940 1745 1188 713 1858 1737 597
Den 1212 920 0 879 831 1726 1631 949 1021 1494
Hou 701 940 879 0 1374 968 1420 1645 1891 1220
LA 1936 1745 831 1374 0 2339 2451 347 959 2300
Mia 604 1188 1726 968 2339 0 1092 2594 2734 923
NYC 748 713 1631 1420 2451 1092 0 2571 2408 205
SF 2139 1858 949 1645 347 2594 2571 0 678 2442
Sea 2182 1737 1021 1891 959 2734 2408 678 0 2329
WDC 543 597 1494 1220 2300 923 205 2442 2329 0
Matriks jarak antara 10 kota di Amerika Serikat
Ouput yang dihasilkan:
Output Multidimensional Scaling(MATLAB, 2004)