12
TUGAS AKHIR SM 1330 PENYELESAIAN VEHICLE ROUTING PROBLEM WITH TIME WINDOWS (VRPTW) MENGGUNAKAN ALGORITMA ANT COLONY SYSTEM HARMERITA NRP 1202 100 006 Dosen Pembimbing Drs. Soetrisno, MIKomp JURUSAN MATEMATIKA Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember Surabaya 2007

PENYELESAIAN VEHICLE ROUTING PROBLEM WITH TIME … · KATA PENGANTAR Segala puji syukur penulis panjatkan ke hadirat Allah SWT, karena dengan ridlo-Nya penulis dapat menyelesaikan

Embed Size (px)

Citation preview

TUGAS AKHIR SM 1330 PENYELESAIAN VEHICLE ROUTING PROBLEM WITH TIME WINDOWS (VRPTW) MENGGUNAKAN ALGORITMA ANT COLONY SYSTEM HARMERITA NRP 1202 100 006 Dosen Pembimbing Drs. Soetrisno, MIKomp JURUSAN MATEMATIKA Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember Surabaya 2007

FINAL PROJECT SM 1330 THE COMPLETION OF VEHICLE ROUTING PROBLEM WITH TIME WINDOWS (VRPTW) USING ANT COLONY SYSTEM ALGORITHM HARMERITA NRP 1202 100 006

Supervisor Drs. Soetrisno, MIKomp DEPARTMENT OF MATHEMATICS Faculty of Mathematics and Natural Science Sepuluh Nopember Institute of Technology Surabaya 2007

LEMBAR PENGESAHAN

PENYELESAIAN VEHICLE ROUTING PROBLEM WITH TIME WINDOWS (VRPTW) MENGGUNAKAN

ALGORITMA ANT COLONY SYSTEM

TUGAS AKHIR Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Sains pada

Bidang Studi Ilmu Komputer Jurusan Matematika

Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember

Oleh :

HARMERITA NRP. 1202 100 006

Disetujui oleh Pembimbing Tugas Akhir : Drs. Soetrisno, MIKomp (…………………) NIP. 131 629 805

SURABAYA FEBRUARI, 2007

iii

PENYELESAIAN VEHICLE ROUTING PROBLEM WITH TIME WINDOWS (VRPTW) MENGGUNAKAN

ALGORITMA ANT COLONY SYSTEM

Nama Mahasiswa : Harmerita NRP : 1202 100 006 Jurusan : Matematika FMIPA-ITS Dosen Pembimbing : Drs. Soetrisno, MIKomp

Abstrak Vehicle Routing Problem with Time Windows (VRPTW)

merupakan permasalahan yang sering terjadi pada banyak sistem logistik. VRPTW adalah permasalahan bagaimana sebuah depot, pusat distribusi barang, dengan sejumlah kendaraan berkapasitas tertentu melayani sejumlah customer pada titik-titik lokasi terpisah, dengan permintaan dan batasan time window tertentu, dengan tujuan meminimalkan total biaya perjalanan, tanpa mengabaikan batasan kapasitas kendaraan dan time window depot. Desain rute dilakukan sedemikian hingga setiap customer hanya dikunjungi sekali oleh satu kendaraan, dan setiap kendaraan memulai dan mengakhiri rutenya pada depot.

Penyelesaian VRPTW dapat dilakukan menggunakan metode eksak atau heuristik. Dalam tugas akhir ini, VRPTW diselesaikan dengan menggunakan algoritma Ant Colony System (ACS), yang merupakan metode pendekatan meta-heuristik untuk permasalahan optimasi berbasis artificial intelligence yang berdasarkan pada observasi tingkah laku koloni semut nyata. Dari segi pandangan optimasi, satu hal yang terpenting dalam perilaku koloni semut nyata adalah perilaku mereka dalam mencari makanan. Lebih tepatnya, semut dapat menemukan jalur terpendek dalam mencari makanan dari sarang mereka ke sumber makanan dan sebaliknya.

Penyelesaian VRPTW menggunakan algoritma ACS ini diujicobakan pada Permasalahan Solomon (Solomon Benchmark Problem), yang merupakan standar permasalahan internasional untuk jenis VRPTW. Hasilnya menunjukkan bahwa algoritma ACS memberikan hasil yang mendekati optimal atau mendekati best known Solomon.

Kata Kunci: Vehicle Routing Problem (VRP), time windows, Ant

Colony System.

v

THE COMPLETION OF VEHICLE ROUTING PROBLEM WITH TIME WINDOWS (VRPTW) USING ANT COLONY

SYSTEM ALGORITHM

Name : Harmerita NRP : 1202 100 006 Department : Mathematics FMIPA-ITS Supervisor : Drs. Soetrisno, MIKomp Abtract

Vehicle Routing Problem with Time Windows (VRPTW) is a problem which mostly occurs in many logistic systems. VRPTW is actually a question about how a depot, a centre of good’s distribution, with certain capacity’s vehicle serves the costumers in many different spots, with dissimilar demand and time window constraint, whose intention is to minimize the total travel cost, without violating the vehicle capacity and depot time window constraints. The route design is done until each customer is only visited once by one vehicle; each vehicle begins its route from the depot and finishes it there.

The completion of VRPTW is done using exact or heuristic method. In this final project, VRPTW is done using Ant Colony System (ACS) algorithms, which is a meta-heuristic approach method for the optimizing problem with artificial intelligence basis which is based on the observation of the real ant colony behavior. One of the important things in the real ant colony behavior, seen from the optimizing view, is the way they search for a food. More specific, ants can find their shortest path during the food searching from their nest to the food source, vice versa.

This completion of VRPTW using ACS Algorithms is tested in a set of Solomon Problem (Solomon Benchmark Problem), which is an international problem standard for a kind of VRPTW. The result shows that ACS Algorithms give an outputs which is nearly optimal or nearly best know Solomon.

Keywords: Vehicle Routing Problem (VRP), time windows, Ant

Colony System

vi

KATA PENGANTAR

Segala puji syukur penulis panjatkan ke hadirat Allah SWT, karena dengan ridlo-Nya penulis dapat menyelesaikan laporan Tugas Akhir yang berjudul:

” PENYELESAIAN VEHICLE ROUTING PROBLEM WITH TIME WINDOWS (VRPTW) MENGGUNAKAN

ALGORITMA ANT COLONY SYSTEM ” Laporan Tugas Akhir ini disusun untuk memenuhi sebagian

persyaratan dalam memperoleh gelar Sarjana Strata 1 (S1) pada Jurusan Matematika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Teknologi Sepuluh Nopember Surabaya.

Pada kesempatan ini penulis ingin menyampaikan ucapan terima kasih yang dalam dan tulus kepada semua pihak yang telah membantu dan mendukung dalam pengerjaan Tugas Akhir ini, antara lain: 1. Bapak Drs. Soetrisno, MIKomp, selaku dosen pembimbing

yang telah memberikan bimbingan selama pengerjaan Tugas Akhir.

2. Ibu Dr. Erna Apriliani, M.Si, selaku dosen wali yang telah memberikan bimbingan dan pengarahan selama masa kuliah.

3. Bapak Drs. Lukman Hanafi, M.Sc, selaku Ketua Jurusan Matematika ITS

4. Ibu Dra. Mardlijah, MT, selaku Koordinator Tugas Akhir 5. Bapak Drs. Nurul Hidayat, MIKomp, Bapak Drs. Bandung

Arry S., MIKomp, dan Ibu Valeriana Lukitosari, S.Si,MT, selaku dosen penguji Tugas Akhir.

6. Bapak dan Ibu Dosen yang telah memberikan ilmunya selama penulis belajar serta para karyawan Jurusan Matematika ITS.

Penulis menyadari bahwa masih banyak kekurangan dan kelemahan dalam penyusunan Tugas Akhir ini. Untuk itu, penulis sangat mengharapkan kritik dan saran yang membangun guna perbaikan dan pengembangan selanjutnya. Semoga Tugas Akhir ini dapat bermanfaat bagi kita semua.

Penulis

vii

Tunai Sudah....! Tugas Akhir..., Hanyalah sekelumit masalah Untuk menunjukkan seberarti apakah dirimu Hanya semangat, usaha dan doalah Yang dapat membuktikannya... Selamat Mengerjakan TA.....!!!^_^

viii

DAFTAR ISI

JUDUL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i HALAMAN PENGESAHAN . . . . . . . . . . . . . . . . . . . . . . . iii ABSRAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v KATA PENGANTAR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix DAFTAR ISI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi DAFTAR GAMBAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii DAFTAR TABEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv BAB I. PENDAHULUAN . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1. Latar Belakang . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Rumusan Masalah . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3. Batasan Masalah . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4. Tujuan dan Manfaat . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.5. Metode Penelitian . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.6. Sistematika Penulisan. . . . . . . . . . . . . . . . . . . . . . . . 4

BAB II. LANDASAN TEORI. . . . . . . . . . . . . . . . . . . . . . . . 7 2.1. Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2. Vehicle Routing Problem(VRP) . . . . . . . . . . . . . . . 8 2.2.1. Formulasi Matematika VRP . . . . . . . . . . . . . . 11

2.2.2. Jenis-jenis VRP. . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.3. Metode-metode Penyelesaian VRP . . . . . . . . . . . 14

2.3. Vehicle Routing Problem With Time Windows (VRPTW) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.4. Ant Colony Optimization (ACO) . . . . . . . . . . . . . . 17 2.4.1. Perilaku Semut Nyata . . . . . . . . . . . . . . . . . . . . 17

2.4.2. Ant System (AS). . . . . . . . . . . . . . . . . . . . . . . . 19 2.4.3. Perbedaan Artificial Ants dan Semut Nyata. . . 21

2.5. Ant Colony System (ACS) . . . . . . . . . . . . . . . . . . . 22 2.5.1. ACS Transition Rule . . . . . . . . . . . . . . . . . . . . . 22

2.5.2. ACS Global Updating Rule . . . . . . . . . . . . . . . . 23 2.5.3. ACS Local Updating Rule . . . . . . . . . . . . . . . . . 23

2.6. Algoritma Insertion Move . . . . . . . . . . . . . . . . . . . . 24 BAB III. PENYELESAIAN VRPTW MENGGUNAKAN

ALGORITMA ACS . . . . . . . . . . . . . . . . . . . . . . . . 25

ix

3.1. Definisi Permasalahan . . . . . . . . . . . . . . . . . . . . . . 25 3.2. Algoritma ACS Untuk Penyelesaian VRPTW. . . . 27

3.2.1. Inisialisasi Pheromone . . . . . . . . . . . . . . . . . . . 28 3.2.1. Pembentukan Rute oleh semut . . . . . . . . . . . . . 31 3.2.3. Algoritma Insertion Move. . . . . . . . . . . . . . . . . 32 3.2.4. Update Pheromone Global . . . . . . . . . . . . . . . . 33

3.3. Proses Penyelesaian VRPTW . . . . . . . . . . . . . . . . 33 3.4. Contoh Permasalahan . . . . . . . . . . . . . . . . . . . . . . . 38

BAB IV. DESAIN DAN IMPLEMENTASI PERANGKAT LUNAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.1. Desain Perangkat Lunak . . . . . . . . . . . . . . . . . . . . 53 4.1.1. Desain Masukan . . . . . . . . . . . . . . . . . . . . . . . . 53 4.1.2. Desain Keluaran . . . . . . . . . . . . . . . . . . . . . . . . 55 4.1.3. Data Flow Diagram . . . . . . . . . . . . . . . . . . . . . 56

4.2. Implementasi Perangkat Lunak . . . . . . . . . . . . . . . 57 4.2.1. Pendefinisian Class Data Input . . . . . . . . . . . . 58 4.2.2. Implementasi Proses . . . . . . . . . . . . . . . . . . . . 58

BAB V. UJI COBA PERANGKAT LUNAK . . . . . . . . . . . 65 5.1. Permasalahan Solomon . . . . . . . . . . . . . . . . . . . . . . 65 5.2. Uji Coba Perangkat Lunak . . . . . . . . . . . . . . . . . . . 66

BAB VI. PENUTUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6.1. Kesimpulan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6.2. Saran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

DAFTAR PUSTAKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 LAMPIRAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

x

DAFTAR GAMBAR

Gambar 2.1 Graph G dengan 6 titik dan 7 garis . . . . . . . . . . 7 Gambar 2.2 Jenis Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Gambar 2.3 VRP dengan 12 Customer . . . . . . . . . . . . . . . . 10 Gambar 2.4 Contoh Solusi VRP . . . . . . . . . . . . . . . . . . . . . 10 Gambar 2.5 Gambaran VRPTW . . . . . . . . . . . . . . . . . . . . . . 17 Gambar 2.6 Pencarian Jalur Terpendek oleh Semut . . . . . . . 18 Gambar 2.7 Contoh Perpindahan Intra-route . . . . . . . . . . . . 24 Gambar 2.8 Contoh Perpindahan Inter-route . . . . . . . . . . . . 24 Gambar 3.1 Diagram Proses Pembentukan Rute dengan Nearest Neighbor. . . . . . . . . . . . . . . . . . . . . . . . 29 Gambar 3.2 Diagram Proses Filter Customer. . . . . . . . . . . . 30 Gambar 3.3 Diagram Proses Pembentukan Rute oleh Semut.. 32 Gambar 3.4 Diagram Proses Insertion Move. . . . . . . . . . . . . 33 Gambar 3.5 Diagram Proses Penyelesaian VRPTW

Menggunakan ACS . . . . . . . . . . . . . . . . . . . . . . 34 Gambar 3.6 Contoh Permasalahan. . . . . . . . . . . . . . . . . . . . . 36 Gambar 3.7 Solusi Rute Tiap Generasi. . . . . .. . . . . . . . . . . . 51 Gambar 4.1 Desain Tabel Penyimpanan Data Masukan VRPTW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Gambar 4.2 Desain Masukan Parameter ACS. . . . . . . . . . . . 54 Gambar 4.3 Desain Keluaran Perangkat Lunak . . . . . . . . . . 55 Gambar 4.4 Tombol Proses Pada Form Keluaran . . . . . . . . 55 Gambar 4.5 DFD Level 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Gambar 4.6 DFD Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Gambar 4.7 Script Definisi Class Customer dan Depot . . . . 58 Gambar 4.8 Script Pembentukan Solusi oleh Semut . . . . . . 59 Gambar 4.9 Script Update Pheromone Lokal . . . . . . . . . . . 59 Gambar 4.10 Script Pemilihan Customer oleh Semut . . . . . . 60 Gambar 4.11 Script Pengoptimalan Solusi dengan Insertion

Move . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Gambar 4.12 Script Update Pheromone Global . . . . . . . . . . . 62

xi

Gambar 4.13 Form Utama . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Gambar 4.14 Form Masukan Parameter ACS . . . . . . . . . . . . 63 Gambar 4.15 Form History Generasi . . . . . . . . . . . . . . . . . . . 64 Gambar 5.1 Input Parameter ACS . . . . . . . . . . . . . . . . . . . . 67 Gambar 5.2 Hasil Penyelesaian Permasalahan C201 dengan 25 Customer . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Gambar 5.3 Input Parameter ACS . . . . . . . . . . . . . . . . . . . . 71 Gambar 5.4 Hasil Penyelesaian Permasalahan R108 dengan 50 Customer . . . . . . . . . . . . . . . . . . . . . . . . . . 73

xii

DAFTAR TABEL

Tabel 2.1 Permintaan Barang . . . . . . . . . . . . . . . . . . . . . . . . 10 Tabel 3.1 Data Depot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Tabel 3.2 Data Customer . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Tabel 3.3 Matrik Jarak Antar Customer dan Depot . . . . . . . 36 Tabel 3.4 Nilai Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Tabel 3.5 Inisialisasi Jejak Pheromone Awal . . . . . . . . . . . 40 Tabel 3.6 Pemilihan Customer oleh Semut ke-2 Generasi 1. 43 Tabel 3.7 Hasil Update Pheromone Global Generasi 1 . . . . . 47 Tabel 3.8 Pemilihan Customer oleh Semut ke-1 Generasi 2.. 48 Tabel 3.9 Pemilihan Customer oleh Semut ke-2 Generasi 2.. 48 Tabel 3.10 Hasil Update Pheromone Global Generasi 2 . . . . . 51 Tabel 4.1 Parameter ACS . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Tabel 5.1 Permasalahan Solomon C201 dengan 25 Customer

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Tabel 5.2 Permasalahan Solomon R108 dengan 50 Customer

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Tabel 5.3 Perbandingan Hasil Best Known Solomon dengan

Best Test ACS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

xiii