PENERAPAN ALGORITMA CAT SWARM OPTIMIZATION (CSO) UNTUK MENYELESAIKAN MULTI - DEPOT VEHICLE ROUTING PROBLEM (MDVRP) SKRIPSI FATIMATUS ZAHRO PROGRAM STUDI S-1 MATEMATIKA DEPARTEMEN MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS AIRLANGGA 2016
PENERAPAN ALGORITMA CAT SWARM OPTIMIZATION (CSO) UNTUK MENYELESAIKAN MULTI - DEPOT VEHICLE ROUTING PROBLEM (MDVRP) SKRIPSI FATIMATUS ZAHRO 081211231114 PROGRAM STUDI S-1 MATEMATIKA DEPARTEMEN MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS AIRLANGGA 2016 i
ii
iii
PEDOMAN PENGGUNAAN SKRIPSI Skripsi ini tidak dipublikasikan, namun tersedia di perpustakaan dalam lingkungan Universitas Airlangga, diperkenankan untuk dipakai sebagai referensi kepustakaan, tetapi pengutipan harus seizin penulis dan harus menyebutkan sumbernya sesuai kebiasaan ilmiah. Dokumen skripsi ini merupakan hak milik Universitas Airlangga. iv
v
KATA PENGANTAR Puji syukur Alhamdulillah penulis panjatkan kehadirat Allah SWT, karena atas limpahan rahmat dan hidayah-nya kepada penulis sehingga skripsi dengan judul Penerapan Algoritma Cat Swarm Optimization (CSO) untuk Menyelesaikan Multi-Depot Vehicle Routing Problem (MDVRP) dapat diselesaikan tepat pada waktunya. Ucapan terimakasih disampaikan kepada: 1. Universitas Airlangga yang telah memberi kesempatan bagi penulis untuk melanjutkan pendidikan tinggi khususnya program studi Matematika Fakultas Sains dan Teknologi yang telah memberikan banyak ilmu kepada penulis. 2. Bapak Presiden Republik Indonesia dan Direktorat Jendral Pendidikan Tinggi (DIKTI) yang telah mencanangkan program Beasiswa Bidikmisi yang telah memberikan kesempatan kepada penulis sehingga dapat merasakan indahnya bangku perkuliahan di Universitas Airlangga. 3. Badrus Zaman, S.Kom., selaku Ketua Departemen Matematika Fakultas Sains dan Teknologi Universitas Airlangga. 4. Auli Damayanti, S.Si., M.Si., selaku dosen wali dan dosen pembimbing II yang senantiasa penuh kesabaran, ketelitian dan keramahan dalam memberikan bimbingan berupa ilmu, arahan, waktu, serta semangat. 5. Dr. Herry Suprajitno, M.Si., selaku dosen pembimbing I, yang senantiasa penuh kesabaran, ketelitian dan keramahan dalam memberikan bimbingan berupa ilmu, arahan, waktu, semangat, serta masukan berupa kritik dan saran. vi
6. Semua Bapak dan Ibu dosen Fakultas Sains dan Teknologi khususnya Prodi S1 Matematika Universitas Airlangga, terima kasih telah memberikan banyak ilmu serta nasehat semasa kuliah. 7. Yang tercinta kedua orang tua, Bapak M.As ad Riady dan Ibu Nanik Mulyaningsih, serta seluruh keluarga besar penulis yang selalu memberikan dukungan, semangat, doa dan kasih sayangnya. 8. Teman-teman seperjuangan mahasiswa Matematika 2012 Universitas Airlangga atas dukungan dan kebersamaannya selama ini. 9. Serta semua pihak yang tidak dapat disebutkan, yang telah membantu terselesainya skripsi ini. Penulis berharap semoga skripsi ini dapat bermanfaat untuk semua pihak sebagai bahan pustaka dan penambah informasi khususnya bagi mahasiwa Universitas Airlangga. Tak ada gading yang tak retak, oleh karena itu penulis menyadari bahwa dalam penulisan proposal skripsi ini masih banyak kekurangan, sehingga saran dan kritik yang konstruktif sangat diharapkan agar skripsi ini bisa menjadi lebih baik lagi. Surabaya, April 2016 Fatimatus Zahro vii
Fatimatus Zahro, 2016, Penerapan Algoritma Cat Swarm Optimization (CSO) untuk menyelesaikan Multi-Depot Vehicle Routing Problem (MDVRP). Skripsi ini dibawah bimbingan Dr. Herry Suprajitno, M.Si dan Auli Damayanti, S.Si., M.Si. Departemen Matematika, Fakultas Sains dan Teknologi, Universitas Airlangga, Surabaya. ABSTRAK Penulisan skripsi ini bertujuan untuk menyelesaikan masalah Multi-Depot Vehicle Routing Problem dengan menggunakan algoritma Cat Swarm Optimization. Multi-Depot Vehicle Routing Problem (MDVRP) adalah suatu permasalahan dalam pembentukan rute untuk kendaraan yang digunakan melayani pelanggan yang berbasis pada suatu depot tertentu. Tujuan dari permasalahan ini adalah mendesain rute yang dapat meminimumkan jarak tempuh kendaraan untuk melayani pelanggan tanpa melanggar kendala kapasitas kendaraan dan kapasitas depot. Terdapat tiga tahapan dalam penyelesaian MDVRP yaitu grouping, routing, dan scheduling. Pada tahap grouping, pelanggan dikelompokkan tepat ke satu depot terdekat. Pada tahap routing, pelanggan pada masing-masing depot dibentuk kedalam rute pengiriman barang. Kemudian pada tahap scheduling, tahap ini merupakan tahap penjadwalan rute berdasarkan total jarak yang paling minimum. Algoritma CSO merupakan sebuah algoritma yang mengimitasi kebiasaan dari sekumpulan kucing dan model perilakunya untuk menyelesaikan permasalahan optimasi. Dalam algoritma CSO terdapat beberapa parameter yakni, parameter banyaknya kucing (m), seeking memory pool (smp), count dimension to change (cdc), seeking range dimension (srd), mixing ratio (mr), dan konstanta tracing (c). Program penyelesaian MDVRP menggunakan algoritma CSO dibuat dalam bahasa pemrograman C++ serta diimplementasikan pada tiga contoh kasus yaitu data kecil D01 dengan 4 depot dan 50 pelanggan, data sedang D02 dengan 5 depot dan 75 pelanggan, serta data besar D03 dengan 2 depot dan 100 pelanggan. Berdasarkan hasil implementasi didapatkan bahwa semakin besar maksimum iterasi maka solusi dari penyelesaian MDVRP semakin baik yaitu dengan total jarak tempuh minimum. Kata Kunci : Cat Swarm Optimization, Vehicle Routing Problem (VRP), Multi- Depot Vehicle Routing Problem (MDVRP) viii
Fatimatus Zahro, 2016, Penerapan Algoritma Cat Swarm Optimization (CSO) untuk menyelesaikan Multi-Depot Vehicle Routing Problem (MDVRP). This final project was supervised by Dr. Herry Suprajitno, M.Si and Auli Damayanti, S.Si., M.Si. Mathhematics Departement, Faculty of Science and Technology, Airlangga University, Surabaya. ABSTRACT This thesis aims to solve the problem of Multi-Depot Vehicle Routing Problem (MDVRP) using Cat Swarm Optimization Algorithm. Multi-Depot Vehicle Routing Problem (MDVRP) is a problem in the formation of the vehicles used to serve customers who are based in a particular depot. The purpose of this problem is to designing route that can minimize the mileage of the vehicle to serve customers without violating vehicle capacity constraints and capacity depot. There are three phases to solve MDVRP i.e. grouping, routing, and scheduling. At the grouping phase, customers are grouped right to a nearest depot. In routing phase, customers at each depot formed into a delivery route. Then the scheduling phase, these scheduling based on the number of minimum distance. CSO is a algorithm which imitates habit of cats and model of behavior to solve the optimization problems. The CSO algorithm have several parameters there are amount of cats, seeking memory pool (smp), count dimension to change (cdc), seeking range dimension (srd), mixing ratio (mr), dan konstanta tracing (c). MDVRP solution program using CSO algorithm was built using C++ programming language and implemented on the three sample cases that is small data D01 with 4 depot and 50 customers, a medium data D02 with 5 depot and 75 customers, and also a big data D03 with 2 depot and 100 customers. Based on the results of the implementation it was obtained the higher maximum iteration result the better MDVRP solution as indicated by minimum travel distances. Keyword: Cat Swarm Optimization, Vehicle Routing Problem (VRP), Multi- Depot Vehicle Routing Problem (MDVRP) ix
DAFTAR ISI Halaman LEMBAR JUDUL... LEMBAR PERNYATAAN... i ii LEMBAR PENGESAHAN NASKAH SKRIPSI... iii LEMBAR PEDOMAN PENGGUNAAN SKRIPSI... iv SURAT PERNYATAAN TENTANG ORISINALITAS... v KATA PENGANTAR... vi ABSTRAK... viii ABSTRACT... ix DAFTAR ISI... x DAFTAR GAMBAR... xiii DAFTAR TABEL... xv DAFTAR LAMPIRAN... xvii BAB I PENDAHULUAN... 1 1.1 Latar Belakang... 1 1.2 Rumusan Masalah... 4 1.3 Tujuan... 4 1.4 Manfaat... 5 1.5 Batasan Masalah... 5 BAB II TINJAUAN PUSTAKA... 6 2.1 Pemrograman Linier (Linear Programming)... 6 2.2 Graph... 8 x
2.3 Vehicle Routing Problem (VRP)... 11 2.4 Multi-Depot Vehicle Routing Problem (MDVRP)... 13 2.5 Algoritma... 18 2.6 Pengkodean... 18 2.7 Nilai Fitness... 19 2.8 Seleksi Roulette Wheel... 19 2.9 Algoritma Cat Swarm Optimization (CSO)... 20 2.9.1 Seeking Mode... 22 2.9.2 Tracing Mode... 24 2.10 Pemrograman C++... 25 BAB III METODE PENELITIAN... 28 BAB IV PEMBAHASAN... 34 4.1 Multi-Depot Vehicle Routing Problem (MDVRP)... 34 4.2 Cat Swarm Optimization (CSO)... 34 4.2.1 Input Data... 36 4.2.2 Inisialisasi Parameter... 37 4.2.3 Grouping... 37 4.2.4 Membangkitkan Populasi dan Kecepatan Awal Kucing... 39 4.2.5 Evaluasi Fungsi Tujuan... 42 4.2.6 Menentukan xbest... 44 4.2.7 Menentukan Self Position Considering ( )... 44 4.2.8 Penentuan Bendera (flag)... 45 4.2.9 Seeking Mode... 47 xi
4.2.10 Tracing Mode... 51 4.2.11 Penentuan Solusi Terbaik untuk Setiap Iterasi... 55 4.2.12 Menghitung Total Jarak Tempuh... 57 4.3 Data... 57 4.4 Penyelesaian Contoh Kasus MDVRP Data D01M Manual... 59 4.5 Program... 90 4.6 Implementasi Program Pada Contoh Kasus Multi-Depot Vehicle Routing Problem (MDVRP)... 90 4.6.1 Implementasi Pada Data Berukuran Kecil (D01)... 91 4.6.2 Implementasi Pada Data Berukuran Sedang (D02)... 93 4.6.3 Implementasi Pada Data Berukuran Besar (D03)... 94 BAB V KESIMPULAN DAN SARAN... 97 5.1 Kesimpulan... 97 5.2 Saran... 98 DAFTAR PUSTAKA... 99 LAMPIRAN xii
DAFTAR GAMBAR Gambar Judul Halaman 2.1 Contoh Graph 9 2.2 v 1, v 2, v 3, v 4, v 2 adalah walk 9 2.3 v 1, v 2, v 3, v 4, v 5 adalah path 9 2.4 Cycle v 1 v 2 v 3 v 1 10 2.5 Contoh Digraph 10 2.6 Contoh Graph Lengkap 11 2.7 Contoh Graph Berbobot 11 2.8 Contoh MDVRP dengan 2 depot dan 10 pelanggan 15 2.9 Langkah-langkah menyelesaikan MDVRP 16 4.1 Prosedur CSO untuk Menyelesaikan MDVRP 35 4.2 Prosedur Input Data 36 4.3 Prosedur Inisialisasi Parameter 37 4.4 Prosedur Grouping 38 4.5 Prosedur Membangkitkan Posisi Awal Kucing 39 4.6 Prosedur Membangkitkan Kecepatan Awal Kucing 40 4.7 Prosedur Transformasi Elemen Kucing i depot d 41 4.8 Prosedur Pembentukan Rute Awal Depot d 42 4.9 Prosedur Menghitung Fungsi Tujuan Kucing k Depot d 43 4.10 Prosedur Menentukan xbest Depot d 44 4.11 Prosedur Menentukan SPC Tiap Kucing 45 xiii
DAFTAR GAMBAR Gambar Judul Halaman 4.12 Prosedur Penentuan flag Setiap Kucing Pada Depot d 46 4.13 Prosedur Seeking Mode 47 4.14 Prosedur Modifikasi Pada j-tiruan Kucing Depot d 48 4.15 Prosedur Menghitung Probabilitas Terpilih (P i ) 49 4.16 Prosedur Roulette Wheel 50 4.17 Prosedur Menyimpan Solusi Terbaik Dari Seeking Mode 51 4.18 Memperbarui Kecepatan Pada Tracing Mode Depot d 52 4.19 Prosedur Memperbarui Posisi Pada Tracing Mode Depot d 53 4.20 Prosedur Perbandingan Fungsi Tujuan Baru dan Fungsi Tujuan Awal 54 4.21 Prosedur Menyimpan Solusi Terbaik Dari Tracing Mode 55 4.22 Prosedur Penentuan Solusi Terbaik untuk Setiap Iterasi 56 4.23 Prosedur Menghitung Total Jarak Tempuh 57 xiv
DAFTAR TABEL Tabel Judul Halaman 4.1 Pengelompokan Pelanggan 61 4.2 Posisi Awal Kucing Depot 0 63 4.3 Kecepatan Awal Kucing Depot 0 63 4.4 Pengurutan Bilangan Acak Posisi Awal Kucing Depot 0 64 4.5 Pembentukan Rute dan Perhitungan Jarak Depot 0 66 4.6 Nilai Fungsi Tujuan Posisi Awal Kucing 67 4.7 SPC Populasi Awal 67 4.8 Random Bilangan Real Sebanyak Kucing 68 4.9 Pengurutan Bilangan Hasil Random 69 4.10 Penempatan Flag 69 4.11 Proses Pengcopyan Individu 3 Sebanyak smp-1 Kali 70 4.12 Penentuan Dimensi untuk Modifikasi Kucing 3 Copy 1 71 4.13 Hasil Modifikasi Kucing 3 73 4.14 Pengurutan Bilangan Hasil Modifikasi Kucing Tiruan 3 73 4.15 Pembentukan Rute dan Perhitungan Jarak (X3) 74 4.16 Nilai Fitness Kucing Tiruan 3 75 4.17 Probabilitas Terpilih dan Probabilitas Relatif Kucing Tiruan 3 75 4.18 Probabilitas Kumulatif Kucing Tiruan 3 76 4.19 Hasil Modifikasi Kucing Tiruan 4 78 xv
DAFTAR TABEL Tabel Judul Halaman 4.20 Pembentukan Rute dan Perhitungan Jarak (X4) 78 4.21 Probabilitas Kumulatif Kucing Tiruan 4 79 4.22 Hasil Modifikasi Kucing Tiruan 1 80 4.23 Pembentukan Rute dan Perhitungan Jarak (X1) 81 4.24 Probabilitas Kumulatif Kucing Tiruan 1 82 4.25 Hasil Update Kecepatan dan Update Posisi 85 4.26 Pembentukan Rute dan Perhitungan Jarak X2 New 86 4.27 Pembentukan Rute dan Perhitungan Jarak X5 New 87 4.28 Hasil Running Program Pada Data D01 91 4.29 Solusi Terbaik Penyelesaian D01 92 4.30 Hasil Running Program Pada Data D02 93 4.31 Solusi Terbaik Penyelesaian D02 94 4.32 Hasil Running Program Pada Data D03 95 4.33 Solusi Terbaik Penyelesaian D03 96 xvi
DAFTAR LAMPIRAN Tabel Judul Lampiran 1. Flowchart Penerapan Algoritma Cat Swarm Optimization (CSO) Pada Multi-Depot Vehicle Routing Problem (MDVRP) 2. Flowchart Grouping 3. Data D01M (Data Manual) 4. Data D01 (Data Kecil) 5. Data D02 (Data Sedang) 6. Data D03 (Data Besar) 7. Source Code Program 8. Output Program Penyelesaian D01 9. Output Program Penyelesaian D02 10. Output Program Penyelesaian D03 11. User Interface Program xvii