iv
UNIVERSITAS BINA NUSANTARA
Program Studi Ganda Teknik Informatika - Matematika
Skripsi Sarjana Program Ganda Semester Ganjil 2007/ 2008
ANALISIS DAN PENYELESAIAN VEHICLE ROUTING PROBLEM PICK UP AND DELIVERY WITH MIXED VEHICLES(VRPPDMV)
MENGGUNAKAN HYBRID SAVINGS-DUAL GENETIC ALGORITHM
(STUDI KASUS: PT NUTRIFOOD INDONESIA)
Nita Felia 0700703076
ABSTRAK
Pengiriman barang dari pabrik ke pelanggan (outlet) menjadi masalah dalam dunia industri sehari-hari. Dalam masalah ini, sebuah rute diperlukan untuk menentukan tempat tujuan berikutnya dari sebuah kendaraan pengangkut. Banyaknya tempat tujuan dan keterbatasan kapasitas kendaraan menjadi kendala dalam masalah ini. Rute-rute yang terbentuk mempunyai tingkat efisiensi masing-masing, seperti efisiensi jarak, biaya, jumlah kendaraan, dan waktu. Masalah ini kemudian dikenal dengan istilah Vehicle Routing Problem (VRP).
Bagian logistik PT Nutrifood Indonesia, perusahaan penyedia makanan dan minuman, menghadapi VRP yang lebih kompleks, yang dikenal dengan istilah Vehicle Routing Problem Pick Up and Delivery with Mixed Vehicles (VRPPMDV). Selain pengantaran barang ke outlet, bagian logistik juga harus mengambil barang retur dari outlet untuk dibawa kembali ke pabrik. Pengangkutan barang-barang ini dilakukan dengan menggunakan dua jenis kendaraan, yaitu kendaraan internal dan transporter, yang memiliki kapasitas sama, tetapi memiliki komponen biaya yang berbeda. Adapun tujuan routingyang ingin dicapai adalah peminimalisasian biaya pengangkutan.
Untuk menyelesaikan VRPPDMV digunakan pendekatan heuristik. Pada skripsi ini, pemecahan masalah dilakukan dengan metode Hybrid Savings-Dual Genetic Algorithm. Metode ini membentuk feasible route dengan metode Savings Clarke and Wright dan membentuk improved route dengan Dual Genetic Algorithm, sebagai modifikasi dari Genetic Algortihm. Dalam penerapannya, perusahaan dapat meningkatkan cost effectiveness dengan adanya penurunan jumlah kendaraan yang digunakan.
Kata kunci:
v
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa atas segala rahmat, anugerah, penyertaan serta penghiburan-Nya sehingga skripsi yang berjudul “Analisis dan Penyelesaian Vehicle Routing Problem Pick Up and Delivery with Mixed Vehicles (VRPPDMV) Menggunakan Hybrid Savings-Dual Genetic Algorithm” ini dapat diselesaikan dengan baik dan tepat pada waktunya.
Atas segala bantuan, bimbingan serta kesempatan bagi penulis untuk menyelesaikan skripsi ini, maka perkenankanlah penulis untuk menyampaikan ucapan terima kasih yang sebesar-besarnya kepada:
1. Bapak Prof. Dr. Geraldus Polla, M.App.Sc., selaku Rektor Universitas Bina Nusantara, yang telah berkenan memberikan kesempatan kepada penulis untuk menuntut ilmu.
2. Bapak Wikaria Gazali, S.Si., MT., selaku Dekan dan Ketua Jurusan Fakultas MIPA Universitas Bina Nusantara atas perhatian, pertolongan dan pengajaran yang telah diberikan selama ini.
3. Bapak Ir. Sablin Yusuf, M.Sc., M.Comp.Sc., selaku Dekan Fakultas Ilmu Komputer Universitas Bina Nusantara atas perhatian, pertolongan dan pengajaran yang telah diberikan selama ini.
4. Bapak Rojali, S. Si., selaku Sekretaris Jurusan Matematika Fakultas MIPA Universitas Bina Nusantara atas perhatian, pertolongan dan pengajaran yang telah diberikan selama ini.
5. Bapak Don Tasman, S. Mia., SE, S.Si., MM, selaku Dosen Pembimbing pertama, yang telah banyak memberikan bantuan dan bimbingan selama penyusunan skripsi ini, terutama dalam penulisan skripsi, serta atas pengertian, pengajaran, pertolongan dan kesabaran, sehingga skripsi ini dapat selesai tepat waktu.
6. Bapak Diaz D. Santika, Ir., M.Sc, selaku Dosen Pembimbing kedua, yang telah banyak memberikan bantuan dan bimbingan selama penyususan skripsi. Terima kasih juga atas arahan, terutama dalam pola pikir, sehingga penulis dapat lebih mudah memahami setiap konsep yang digunakan dalam skripsi, serta atas pengertian, pengajaran, pertolongan dan kesabaran, sehingga skripsi ini dapat selesai tepat waktu.
7. Seluruh Dosen Universitas Bina Nusantara yang telah memberikan ilmu dan bimbingan akademis kepada penulis dari awal hingga akhir perkuliahan.
8. Bapak Edo Kurniawan, sebagai System Information General Manager PT Nutrifood Indonesia yang telah memberikan kesempatan pada penulis untuk membuat skripsi dengan studi kasus PT Nutrifood Indonesia.
9. Bapak Zainal Arifin, selaku Kepala Gudang PT Nutrifood Indonesia yang telah membantu penulis dalam menjelaskan detil permasalahan yang ada dalam routing, sehingga dapat membantu dalam penyelesaian skripsi ini.
10. Bapak Hariadi Hendrawan, selaku staff logistik PT Nutrifood Indonesia yang telah membantu penulis dalam memberikan informasi dan data yang diperlukan dalam menyelesaikan skripsi ini.
vi
12. Seluruh Business Analyst staff PT Nutrifood Indonesia yang telah memberikan dukungan moral dan membantu penulis dalam merancang aplikasi yang efektif dan efisien.
13. Keluarga penulis, atas doa, kasih sayang, kesabaran, perhatian, dan dukungan yang diberikan kepada penulis selama penyusunan skripsi ini.
14. Yohanes Pandoyo dan Adriani Valentina atas dukungan moral dan spiritual yang diberikan kepada penulis selama ini.
15. Teman-teman seperjuangan yaitu Michael Kohan, Irene Vimala, Milka Carolina, Pascal Angriawan, Irwan Susanto, dan Cun Cun yang selama ini banyak memberi masukan informasi yang berarti mengenai penulisan skripsi ini.
16. Teman-teman jurusan ganda Teknik Informatika-Matematika angkatan 2003 atas dukungan dan bantuannya yang diberikan kepada penulis selama ini.
17. Pihak-pihak lain yang tidak dapat disebutkan satu per satu yang telah mendukung dan membantu penulis dalam penyelesaian skripsi ini.
Walaupun telah berusaha dengan sebaik mungkin dalam menyelesaikan skripsi ini, penulis menyadari begitu banyak kekurangan yang ditemukan dalam penulisan skripsi ini. Dengan segala kerendahan hati, penulis sangat menghargai segala saran dan kritik yang membangun dari para pembaca untuk menyempurnakan skripsi ini di masa yang akan datang. Merupakan suatu kebahagiaan bagi penulis apabila penulisan skripsi ini dapat memberikan manfaat yang sebesar-besarnya kepada para pembaca.
Jakarta, 21 Januari 2008 Penulis
vii DAFTAR ISI
Halaman
Halaman Judul Luar... i
Halaman Judul Dalam... ii
1.1 Latar Belakang Masalah... 1
1.2 Perumusan Masalah... 3
1.3 Ruang Lingkup... 5
1.4 Tujuan & Manfaat... 6
1.4.1 Tujuan... 6
1.4.2 Manfaat ... 6
1.5 Definisi Operasional... 7
BAB 2 LANDASAN TEORI ... 8
2.1 Optimalisasi... 8
2.2 Teori Graf... 9
2.2.1 Definisi dan Jenis ... 9
2.2.2 Matriks dan Graf, Perwakilan Hubungan... 11
2.3 Travelling Salesman Problem... 12
2.4 Multi Travelling Salesman Problem ... 14
2.5 Teori Lintasan dan Siklus... 15
2.6 SiklusHamilton (Hamiltonian Cycle) ... 16
2.7 Vehicle Routing Problem ... 18
2.8 Teknik-Teknik Penyelesaian VRP... 22
2.8.1 Pendekatan Eksak... 23
A. Dynamic Programming ... 23
B.Branch and Bound... 24
C.Branch and Cut ... 24
2.8.2 Heuristik... 24
A. Metode Savings... 25
B.Nearest Neighbourhood... 31
C. Algoritma HeuristikFisher and Jaikumar ... 32
2.8.3 Metaheuristik 33 A. Ant Colony Optimization (ACO) ... 34
B. Greedy Randomized Adaptive Search Procedure (GRASP) ... 35
viii
D. Tabu Search (TS) ... 37
E. Variable Neighbourhood Search (VNS) ... 37
2.9 Soft Computing 38 2.9.1 Evolutionary Algorithm... 38
2.9.2 Genetic Algorithm ... 39
2.10Vehicle Routing Problem Pick Up and Delivery with Mixed Vehicles (VRPPDMV) denganDual Genetic Algorithm... 42
2.10.1 Random Key Method... 43
2.10.2 Pengembangan Dual Genetic Algorithm ... 44
2.11 Teori Perancangan Program ... 46
2.12Object Oriented... 51
2.12.1 Object Oriented Analysis and Design(OOAD)... 51
2.12.2 Konsep dalamOOAD... 52
A. Encapsulation... 52
B. Inheritance... 52
C. Polymorphism... 53
2.13Unified Modelling Language(UML)... 53
2.13.1 ClassDiagram... 54
2.13.2 Use CaseDiagram... 56
2.13.3 SequenceDiagram... 58
BAB 3 METODOLOGI PENELITIAN ... 60
3.1 Gambaran Umum Perusahaan... 60
3.1.1 Sejarah Singkat Perusahaan ... 60
3.1.2 Struktur Organisasi Perusahaan ... 62
3.2 Gambaran Umum Logistik yang Sedang Berjalan... 65
3.3 Identifikasi Masalah ... 72
3.3.1 Uraian Masalah ... 74
3.3.2 Problem Formulation (Mathematical Formulation) .... 79
3.4 Alternatif Pemecahan Masalah ... 85
3.5 Teknik Pengumpulan Data ... 86
3.6 Proses Pemecahan Masalah ... 86
3.7 Algoritma Pemecahan Masalah ... 89
3.8 Flow Chart Pemecahan Masalah... 93
3.9 Perancangan Program Aplikasi ... 101
3.9.1 UsecaseSistem Aplikasi yang Diusulkan... 102
3.9.2 Perancangan Struktur Menu... 103
3.9.3 Perancangan Layar... 103
A. Perancangan Layar Menu Utama... 104
B. Perancangan Layar Routing... 107
C. Perancangan Layar Transaksi... 110
D. Perancangan LayarMaster... 112
E. Perancangan Layar Informasi ... 114
3.9.4 ClassDiagram... 114
A. Definisi Kelas (Class)... 115
B. Relasi kelas... 126
ix
BAB 4 HASIL DAN PEMBAHASAN ... 134
4.1 Prosedur Pengujian... 134
4.1.1 Penentuan Parameter ... 135
4.1.2 Data Set Yang Digunakan... 136
A. Data Set Model A... 136
B. Data Lapangan... 137
4.2 Hasil 138 4.2.1 Hasil Pengujian Data Set A 138 4.2.2 Hasil Pengujian Data Lapangan 147 4.3 Analisis Data dan Pembahasan 163 4.4 Implementasi 165 4.4.1 Spesifikasi Perangkat Keras 165 4.4.2 Spesifikasi Perangkat Lunak 165 4.4.3 Tampilan dan Cara Pengoperasian Program Aplikasi 166 A. Tampilan Menu Utama (Layar Routing)... 166
B. Tampilan Layar Transaksi... 173
C. Tampilan LayarMaster... 175
D. Tampilan Layar Informasi ... 177
BAB 5 KESIMPULAN DAN SARAN 178
5.1 Kesimpulan 178
5.2 Saran 179
DAFTAR PUSTAKA RIWAYAT HIDUP LAMPIRAN
x
DAFTAR TABEL
Halaman
Tabel 2.1 Perbedaan Lintasan, Siklus, dan Siklus Sederhana... 16
Tabel 2.2 Kategori masalah dalam VRP... 21
Tabel 2.3 Tabel simetris dari biaya antarlokasi ... 28
Tabel 2.4 Tabel jumlah permintaan ... 28
Tabel 2.5 Tabel savingssetelah diurutkan ... 29
Tabel 4.1 Parameter uji untuk data setA... 137
Tabel 4.2 Sistem biaya pada kendaraan internal 137
Tabel 4.3 Perbandingan fitness functionantar metode pada data setA 139 Tabel 4.4 Perbandingan pencapaian fitnessdengan batasan threshold
pada data setA 140
Tabel 4.5 Perbandingan jumlah kendaraan pengangkut antar metode
(data setA) 142
Tabel 4.6 Gambaran umum penugasan kendaraan terbaik (data setA) 142 Tabel 4.7 Perbandingan pencapaian fitnessdengan batasan threshold
pada data lapangan 148
Tabel 4.8 Perbandingan jumlah kendaraan pengangkut antar metode (data
lapangan) 148
xi
DAFTAR GAMBAR
Halaman
Gambar 2.1 Sebuah multigraf dengan empatnodedan tujuhedge... 9
Gambar 2.2 Graf berarah ... 10
Gambar 2.3 Matriks adjacency dan matriks incidence... 12
Gambar 2.4 Graf Travelling Salesman Problemdan solusinya... 13
Gambar 2.5 Graf Multi Travelling Salesman Problem... 14
Gambar 2.6 Graf tidak berarah... 16
Gambar 2.7 Sebuah graf yang mempunyai siklus Hamilton ... 17
Gambar 2.8 Sebuah solusi siklus Hamilton... 18
Gambar 2.9 Teka-Teki Hamilton, Pemodelan Dodecahedron dalam Graf, Salah satu penyelesaian berbentuk siklus Hamilton. 18 Gambar 2.10 Hubungan VRPdengan TSPdan perkembangannya... 19
Gambar 2.11 Contoh visualisasi input dari Vehicle Routing Problem.... 20
Gambar 2.12 Salah satu output dari persoalan VRP dari input gambar 2.11 ... 21
Gambar 2.13 Ilustrasi dari Savingsyang telah dihitung... 26
Gambar 2.14 Contoh soal penyelesaian VRP dengan Savings Method.. 28
Gambar 2.15 Nearest Neighbourhood ... 32
Gambar 2.16 Contoh replikasi dan pembuangan gen melalui pindah silang ... 43
Gambar 2.17 Dua kromosom induk dan hasil crossover ... 45
Gambar 2.18 An Eight-stage SDLC ... 48
Gambar 2.19 Notasi Class... 54
Gambar 2.20 Classdiagram dengan hubungan Generalization... 54
Gambar 2.21 Classdiagram dengan hubungan Aggregiation... 55
Gambar 2.22 Notasi Agregasi Dasar... 55
Gambar 2.23 Notasi Agregasi Komposisi... 55
Gambar 2.24 Classdiagram dengan hubungan Generalization... 56
Gambar 2.25 Notasi Use Case... 57
Gambar 2.26 Notasi Actor... 57
Gambar 2.27 Contoh Use Case Diagram... 58
Gambar 2.28 Notasi Object Lifelinedan Activation... 58
Gambar 2.29 Contoh SequenceDiagram... 59
Gambar 3.1 Struktur Organisasi Perusahaan ... 64
Gambar 3.2 Jenis-jenis kendaraan pengangkut yang digunakan PT Nutrifood Indonesia ... 67
Gambar 3.3 Flow chart mesin utama Hybrid Savings-Dual Genetic Algorithm 94 Gambar 3.4 Flow chart Savings Method... 95
Gambar 3.5 Flow chart evaluasi objective function... 96
Gambar 3.6 Flow chart Dual Genetic Algorithm... 97
Gambar 3.7 Flow chart pembentukan fitness function (bagian 1) ... 98
Gambar 3.8 Flow chart pembentukan fitness function (bagian 2) ... 99
Gambar 3.9 Flow chart pembentukan fitness function (bagian 3) ... 100
xii
Gambar 3.11 Rancangan Layar Menu Utama (tab Inisialisasi)... 104
Gambar 3.12 Rancangan Layar Menu Utama apabila ketiga tombol hitung Ditekan... 105
Gambar 3.13 Rancangan Layar Menu Utama apabila tombol “Bandingkan” muncul dan ditekan (tab Inisialisasi –tabPerbandingan Metode) 105 Gambar 3.14 Rancangan Layar Menu Utama apabila tombol “Bandingkan” muncul dan ditekan (tab Inisialisasi –tab Perbandingan Biaya) 106 Gambar 3.15 Rancangan Layar Menu Utama apabila tombol “Bandingkan” muncul dan ditekan (tab Inisialisasi –tab Rute Terbaik).. 106
Gambar 3.16 Rancangan Layar Routing (tab Solusi–tab Savings – tab Hasil Perhitungan)... 107
Gambar 3.17 Rancangan Layar Routing (tab Solusi–tab Savings – tab Grafik Fitness) 108 Gambar 3.18 Rancangan Layar Routing (tab Solusi–tab Savings – tab Gambar Rute... 108
Gambar 3.19 Rancangan Layar Routing apabila tombol “Hitung Dual GA” belum ditekan... 109
Gambar 3.20 Rancangan Layar Transaksi (tab Total Transaksi)... 110
Gambar 3.21 Rancangan Layar Transaksi (tab Pembelian) 111 Gambar 3.22 Rancangan Layar Transaksi (tab Retur)... 111
Gambar 3.23 Rancangan Layar Master(tab Posisi) 112 Gambar 3.24 Rancangan Layar Master(tab Kendaraan)... 113
Gambar 3.25 Rancangan Layar Master(tab Produk)... 113
Gambar 3.26 Rancangan Layar Informasi... 114
Gambar 3.27 Classkendaraan_base (a), kendaraan_internal (b), dan kendaraan_transporter(c) 115 Gambar 3.28 Class kunjunganOutlet_base (a), kunjunganOutlet_internal (b), dan kunjunganOutlet_transporter(c) 116 Gambar 3.29 Class outlet (a), dan class daftarPermintaanOutlet (b)... 116
Gambar 3.30 ClassfrmUtama... 117
Gambar 3.31 Class manajemenRute... 118
Gambar 3.32 Class doRouting... 118
Gambar 3.33 Class savingsMethod... 119
Gambar 3.34 Class geneticAlgorithm... 119
Gambar 3.35 Class inisialisasiPopulasi... 120
Gambar 3.36 Class konfigurasiPopulasi... 120
Gambar 3.37 Class konstruksiFeasibleRoute... 121
Gambar 3.38 Class konstruksiImprovedRoute... 121
Gambar 3.39 Class validasiConstraint... 121
Gambar 3.40 ClassdetilSubrute... 122
Gambar 3.41 Class penugasanKendaraan... 122
Gambar 3.42 Class optimasiKombinasi... 123
Gambar 3.43 Class optimasiSubrute... 123
Gambar 3.44 Class penggabunganTransporter... 123
Gambar 3.45 Class sistemBiaya... 124
Gambar 3.46 Class ambilKonfigurasiMinimum... 124
xiii
Gambar 3.48 Class grafikData... 125
Gambar 3.49 Class randomize(a), class sorting(b), class tanpaMinDua (c), class cloning(d), classhitungJarakAntarLokasi(e), dan class logistikString (f)... 125
Gambar 3.50 Relasi antar kelas... 127
Gambar 3.51 Sequence untuk load data dari database... 129
Gambar 3.52 Sequence untuk hitung rute dengan Savings Method... 130
Gambar 3.53 Sequence untuk hitung rute denganDual Genetic Algorithm 131 Gambar 3.54 Sequence untuk hitung rute dengan Hybrid Savings-Dual Genetic Algorithm 132 Gambar 3.55 Sequence untuk hitung rute terbaik... 133 Gambar 4.1 Grafik fitness untuk rute terbaik rata-rata hasil percobaan
data setA 146
Gambar 4.2 Grafik fitness untuk rute terbaik rata-rata hasil percobaan
data set A 146
Gambar 4.3 Grafik fitness untuk rute terbaik rata-rata hasil percobaan
data lapangan 162
Gambar 4.4 Grafik fitness untuk rute terbaik rata-rata hasil percobaan
data lapangan 163
Gambar 4.5 Tampilan menu utama (tab Inisialisasi) 167
Gambar 4.6 Tampilan message boxsaat validasi input jumlah populasi 167 Gambar 4.7 Tampilan menu utama apabila tombol “Bandingkan” ditekan
(tab Inisialisasi) 168
Gambar 4.8 Tampilan menu utama apabila tombol “Bandingkan” ditekan
(tab Perbandingan Metode) 168
Gambar 4.9 Tampilan menu utama apabila tombol routing ditekan
(tab Perbandingan Biaya) 169
Gambar 4.10 Tampilan menu utama apabila tombol routing ditekan
(tab RuteTerbaik) 169
Gambar 4.11 Tampilan awal tab Solusi apabila belum ada penekanan
tombol pada layar menu utama 170
Gambar 4.12 Tampilan hasil perhitungan metode Savings Algorithm 171 Gambar 4.13 Tampilan grafikfitness hasil perhitungan metode Savings
Algorithm 171
Gambar 4.14 Tampilan gambar rute terbaik hasil perhitungan metode
Savings Algorithm 172
Gambar 4.15 Tampilan tab Hasil Perhitungan pada tab Hybrid Savings Dual
Genetic Algorithm 173
Gambar 4.16 Tampilan layar Transaksi pada tabTotal Transaksi 174 Gambar 4.17 Tampilan layar Transaksi pada tabPembelian 174 Gambar 4.18 Tampilan layar Transaksi pada tabRetur 175
Gambar 4.19 Tampilan layar Master (tab Posisi) 176
Gambar 4.20 Tampilan layar Master (tab Kendaraan) 176
Gambar 4.21 Tampilan layar Master (tab Produk) 177
xiv
DAFTAR ALGORITMA
xv
DAFTAR LAMPIRAN
Halaman Lampiran 1 Data Kendaraan Internal... L1
Lampiran.2 Data Transporter L2
Lampiran 3 Data Produk L3
Lampiran 4 Lampiran Detil Data Set Model A L4
Lampiran 5 Data Transaksi Pembelian untuk Data SetModel A L5 Lampiran 6 Data Transaksi Retur untuk Data SetModel A L12
Lampiran 7 Lampiran Detil Data Uji Lapangan L15
Lampiran 8 Data Transaksi Pembelian untuk Data Lapangan L18 Lampiran 9 Data Transaksi Retur untuk Data Lapangan L26 Lampiran 10 Lampiran Hasil Uji dengan Data SetModel A L27 Lampiran 11 Lampuran Hasil Uji dengan Data Lapangan L29
Lampiran 12 Detil Hasil Pengujian Data Lapangan L35