algoritma improved ant colony optimization (iaco) …repository.unair.ac.id/25714/1/mpm 70 - 12 ros...

195
ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM SKRIPSI MUHAMMAD HARUN AR ROSYID PROGRAM STUDI S-1 MATEMATIKA DEPARTEMEN MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS AIRLANGGA 2012 ADLN Perpustakaan Universitas Airlangga Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem Muhammad Harun Ar Rosyid

Upload: ngohanh

Post on 26-Mar-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

ALGORITMA IMPROVED ANT COLONY OPTIMIZATION

(IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING

PROBLEM

SKRIPSI

MUHAMMAD HARUN AR ROSYID

PROGRAM STUDI S-1 MATEMATIKA

DEPARTEMEN MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS AIRLANGGA 2012

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 2: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

ii

ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO)

UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM

SKRIPSI

Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Sains Bidang Matematika

Pada Fakultas Sains dan Teknologi Universitas Airlangga

Disetujui Oleh :

Pembimbing I

Dr. Herry Suprajitno, M.Si NIP. 19680404 199403 1 020

Pembimbing II

Dr. Miswanto, M.Si NIP. 19680204 199303 1 002

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 3: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

iii

LEMBAR PENGESAHAN NASKAH SKRIPSI

Judul : Algoritma Improved Ant Colony Optimization (IACO)

untuk Menyelesaikan Vehicle Routing Problem

Penyusun : Muhammad Harun Ar Rosyid

Nomor Induk : 080810651 Tanggal Ujian : 10 Agustus 2012

Disetujui Oleh :

Pembimbing I

Dr. Herry Suprajitno, M.Si NIP. 19680404 199403 1 020

Pembimbing II

Dr. Miswanto, M.Si NIP. 19680204 199303 1 002

Mengetahui :

Ketua Program Studi S-1 Matematika Departemen Matematika

Fakultas Sains dan Teknologi Universitas Airlangga

Dr. Miswanto, M.Si

NIP. 19680204 199303 1 002

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 4: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

iv

PEDOMAN PENGGUNAAN SKRIPSI

Skripsi ini tidak dipublikasikan, namun tersedia di perpustakaan dalam

lingkungan Universitas Airlangga, diperkenankan untuk dipakai sebagai referensi

kepustakaan, tetapi pengutipan harus seijin penulis dan harus menyebutkan

sumbernya sesuai kebiasaan ilmiah. Dokumen skripsi ini merupakan hak milik

Universitas Airlangga.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 5: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

v

KATA PENGANTAR

Dengan menyebut asma Allah SWT yang Maha Pengasih dan Maha

Penyayang. Segala puji syukur tercurahkan kepada Allah SWT sumber inspirasi

kehidupan yang telah melimpahkan rahmat dan karunia-Nya sehingga dapat

terselesaikannya penulisan skripsi ini. Shalawat serta salam semoga senantiasa

tercurahkan kepada junjungan kita, Nabi Muhammad SAW, pemimpin sekaligus

sebaik-baiknya suri tauladan bagi kehidupan umat manusia, sehingga penulis

dapat menyelesaikan skripsi dengan judul “Algoritma Improved Ant Colony

Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem”.

Ucapan terima kasih disampaikan kepada:

1. Kedua orang tuaku Achmad Dahuri dan Siti Arliyah yang selalu memberikan

kasih dan sayang terbaiknya untukku dengan setulus hati. Skripsi ini

merupakan salah satu bentuk hormatku kepada orang tuaku.

2. Kakakku Nur Emey Kurniati dan adikku Nur Rohma Zamzami yang selalu

memberikan inspirasi dalam kehidupanku.

3. Dr. Miswanto, M.Si selaku Kepala Departemen Matematika Fakultas Sains

dan Teknologi Universitas Airlangga sekaligus sebagai dosen pembimbing II

yang telah memberikan banyak masukan, waktu, pikiran, dan semangat.

4. Dr. Herry Suprajitno, M.Si selaku dosen pembimbing I yang telah memberikan

banyak arahan, masukan, perhatian, tenaga, pikiran, rasa sabar yang begitu besar

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 6: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

vi

dan pengetahuan yang tidak ternilai harganya baik dalam bidang akademik

maupun pengetahuan agama.

5. Auli Damayanti, S.Si, M.Si dan Dra. Utami Dyah Purwati, M.Si selaku dosen

penguji I dan penguji II yang telah memberikan banyak masukan berupa kritikan

dan saran yang sangat bermanfaat demi perbaikan skripsi ini.

6. Dra. Inna Kuswandari, M.Si selaku dosen wali selama menjadi mahasiswa

Fakultas Sains dan Teknologi Universitas Airlangga yang telah banyak

memberikan arahan dan saran demi kesuksesan menjadi mahasiswa.

7. Sahabat terhebatku yang selalu menginspirasi dan memberikan motivasi

dalam bentuk apapun, I Putu Andeandika “thanks a lot for all of your support

and your help brother”, dan untuk sohib sekamar kos 3 tahunku, Abie Jaydin

“thanks a lot for your help and you give me many inspiration brother”.

8. Teman – teman seperjuangan, Safik, Rijal, Zuda, Anas, Adis, Yani, Andry,

Atok, dan Bimbim, kalianlah yang memberikan pengalaman hebat selama kuliah

serta sahabat-sahabatku semua mahasiswa Matematika FSainTek Universitas

Airlangga angkatan 2008 atas dukungan dan kebersamaannya selama ini yang

telah menjadi “keluarga baruku”, I wanna say, “YOU ARE GREAT

GUYS…!!!”.

9. Seorang perempuan berkerudung yang terlihat sangat anggun ketika

mengenakan style kerudung “Paris” nya, Vindya Ian Padmasari, S.T, “thanks so

much for your support and I hope u will be better woman with many story about

your success”.

10. “Master Suhu” pemrograman dan jaringan, Mas Koni dan Mas Azis, yang

memberikan pengetahuan yang lebih luas dalam hal komputasi.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 7: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

vii

11. Serta semua pihak yang tidak dapat disebutkan, yang telah membantu

terselesaikannya skripsi ini.

Penulis menyadari bahwa skripsi ini masih banyak terdapat kekurangan. Oleh

karena itu, penulis mengharapkan kritik dan saran yang membangun agar skripsi ini

dapat lebih baik lagi.

Surabaya, Juli 2012

Penyusun

Muhammad Harun Ar Rosyid

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 8: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

viii

Muhammad Harun Ar Rosyid, 2012. Algoritma Improved Ant Colony

Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem. Skripsi ini di bawah bimbingan Dr. Herry Suprajitno, M.Si, dan Dr. Miswanto, M.Si. Departemen Matematika. Fakultas Sains dan Teknologi. Universitas Airlangga.

ABSTRAK

Vehicle Routing Problem (VRP) merupakan salah satu masalah transportasi yang dapat digambarkan sebagai sekumpulan kendaraan yang memulai dan mengakhiri perjalanannya untuk melayani sejumlah customer pada pusat fasilitas yang dinamakan depot, dengan setiap customer mempunyai demand atau permintaan dan setiap kendaraan memiliki kapasitas kendaraan yang sama dan total jarak tempuh maksimum kendaraan. Penulisan skripsi ini bertujuan untuk menentukan rute yang optimal untuk sejumlah kendaraan sebagai solusi dari permasalahan vehicle routing problem dengan menggunakan algoritma Improved Ant Colony Optimization (IACO). Algoritma IACO merupakan ant colony optimization (algoritma semut) yang ditambah dengan proses mutasi dan local search untuk memperbaiki solusi. Algoritma ant colony optimization merupakan algoritma yang meniru perilaku semut dalam pencarian makanan dengan mencari rute perjalanan terpendek dimulai dari sarang hingga ke tempat makanan. Algoritma IACO mencakup lima proses dasar, yaitu proses inisialisasi parameter, konstruksi rute, proses mutasi, local search, dan proses update pheromone. Proses mutasi yang digunakan adalah reciprocal exchange, dan proses local search yang digunakan adalah local search 2-opt exchange. Data dari beberapa permasalahan vehicle routing problem yang mempunyai variasi pada banyaknya customer, kapasitas kendaraan, dan total jarak tempuh maksimum kendaraan diimplementasikan pada algoritma IACO. Program dibuat dengan bahasa pemrograman Java dan menggunakan software NetBeans IDE 7.0 untuk menerapkan algoritma IACO dalam pencarian solusinya. Berdasarkan perbandingan hasil untuk nilai parameter yang berbeda, semakin kecil nilai alpha, rho, dan konstanta Q, serta semakin besar nilai beta menghasilkan solusi yang lebih baik. Kata kunci : Algoritma IACO, Algoritma Semut, Vehicle Routing Problem, Mutasi,

Local Search.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 9: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

ix

Muhammad Harun Ar Rosyid, 2012. Improved Ant Colony Optimization (IACO)

Algorithm to solve Vehicle Routing Problem. This Skripsi is supervised by Dr. Herry Suprajitno, M.Si, and Dr. Miswanto, M.Si. Mathematics Department, Faculty of Science and Technology, Airlangga University.

ABSTRACT

Vehicle routing problem (VRP) is one of the transportation problem that can be described as a set of vehicles that start and end its journey to serve a customer at a facility called a depot, with every customer has a demand or request, and all of the vehicle has same capacity and maximum total distance of vehicle. The thesis aims to determine the optimal route for a number of vehicles as the solution of the problem of vehicle routing problem using Improved Ant Colony Optimization (IACO) algorithm. IACO algorithm is ant colony optimization (ant algorithm) which coupled with the process of mutation and local search to improve solutions. Ant colony optimization algorithm is an algorithm that mimics the behavior of ants in search of food by finding the shortest route starts from the nest to the food place. IACO algorithm includes five basic processes, namely the process of initialization parameters, construction of the route, the process of mutation, local search, and update the pheromone. Mutation process used is a reciprocal exchange, and the local search process used is a local search 2-opt exchange. Data from some of the problems of vehicle routing problem that has many variations on the customer, vehicle capacity, and maximum total distance of vehicle implemented on IACO. Programs created with the Java programming language and use the NetBeans IDE 7.0 software for implementing the solution in the search algorithm IACO. Based on the comparison of results for different parameter values, the smaller the value of alpha, rho, and the constant Q, and the greater the value of beta produces a better solution. Key words: IACO Algorithm, Ant Colony Optimization, Vehicle Routing Problem,

Mutations, Local Search.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 10: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

x

DAFTAR ISI

Halaman LEMBAR JUDUL ………………………………………....…… .....................i LEMBAR PERNYATAAN ....…………………………….……….. ................ii LEMBAR PENGESAHAN ……………………………………........ ...............iii LEMBAR PEDOMAN PENGGUNAAN SKRIPSI …….……….. ...................iv KATA PENGANTAR .......................................................................................v ABSTRAK .........................................................................................................viii ABSTRACK ......................................................................................................ix DAFTAR ISI ......................................................................................................x DAFTAR GAMBAR .........................................................................................xii DAFTAR TABEL .............................................................................................xiii BAB I PENDAHULUAN ................................................................................1

1.1 Latar Belakang ................................................................................1 1.2 Rumusan Masalah ...........................................................................3 1.3 Tujuan .............................................................................................3 1.4 Manfaat ...........................................................................................3

BAB II TINJAUAN PUSTAKA ........................................................................5 2.1 Graph ..............................................................................................5 2.2 Vehicle Routing Problem ................................................................6 2.2.1 Jenis-jenis Vehicle Routing Problem .....................................9 2.3 Algoritma ........................................................................................12 2.4 Optimisasi .......................................................................................13 2.5 Algoritma Ant Colony Optimization (ACO) ...................................13 2.6 Algoritma Improved Ant Colony Optimization (IACO) .................16 2.6.1 Konstruksi Rute .....................................................................14 2.6.2 Mutasi ....................................................................................17 2.6.3 Local Search ..........................................................................19 2.6.3.1 Metode 2-Opt ............................................................19 2.6.4 Update Pheromone ................................................................21

BAB III METODE PENELITIAN......................................................................22 BAB IV PEMBAHASAN ..................................................................................27 4.1 Prosedur Algoritma IACO .............................................................27 4.1.1 Prosedur Inisialisasi .............................................................27 4.1.2 Prosedur Konstruksi Rute .....................................................29 4.1.3 Prosedur Cek nilai_random ≤ Pm(t) ....................................33 4.1.4 Prosedur Mutasi ...................................................................35 4.1.5 Prosedur Local search .........................................................35 4.1.6 Prosedur Update pheromone ................................................36 4.2 Data ................................................................................................37 4.3 Penyelesaian Manual terhadap Permasalahan P01 ........................39 4.4 Implementasi Program pada Beberapa Permasalahan ...................44 4.4.1 Permasalahan P01 ................................................................44 4.4.2 Permasalahan P02 ................................................................45 4.4.3 Permasalahan P03 ................................................................47

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 11: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

xi

4.4.4 Permasalahan P04 ................................................................49 4.4.5 Permasalahan P05 ................................................................50 4.4.6 Permasalahan P06 ................................................................53 4.4.7 Permasalahan P07 ................................................................54 4.4.8 Permasalahan P08 ................................................................56 4.4.9 Permasalahan P09 ................................................................58 4.4.10 Permasalahan P10 ..............................................................61 4.4.11 Permasalahan P11 ..............................................................65 4.4.12 Permasalahan P12 ..............................................................66 4.4.13 Permasalahan P13 ..............................................................68 4.4.14 Permasalahan P14 ..............................................................70 4.5 Perbandingan Hasil untuk Nilai Parameter yang Berbeda .............72 BAB V KESIMPULAN DAN SARAN .............................................................75 DAFTAR PUSTAKA .........................................................................................76 LAMPIRAN

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 12: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

xii

DAFTAR GAMBAR

Gambar Judul Halaman 2.1 2.2 2.3 3.1 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13

Contoh penyelesaian VRP dengan 3 rute Percobaan yang dilakukan Goss et al. (1989)

Contoh metode 2-opt Flowchart dari algoritma IACO

Prosedur algoritma IACO Prosedur inisialisasi

Prosedur pengisian parameter Prosedur pengisian data pelanggan

Prosedur konstruksi rute Prosedur hitung nilai Pij(k)

Prosedur cek konstrain Prosedur pembentukan rute

Prosedur cek nilai_random ≤ Pm(t) Prosedur Pm(t) Prosedur mutasi

Prosedur local search Prosedur update pheromone

7 14 20 26 27 28 28 29 30 30 31 33 34 34 35 36 37

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 13: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

xiii

DAFTAR TABEL

Tabel Judul Halaman 2.1

2.2 4.1 4.2 4.3 4.4 4.5

Parameter yang digunakan pada model matematis dasar VRP

Indeks yang digunakan pada model matematis VRP Permasalahan VRP (Beasley, 1990)

Total jarak semua rute dengan pembanding alpha Total jarak semua rute dengan pembanding beta Total jarak semua rute dengan pembanding rho

Total jarak semua rute dengan pembanding konstanta Q

9 9 38 73 73 74 74

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 14: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

xiv

DAFTAR LAMPIRAN

No. Judul Lampiran 1. Data Permasalahan P01 2. Data Permasalahan P02 3. Data Permasalahan P03 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.

Data Permasalahan P04 Data Permasalahan P05 Data Permasalahan P06 Data Permasalahan P07 Data Permasalahan P08 Data Permasalahan P09 Data Permasalahan P10 Data Permasalahan P11 Data Permasalahan P12 Data Permasalahan P13 Data Permasalahan P14 Source code program Hasil Implementasi Program pada Permasalahan P01 Hasil Implementasi Program pada Permasalahan P02 Hasil Implementasi Program pada Permasalahan P03 Hasil Implementasi Program pada Permasalahan P04 Hasil Implementasi Program pada Permasalahan P05 Hasil Implementasi Program pada Permasalahan P06 Hasil Implementasi Program pada Permasalahan P07 Hasil Implementasi Program pada Permasalahan P08 Hasil Implementasi Program pada Permasalahan P09 Hasil Implementasi Program pada Permasalahan P10 Hasil Implementasi Program pada Permasalahan P11 Hasil Implementasi Program pada Permasalahan P12 Hasil Implementasi Program pada Permasalahan P13 Hasil Implementasi Program pada Permasalahan P14 Output program

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 15: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Perancangan sistem distribusi yang efektif dapat menghasilkan

penghematan biaya pengeluaran yang cukup signifikan bagi perusahaan. Potensi

penghematan biaya dapat dihasilkan dari distribusi produk ke beberapa lokasi

customer yang dikombinasikan ke dalam beberapa rute. Masalah pengoperasian

dan perencanaan yang berhubungan dengan pendistribusian barang dipengaruhi

oleh beberapa faktor seperti jangkauan area, biaya pengangkutan dan waktu yang

diperlukan untuk pengangkutan. Permasalahan pendistribusian barang tersebut

bertujuan meminimalkan beberapa sasaran pendistribusian dengan mengambil

asumsi untuk semua rute, kendaraan harus berangkat dan kembali pada pusat

fasilitas (Christofides et al., 1979).

Permasalahan untuk meminimalkan rute pendistribusian barang dengan

keterbatasan kapasitas kendaraan biasanya disebut dengan Vehicle Routing

Problem (VRP). VRP adalah suatu nama umum yang diberikan kepada suatu

permasalahan dengan satu set rute untuk sejumlah armada angkut atau kendaraan

yang berangkat dan kembali ke suatu tempat yang dinamakan dengan depot, yang

harus disebarkan untuk melayani beberapa pelanggan.

Masalah vehicle routing termasuk dalam permasalahan NP-hard (Non

Polynomial Hardness), yaitu suatu permasalahan yang membutuhkan komputasi

yang lama dalam mencari penyelesaian masalah yang optimal sehingga diperlukan

metode pencarian yang efektif untuk menyelesaikan permasalahan tersebut. Pada

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 16: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

2

umumnya solusi masalah vehicle routing diperoleh dengan metode heuristik, yaitu

metode yang digunakan untuk mencari solusi melalui semua kemungkinan yang

ada, tetapi dalam pencariannya tidak bisa dijamin akan ditemukan solusi yang

terbaik, sehingga metode ini biasanya disebut dengan metode perkiraan. Salah

satu metode heuristik yang digunakan adalah Ant Colony Optimization (ACO)

(Christofides et al. (1979); Foulds (1984)).

Jika dengan memisalkan depot pusat sebagai sarang dan customer sebagai

makanan, maka VRP sangat mirip dengan perilaku pencarian makanan (food-

seeking) oleh koloni semut yang terjadi di alam. Hal ini membuat pengkodean

ACO untuk VRP cukup sederhana. Pada studi yang dilakukan oleh Bullnheimer

et al. (1997) menunjukkan sebuah algoritma hybrid ant system dengan

menggunakan prosedur local search 2-opt exchange dan algoritma saving untuk

VRP yang mampu memperbaiki kualitas dari solusi awal yang diperoleh dari

algoritma semut. Dalam ACO, 2-opt exchange digunakan untuk memperbaiki

solusi dalam rute-rute yang telah ditemukan oleh masing-masing kendaraan.

Pada skripsi ini akan dibahas masalah vehicle routing yang bertujuan

menentukan rute yang optimal untuk sejumlah kendaraan yang akan beroperasi

mendistribusikan barang ke sejumlah pelanggan. Rute yang terbentuk diharapkan

menghasilkan total jarak yang minimum sehingga akan menghemat biaya

transportasi untuk pendistribusian barang. Dari uraian di atas, penulis tertarik

untuk menyelesaikan masalah vehicle routing dengan menggunakan algoritma

improved ant colony optimization, yaitu algoritma yang dibentuk dengan

menambahkan proses mutasi dan local search sebelum proses update pheromone

ke dalam algoritma ACO. Dengan adanya proses mutasi dan local search,

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 17: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

3

algoritma IACO mempunyai kelebihan, yaitu mampu menemukan solusi optimal

dari solusi awal yang terbentuk pada proses konstruksi rute.

1.2 Rumusan Masalah

Berdasarkan uraian latar belakang di atas, maka permasalahan yang akan

dibahas dalam skripsi ini adalah:

1. Bagaimana menyelesaikan vehicle routing problem (VRP) dengan

menggunakan algoritma Improved Ant Colony Optimization (IACO) ?

2. Bagaimana membuat program komputer untuk menyelesaikan VRP

dengan algoritma IACO ?

3. Bagaimana menerapkan program ke dalam contoh kasus ?

1.3 Tujuan

Dalam penulisan skripsi ini, penulis mempunyai tujuan sebagai berikut:

1. Menyelesaikan vehicle routing problem (VRP) dengan menggunakan

algoritma Improved Ant Colony Optimization (IACO)

2. Membuat program komputer untuk menyelesaikan VRP dengan algoritma

IACO

3. Menerapkan program ke dalam contoh kasus

1.4 Manfaat

Adapun manfaat yang nantinya akan didapatkan adalah sebagai berikut:

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 18: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

4

1. Dari hasil skripsi ini nantinya, diharapkan dapat menjadi referensi

alternatif metode penyelesaian yang dapat digunakan untuk menyelesaikan

VRP dalam kehidupan nyata.

2. Diharapkan pula dapat menjadi bahan pertimbangan dan perbandingan

untuk penerapan algoritma lainnya pada VRP yang dapat mendukung

perkembangan ilmu pengetahuan dan teknologi pada masa mendatang.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 19: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

5

BAB II

TINJAUAN PUSTAKA

Dalam penulisan ini, diperlukan definisi maupun informasi guna

memperdalam materi dan mempermudah dalam pembuatan penulisan, diantaranya

sebagai berikut:

2.1 Graph

Pada bagian ini, definisi diambil dari buku karya Chartrand dan

Oellerman (1993).

Definisi 2.1 Graph G didefinisikan sebagai himpunan berhingga V(G) yang tidak

kosong yang anggotanya disebut titik (vertice) dan himpunan E(G) yang

mungkin kosong, yang anggotanya terdiri dari pasangan dua elemen yang

berbeda dari V(G) dan disebut garis (edge). Elemen dari V(G) dinotasikan

dengan iv dan elemen dari E(G) dinotasikan dengan jivv dan kadang

dinotasikan dengan ie . Jika terdapat garis e yang menghubungkan titik iv

dan jv maka iv dikatakan terhubung (adjacent) dengan jv dalam hal ini

titik iv dan jv dikatakan insiden dengan e .

Definisi 2.2 Order dari graph G adalah banyaknya titik-titik pada graph G,

dinotasikan |V(G)|.

Definisi 2.3 Perjalanan (walk) dari graph G adalah urutan secara bergantian titik-

titik elemen |V(G)| dan garis-garis elemen E(G) yang terbentuk :

W : v0, e1, v1, e2, v2, …, vn-1, en, vn, (n ≥ 0)

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 20: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

6

Yang dimulai dan diakhiri dengan titik, sehingga setiap garis incident

dengan titik sebelumnya dan sesudahnya.

Definisi 2.4 Path adalah walk dimana tidak ada titik yang diulang (titiknya tidak

boleh berulang).

Definisi 2.5 Sikel (cycle) adalah walk v0, v1, …, vn, n ≥ 3, dengan v0 = vn, dan

titik-titik v1, v2, …, vn semuanya berbeda. Dengan kata lain sikel adalah

path tertutup. Sikel dengan panjang n mempunyai n titik.

Definisi 2.6 Misalkan u dan v titik-titik dalam graph G, u dikatakan terhubung

(connected) pada v jika terdapat path u-v.

Definisi 2.7 Graph G dikatakan terhubung (connected) jika setiap dua titiknya

dihubungkan oleh suatu path.

Definisi 2.8 Graph lengkap (complete graph) adalah suatu graph dengan order p

dimana setiap dua titik yang berbeda selalu adjacent.

2.2 Vehicle Routing Problem (VRP)

Vehicle routing problem berkaitan dengan penentuan rute optimal untuk

permasalahan lebih dari satu kendaraan (vehicle) dengan kapasitas tertentu untuk

mengunjungi sejumlah pelanggan dengan permintaannya masing-masing. Rute

yang terbentuk harus dimulai dan diakhiri di suatu tempat yang disebut depot.

Setiap pelanggan dikunjungi hanya satu kali dan total permintaan semua

pelanggan dalam satu rute tidak melebihi kapasitas kendaraan yang melayani rute

tersebut. Contoh penyelesaian VRP diberikan pada Gambar 2.1.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 21: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

7

Gambar 2.1 Contoh penyelesaian VRP dengan 3 rute

Menurut Toth dan Vigo (2002), secara matematis VRP dapat dinyatakan

sebagai suatu digraph G = (V, A) dengan V = {0, 1, …, n} adalah himpunan

simpul yang menunjukkan lokasi pelanggan dan A = {(i, j) | i, j V, i ≠ j} yaitu

himpunan sisi berarah yang menyatakan jalan penghubung lokasi pelanggan.

Simpul 0 menunjukkan depot, yaitu tempat menyimpan kendaraan yang

digunakan untuk distribusi dan merupakan tempat dimulai dan diakhirinya suatu

rute kendaraan. Banyaknya kendaraan yang tersedia di depot adalah K dengan

kapasitas kendaraan adalah Q. Setiap pelanggan i memiliki permintaan sebanyak

qi.

Tujuan dari VRP adalah menentukan rute yang optimal untu`k sejumlah

kendaraan maka VRP dapat dimodelkan dalam bentuk sebagai berikut (Toth dan

Vigo, 2002):

n n ∑∑∑

1

0

0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 22: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

8

dengan kendala:

1. Setiap pelanggan hanya dikunjungi satu kali:

∑∑ 1

1

0

1,2,…, ≠

2. Kendaraan yang sama akan mengunjungi dan meninggalkan setiap pelanggan:

0

0

0 1,2,…, 0,1,…,

3. Terdapat K kendaraan yang beroperasi yang berawal dari depot:

∑ 0

1

1 1,2,…,

4. Total permintaan dari setiap kota dalam rute yang dilalui setiap kendaraan

tidak boleh melebihi kapasitas muatan kendaraan:

∑∑

1

1,2,…,

5. Total jarak dari rute yang dilalui setiap kendaraan tidak boleh melebihi jarak

tempuh maksimal kendaraan yang diberikan:

∑∑

0

0

1,2,…,

dengan:

{1, 0

n n n n n

(2.7)

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 23: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

9

Tabel 2.1 Parameter yang digunakan pada model matematis dasar VRP

Notasi Keterangan

xijk Kendaraan k melayani kota j setelah mengunjungi kota i

dij Jarak antara kota i dengan kota j

qi Permintaan dari kota i

W Kapasitas maksimum dari kendaraan

E Jarak tempuh maksimum kendaraan

Tabel 2.2 Indeks yang digunakan pada model matematis VRP

Notasi Keterangan

i Indeks kota awal

j Indeks kota tujuan

k Indeks kendaraan

2.2.1 Jenis-jenis Vehicle Routing Problem

Dalam penggunaan VRP untuk dunia nyata, banyak faktor sampingan yang

muncul. Faktor-faktor tersebut berpengaruh pada munculnya variasi dari VRP,

antara lain:

1. Capacitated VRP (CVRP), dengan faktor: Setiap kendaraan punya

kapasitas yang terbatas.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 24: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

10

CVRP adalah sebuah VRP dimana sejumlah kendaraan dengan kapasitas

tertentu yang harus melayani sejumlah permintaan pelanggan yang telah

diketahui untuk satu komoditas dari sebuah depot dengan biaya

minimum. Pada dasarnya CVRP sama seperti VRP dengan faktor

tambahan yaitu setiap kendaraan mempunyai kapasitas tertentu untuk

satu komoditas. CVRP bertujuan meminimalisasi jumlah kendaraan dan

total waktu perjalanan, dan total permintaan barang untuk tiap rute tidak

melebihi kapasitas kendaraan yang melewati rute tersebut.

2. VRP with Time Windows (VRPTW), dengan faktor: Setiap pelanggan

harus disuplai dalam jangka waktu tertentu.

3. Mulitple Depot VRP (MDVRP), dengan faktor: Distributor memiliki

banyak depot untuk menyuplai pelanggan.

Sebuah perusahaan yang memiliki lebih dari satu depot, dan pelanggan-

pelanggannya tersebar di sekitar depot-depot yang ada, maka masalah

pendistribusiannya harus dimodelkan menjadi sebuah kumpulan dari

VRP-VRP yang independen. Namun, jika pelanggan dan depot-depot

tidak terkumpul secara teratur maka masalahnya menjadi Multi-Depot

VRP atau MDVRP. Sebuah MDVRP membutuhkan pengaturan para

pelanggan ke depot-depot yang ada. Setiap kendaraan berangkat dari satu

depot melayani pelanggan-pelanggan yang sudah ditentukan oleh depot

tersebut, dan kembali lagi ke depot tersebut. Tujuan utama dari MDVRP

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 25: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

11

adalah untuk melayani semua pelanggan, sementara jumlah kendaraan

dan jarak perjalanan diminimalisasi.

4. VRP with Pick-Up and Delivering (VRPPD), dengan faktor: Pelanggan

mungkin mengembalikan barang pada depot asal.

VRPPD adalah sebuah VRP dimana pelanggan mengembalikan barang

yang sudah diantarkan. Barang yang dikembalikan dapat dimasukkan ke

dalam kendaraan pengantar. Perencanaan pengantaran menjadi lebih sulit

dan dapat mengakibatkan penyalahgunaan kapasitas kendaraan,

memperbesar jarak perjalanan atau kendaraan yang diperlukan lebih dari

yang seharusnya. Seluruh permintaan pengantaran dimulai dari depot dan

seluruh permintaan penjemputan dibawa kembali ke depot, sehingga

tidak ada pertukaran barang antar pelanggan.

5. Split Delivery VRP (SDVRP), dengan faktor: Pelanggan dilayani dengan

kendaraan berbeda.

SDVRP adalah perluasan VRP dimana setiap pelanggan dapat dilayani

dengan kendaraan yang berbeda bilamana biayanya dapat dikurangi.

Perluasan ini dapat dilaksanakan jika jumlah permintaan pelanggan sama

dengan kapasitas kendaraan. Tujuan dari SDVRP untuk

meminimalisasikan jumlah kendaraan dan total waktu perjalanan untuk

pelayanan.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 26: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

12

6. Stochastic VRP (SVRP), dengan faktor: Munculnya random values

(seperti jumlah pelanggan, jumlah permintaan, waktu pelayanan atau

waktu perjalanan).

Untuk mendapatkan solusi dari SDVRP, maka masalah harus dibagi

dalam dua tahap, solusi pada tahap pertama ditentukan sebelum variable

random diketahui. Pada tahap kedua pengoreksian dilakukan jika nilai

dari variable random sudah diketahui.

7. Periodic VRP (PVRP), dengan faktor: Pengantaran hanya dilakukan di

hari tertentu.

PVRP merupakan VRP yang digeneralisasi dengan memperluas rentang

perencanaan pengiriman menjadi M hari, dari semula hanya dalam

rentang sehari, dengan tujuan meminimalisasi jumlah kendaraan dan total

waktu perjalanan untuk melayani tiap pelanggan.

(Tarigan, 2008)

2.3 Algoritma

Penjelasan mengenai algoritma akan dijelaskan pada definisi berikut.

Definisi 2.9 Algortima merupakan suatu himpunan aturan atau instruksi yang

telah dirumuskan dengan baik (well – defined) dengan masukan

khusus (spesific input) untuk memperoleh keluaran khusus (spesific

output) dalam langkah – langkah yang jumlahnya berhingga.

(Chartrand dan Oellerman, 1993)

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 27: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

13

2.4 Optimisasi

Optimisasi adalah suatu proses untuk mencapai hasil yang optimal (nilai

efektif yang dapat dicapai). Dalam disiplin matematika optimisasi merujuk pada

studi permasalahan yang mencoba untuk mencari nilai minimal atau maksimal

dari suatu fungsi riil. Untuk dapat mencapai nilai optimal baik minimal atau

maksimal tersebut, secara sistematis dilakukan pemilihan nilai variabel integer

atau riil yang akan memberikan solusi optimal.

(Wardy, 2007)

2.5 Algoritma Ant Colony Optimization (ACO)

Pada tahun 1989, Goss et al. membuat percobaan dengan menggunakan

spesies semut Iridomyrmex Humilis (semut Argentina). Percobaan itu untuk

menunjukkan kemampuan kerjasama semut mendapatkan jalan terpendek menuju

sumber makanan dengan bantuan pheromone yaitu zat kimia yang berasal dari

kelenjar endokrin dan digunakan makhluk hidup untuk mengenali sesama jenis

dalam satu spesies. Percobaan tersebut seperti terlihat pada Gambar 2.2.

Pada Gambar 2.2, semut 1 dan semut 2 meninggalkan sarang pada waktu

yang sama. Semut-semut tersebut sampai pada titik pilihan 1 bersama-sama dan

membuat keputusan dengan probabilitas yang sama untuk memilih cabang. Semut

1 memilih cabang yang lebih pendek dan mencapai sumber makanan lebih dulu

(melalui titik A), mengambil makanan dan kembali lagi ke sarang. Ketika kembali

pada titik pilihan 2, semut tersebut mendeteksi pheromone pada cabang yang lebih

pendek (pheromone yang ditaruh oleh semut 1 itu sendiri pada saat perjalanan

menuju sumber makanan) dan dengan probabilitas yang tinggi untuk memilih

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 28: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

14

cabang itu kembali. Pada cabang yang lebih jauh tidak mengandung pheromone di

dekat titik percabangan karena semut yang memilihnya (termasuk semut 2) belum

sampai pada titik pilihan 2. Pada akhirnya kedua semut pada saat menuju dan dari

sumber makanan akan mengambil jalan yang lebih pendek dengan probabilitas

yang tinggi dan pheromone yang ada pada cabang yang lebih panjang tidak diberi

penguatan lagi karena tidak ada semut yang menaruh pheromone dijalur tersebut

sehingga pheromone akan menguap dan semut akan berjalan pada jalan yang

paling pendek.

(Gaertner, 2004)

Sarang

Titik pilihan 1 Titik A

Titik pilihan 2

Sumber makanan

Titik B

Semut 1

Semut 2

Gambar 2.2 Percobaan yang dilakukan Goss et al. (1989)

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 29: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

15

Dari percobaan yang digambarkan pada Gambar 2.2 disusun sebuah

algoritma untuk mencari solusi dari sebuah permasalahan optimalisasi

kombinatorik yang dinamakan Ant Colony Optimization (ACO). ACO secara

umum terdapat sejumlah populasi semut buatan (ant) yang melakukan sebuah

perjalanan untuk membentuk solusi dari sebuah permasalahan optimalisasi

kombinatorik. Algoritma ini menyatakan permasalahan ke dalam sebuah graph,

ant melakukan perjalanan pada setiap cabang dari node satu ke node yang lain

sehingga membentuk suatu path yang merupakan representasi dari solusi pada

permasalahan tersebut.

Langkah-langkah ACO:

1. Inisialisasi parameter, yaitu:

Tetapan pengendali intensitas pheromone α ≥ 0 , betha β ≥ 0), nilai

pheromone awal antara node i dan node j ( ij), koefisien penguapan ( ),

jarak antara node i dan node j (dij), jumlah semut atau kendaraan, jumlah

node atau pelanggan, jumlah siklus atau iterasi, dan kostanta Q (Q > 0).

2. Menempatkan sejumlah ant pada node awal

3. Mengisi tabu list dengan cara menghitung nilai probabilitas dari node awal

ke node yang akan dikunjungi. Tabu list adalah tempat yang disediakan

untuk penyiimpanan sementara dari solusi – solusi yang dihasilkan pada

tiap iterasi. Persamaan untuk menentukan nilai probabilitas sebagai

berikut:

( ) [ ]

[

1 ]

∑ [ ] [

1 ]

n

(2.8)

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 30: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

16

keterangan:

pij(t) = probabilitas dari node i ke node j disaat t

4. Menghitung panjang perjalanan.

Setelah semua semut menyelesaikan satu siklus selanjutnya dihitung

panjang perjalanan. Indeks s menyatakan indeks urutan perjalanan, node

asal dinyatakan tabuk (s) dan node – node lainnya dinyatakan sebagai {N-

tabuk}. Menghitung panjang perjalanan dengan rumusan sebagai berikut:

n 1 ∑ 1 n - 1 1 (2.9)

5. Perbaruhi matrik pheromone

( 1) ( ) ∑

1 (2.10)

dengan adalah perubahan harga pheromone antar node setiap semut

yang dihitung berdasarkan persamaan

{

t ( , ) n a a tab

0, t ( , ) a a (2.11)

6. Apabila siklus maksimum atau kondisi stagnan belum terpenuhi, maka

kosongkan tabu list dan kembali ke langkah 2. Apabila siklus maksimum

atau kondisi stagnan telah terpenuhi maka iterasi berakhir. Kondisi stagnan

yaitu kondisi semua ant melakukan tour yang sama.

(Dorigo et al., 1996)

2.6 Algoritma Improved Ant Colony Optimization

Dalam jurnal karya Bin et al. (2008) dijelaskan bahwa algoritma IACO

adalah algoritma ACO yang telah dimodifikasi dengan menyertakan proses mutasi

dan local search sebelum proses update pheromone.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 31: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

17

2.6.1 Konstruksi Rute

Pada ACO, seekor semut disimulasikan sebagai kendaraan, dan semut

tersebut membentuk sebuah rute, rute tersebut terdiri dari pelanggan-pelanggan

(kota) yang terpilih oleh semut tersebut. Pelanggan-pelanggan yang sudah

dikunjungi oleh seekor semut akan disimpan dalam tabu list. Dalam pengambilan

keputusan seekor semut k memilih pelanggan (kota) j setelah mengunjungi

pelanggan (kota) i menggunakan formula probabilitas sebagai berikut:

( ) {

0 (2.12)

dengan ( ) adalah probabilitas semut k memilih pelanggan (kota) j setelah

mengunjungi pelanggan (kota) i pada sebuah rute ke-k, adalah feromon jarak

pelanggan i ke pelanggan j, adalah visibilitas dari jarak pelanggan i ke

pelanggan j dan nilai diperoleh dari 1

dimana dij adalah jarak

pelanggan i ke pelanggan j, dan adalah masing-masing pengendali intensitas

jejak semut dan pengendali visibilitas jarak pelanggan i ke pelanggan j (α ≥ 0, β ≥

0) , dan adalah himpunan dari pelanggan-pelanggan yang tidak boleh dipilih

oleh semut k.

(Bin et al., 2008)

2.6.2 Mutasi

Dalam algoritma genetik, definisi tentang mutasi adalah sebagai berikut.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 32: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

18

Definisi 2.10 Mutasi merupakan proses perubahan sebagian sifat individu

secara random yang menghasilkan struktur genetik baru.

(Obitko, 1998)

Ada beberapa jenis mutasi yang didefinisikan Obitko (1998), diantaranya:

a. Mutasi Inversi (inversion Mutation)

Memilih dua posisi dalam kromosom secara acak dan kemudian membalik

untaian diantara dua posisi itu.

b. Mutasi Sisipan (Insertion Mutation)

Memilih gen secara acak dan menyisipkannya di posisi acak.

c. Mutasi perpindahan (Displacement Mutation)

Memilih sebuah subtour secara acak dan memasukkannya pada posisi lain

secara acak.

d. Reciprocal Exchange Mutation

Memilih dua posisi gen secara acak kemudian menukar gen pada kedua posisi

tersebut.

Pada algoritma IACO, proses mutasi yang digunakan adalah reciprocal

exchange mutation. Berikut adalah langkah-langkah dari proses reciprocal

exchange mutation menurut Bin et al. (2008):

Langkah 1 Pilih dua rute secara acak dari parent solution. Kemudian pilih

satu kota atau customer dari masing-masing rute yang terpilih.

Langkah 2 Tukar posisi dari kedua kota atau customer yang terpilih pada

langkah 1.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 33: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

19

Definisi 2.11 Laju mutasi ( mp ) adalah prosentase dari jumlah individu

dalam populasi yang dimutasi.

(Gen dan Cheng, 1997)

Probabilitas mutasi yang digunakan oleh Bin et al. (2008) adalah sebagai berikut:

( ) n (

n)

1 (2.13)

dimana ( ) adalah probabilitas mutasi pada iterasi ke-t, n adalah tingkat

probabilitas mutasi terendah yang didefinisikan dengan persamaan n

1n

dengan n adalah jumlah semua pelanggan (kota), adalah tingkat probabilitas

mutasi tertinggi yang didefinisikan dengan persamaan

1n

dengan n adalah

jumlah rute yang terbentuk pada solusi, t adalah iterasi saat ini, dan T adalah

iterasi maksimum yang diberikan.

(Bin et al., 2008)

2.6.3 Local Search

Metode untuk mengidentifikasi sebuah solusi dari suatu permasalahan

dengan mempertimbangkan solusi-solusi potensial yang tersedia sampai

ditemukan satu solusi yang memenuhi kriteria.

(Stützle, 1998)

2.6.3.1 Metode 2-Opt

Algoritma 2-opt merupakan salah satu algoritma local search yang

mengeliminasi arc / jalur yang bersilangan pada suatu rute tunggal dengan cara

mengambil 2 jalur lalu menghubungkan kembali keempat vertex / lokasi

pelanggan yang berdekatan.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 34: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

20

Misalkan diberikan suatu rute c0, c1, c2, … , k, c0. Untuk setiap kombinasi

pelanggan ci, cj dengan i < j; i,j {1, 2, … ,k − 1} akan diperiksa apakah jalur dari

ci−1 ke cj dan dari ci ke cj+1 lebih baik daripada jalur awal dari ci−1 ke ci dan dari cj

ke cj+1. Jika demikian, bentuk jalur baru dari ci ke cj dan dilanjutkan untuk

kombinasi lainnya yang tersisa. Setelah semua kombinasi diperiksa, maka urutan

kunjungan diperbaiki sesuai urutan perbaikan yang diperoleh. Jadi, jika urutan

sebelum perbaikan adalah sebagai berikut:

c0, c1, c2, … , i−1, ci, ci+1, ci+2,… , j−1, cj, cj+1, …, k, c0.

maka setelah perbaikan menjadi:

c0, c1, c2, … , i−1, cj, cj−1, cj−2,… , i+1, ci, cj+1, cj+2,…, k, c0.

Gambar 2.3 Contoh metode 2-opt

Contoh metode 2-opt dapat dilihat pada Gambar 2.3. Pada gambar

tersebut, pelanggan i+1 yang dilayani setelah pelanggan i diubah menjadi

pelanggan yang dilayani setelah pelanggan j+1, sedangkan pelanggan setelah j+1

yaitu j dilayani setelah pelanggan i+1. Hal ini dilakukan dengan mengganti sisi (i,

i+1) dan (j+1, j) berturut-turut dengan sisi (i, j+1) dan (i+1, j).

(Konig, 2008)

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 35: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

21

2.6.4 Update Pheromone

Pada proses update pheromone ini menggunakan persamaan sebagai

berikut :

n

0, 1 (2.14)

dengan n adalah feromon jarak pelanggan (kota) i ke pelanggan (kota) j setelah

diupdate, adalah feromon jarak pelanggan (kota) i ke pelanggan (kota) j

sebelum diupdate, adalah konstanta yang mengontrol kecepatan evaporasi dan

, k menunjukkan suatu rute, K adalah jumlah semua rute pada solusi

dan K > 0, dan adalah total perubahan feromon jarak pelanggan (kota) i ke

pelanggan (kota) j pada rute ke-k yang dihitung berdasarkan persamaan

{

n n n 0 n nn

(2.15)

dimana Q adalah sebuah konstanta positif (Q > 0), L adalah total jarak semua rute

pada solusi, adalah total jarak pada rute ke-k, adalah jarak pelanggan i ke

pelanggan j, dan adalah banyaknya pelanggan pada rute ke-k.

(Bin et al., 2008)

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 36: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

22

BAB III

METODE PENELITIAN

Adapun langkah-langkah yang digunakan dalam penulisan ini adalah

sebagai berikut:

1. Studi pustaka mengenai vehicle routing problem, algoritma ACO, dan

algoritma IACO.

2. Menerapkan algoritma IACO dalam menyelesaikan vehicle routing problem

dengan langkah (secara ringkas disajikan dalam Gambar 3.1) sebagai berikut:

a. Inisialisasi

Proses ini adalah menginputkan data-data yang akan dimasukkan, antara

lain jumlah kendaraan (K), jumlah pelanggan atau kota (N), jarak tempuh

maksimum kendaraan (E), kapasitas maksimum kendaraan (W),

pengendali intensitas jejak semut ( ), pengendali visibilitas jarak kota i ke

kota j konstanta pengontrol kecepatan penguapan jejak semut (ρ),

konstanta Q, feromon awal (τawal), jarak setiap pelanggan (dij), permintaan

setiap pelanggan (qi), dan total iterasi (T). Dengan mengacu pada jurnal

Bin et al (2008), nilai α = 2, β = 1, Q = 1000, dan ρ = 0,8.

b. Konstruksi rute

Langkah-langkah proses konstruksi rute adalah sebagai berikut:

i. Posisi awal vehicle atau semut ada di depot.

ii. Memilih semut atau vehicle pertama yang selanjutnya vehicle tersebut

memilih pelanggan-pelanggan (kota) mana yang akan dilalui atau

dilayaninya dan berakhir di depot (posisi awal) sehingga nantinya

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 37: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

23

akan membentuk suatu rute. Hal ini juga berlaku untuk semut atau

vehicle selanjutnya.

iii. Untuk memilih pelanggan-pelanggan mana yang akan dipilihnya,

setiap vehicle menggunakan formula

iv. Rute yang terbentuk haruslah sesuai dengan constraints di bawah ini:

1. Total jarak setiap rute yang terbentuk harus kurang dari atau

sama dengan ( ≤ ) jarak tempuh maksimum kendaraan (E).

2. Total demand dari pelanggan-pelanggan yang ada pada rute

yang terbentuk haruslah kurang dari atau sama dengan ( ≤ )

kapasitas maksimum kendaraan (W)

c. Cek nilai_random ≤ Pm(t)

Pada proses ini, nilai Pm(t) ditentukan dengan menggunakan persamaan

2.13. Langkah-langkah pada proses ini adalah sebagai berikut:

i. Pilih dua rute berbeda secara acak.

ii. Bangkitkan nilai random riil [0, 1] pada masing-masing pelanggan

di setiap rute yang terpilih.

iii. Cek apakah ada nilai random ≤ Pm(t) pada setiap pelanggan.

iv. Jika pada setiap rute yang terpilih tadi terdapat sekurang-

kurangnya satu pelanggan yang mempunyai nilai random ≤ Pm(t),

maka lanjutkan ke proses mutasi, atau jika tidak ada pelanggan

yang mempunyai nilai random ≤ Pm(t), maka lanjutkan ke proses

local search.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 38: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

24

d. Mutasi

Berikut ini adalah langkah-langkah dari proses mutasi:

i. Pilih satu pelanggan dengan nilai random ≤ Pm(t) pada setiap rute

yang terpilih pada proses (c) tadi.

ii. Jika terdapat lebih dari satu pelanggan di setiap rute terpilih yang

mempunyai nilai random ≤ Pm(t), maka pilih pelanggan dengan nilai

random ≤ Pm(t) terkecil pada setiap rute terpilih.

iii. Setiap rute terpilih harus ada satu kota untuk ditukar.

iv. Tukar kedua pelanggan yang terpilih pada langkah (ii).

v. Selesai.

e. Local Search

Proses ini dilakukan pada solusi yang terbentuk dari proses konstruksi rute

jika proses mutasi diabaikan, atau dilakukan pada setiap solusi yang

terbentuk dari proses mutasi. Proses local search ini bertujuan untuk

menemukan solusi yang lebih baik dari solusi yang terbentuk pada proses

konstruksi rute maupun dari solusi yang terbentuk pada proses mutasi. Jika

solusi yang terbentuk pada proses local search ini infeasible, maka solusi

diabaikan dan solusi yang dipakai adalah solusi pada proses konstruksi

rute.

Berikut ini adalah langkah-langkah dari proses local search:

i. Tukar posisi pelanggan baru dengan posisi pelanggan yang ada pada

rute baru.

ii. Hitung total jarak rute pada setiap perpindahan posisi pelanggan.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 39: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

25

iii. Pilih susunan posisi pelanggan dengan total jarak rute terkecil sebagai

solusi.

f. Update Pheromone

Proses update pheromone dilakukan setelah proses local search. Proses ini

bertujuan untuk mengurangi jumlah pheromone pada semua link seperti

proses evaporasi atau penguapan pheromone, dan untuk memastikan

bahwa tidak ada satu jalur yang menjadi terlalu dominan.

g. Maximum iterasi

Jika iterasi sudah mencapai iterasi maksimum, maka proses berhenti dan

dipilih solusi terbaik dari vehicle routing problem. Apabila iterasi belum

mencapai iterasi maksimum, proses dilanjutkan kembali pada langkah b.

3. Membuat program untuk menyelesaikan vehicle routing problem dengan

algoritma IACO.

4. Mengimplementasikan program yang telah dibuat pada beberapa

permasalahan.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 40: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

26

Gambar 3.1 Flowchart dari algoritma IACO.

Mulai

Inisialisasi

Konstruksi Rute

Local Search

Update Pheromone

Cek Iterasi_Max ?

Selesai Ya Tidak

Mutasi

Ya

Tidak Cek nilai_random ≤

Pm(t) ?

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 41: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

27

BAB IV

PEMBAHASAN

Pada bab ini dijelaskan penggunaan algoritma improved ant colony

optimization (IACO) untuk menyelesaikan vehicle routing problem dengan tujuan

mengoptimalkan rute kendaraan.

4.1 Prosedur Algoritma IACO

Berdasarkan Bin et al (2009), prosedur dari algoritma IACO ditunjukkan

pada Gambar 4.1.

Prosedur Algoritma IACO mulai

inisialisasi() untuk t dari 1 sampai dengan iterasi_max

lakukan konstruksi_rute() lakukan cek nilai_random ≤ Pm(t) lakukan mutasi() lakukan local_search()

lakukan update_pheromone() jika (t < iterasi_max) maka,

kembali ke proses konstruksi_rute() jika (t = iterasi_max) maka,

cetak solusi terbaik selesai selesai

Gambar 4.1 Prosedur algoritma IACO

4.1.1 Prosedur Inisialisasi

Prosedur inisialisasi terdiri dari pengisian parameter dan pengisian data

pelanggan yang disajikan pada Gambar 4.2.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 42: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

28

Prosedur inisialisasi mulai pengisian parameter() pengisian data pelanggan() selesai

Gambar 4.2 Prosedur inisialisasi

Dalam prosedur pengisian parameter, nilai E atau jarak tempuh maksimum

kendaraan mempunyai dua kemungkinan. Kemungkinan yang pertama adalah

nilai E = 0, artinya dalam pemilihan kota yang akan dikunjungi hanya

memperhatikan batasan kapasitas maksimum kendaraan (W), dan W pasti positif

(W > 0). Kemungkinan yang kedua adalah nilai E positif (E > 0), artinya dalam

pemilihan kota yang akan dikunjungi, batasan yang harus diperhatikan adalah

kapasitas maksimum kendaraan (W) dan total jarak tempuh maksimum kendaraan

(E). Pada parameter service duration, nilai tersebut berarti bahwa durasi

pelayanan pada setiap kota yang dikunjungi, dan nilai tersebut diimplementasikan

atau ditambahkan ke dalam jarak di setiap kota. Prosedur pengisian parameter

disajikan pada Gambar 4.3.

Prosedur pengisian parameter mulai jumlah kendaraan = nV jarak tempuh maksimum kendaraan = E kapasitas maksimum kendaraan = W pengendali intensitas jejak semut = alpha pengendali visibilitas jejak semut = beta konstanta pengontrol kecepatan penguapan jejak semut = rho konstanta Q = Q feromon awal = thau total iterasi = iterasi_max service duration = serviceDuration selesai

Gambar 4.3 Prosedur pengisian parameter

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 43: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

29

Prosedur pengisian data pelanggan dibedakan menjadi 2 tipe, yakni posisi

pelanggan dengan koordinat x dan y, dan posisi pelanggan yang tidak ditentukan

dengan koordinat x dan y. Posisi pelanggan yang tidak ditentukan dengan

koordinat x dan y berarti jarak antar pelanggan sudah diketahui. Prosedur

pengisian data pelanggan disajikan pada Gambar 4.4.

Prosedur pengisian data pelanggan mulai jumlah pelanggan = nC jika (posisi pelanggan = koordinat (x,y)) maka, untuk i dari 0 sampai dengan nC posisi pelanggan i pada koordinat X = xi posisi pelanggan i pada koordinat Y = yi permintaan pelanggan i = qi set matriks jarak()

selesai jika yang lain maka,

untuk i dari 0 sampai dengan nC permintaan pelanggan i = qi untuk j dari 0 sampai dengan nC jika (i = j) maka, jarak pelanggan i ke pelanggan j = d(i,j) = 0 jika yang lain maka, jarak pelanggan i ke pelanggan j = d(i,j) > 0 selesai selesai selesai Gambar 4.4 Prosedur pengisian data pelanggan

4.1.2 Prosedur Konstruksi Rute

Prosedur konstruksi rute bertujuan untuk membentuk rute-rute pada setiap

kendaraan dengan memperhatikan batasan kapasitas kendaraan dan total jarak rute

kendaraan yang diinputkan. Prosedur ini meliputi proses hitung Pij(k), cek

konstrain, dan pembentukan rute yang disajikan pada Gambar 4.5.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 44: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

30

Prosedur konstruksi rute mulai hitung nilai Pij(k)() cek konstrain() pembentukan rute()

selesai

Gambar 4.5 Prosedur konstruksi rute

Pij(k) adalah suatu nilai probabilitas untuk semut k memilih kota j setelah

mengunjungi kota i. Prosedur hitung nilai Pij(k) bertujuan untuk menghitung nilai

probabilitas Pij(k) setiap pelanggan yang belum terpilih dan nantinya nilai tersebut

dijumlahkan secara komulatif. Setelah itu, dibangkitkan satu nilai random riil

antara 0 sampai dengan 1. Jika nilai random tersebut masuk dalam area Pij(k)

komulatif, maka pilih kota dengan nilai Pij(k) terpilih tersebut. Prosedur hitung

Pij(k) disajikan pada Gambar 4.6

Prosedur hitung nilai Pij(k) mulai nAvCity = kota yang belum terpilih set kotaAwal = 0 untuk i dari 0 sampai dengan nAvCity-1 hitung nilai PijkAvCity sumPIJK += PijkAvCity RANDOM = nilai random antara 0 sampai dengan 1 jika RANDOM <= sumPIJK maka kotaTujuan = i selesai selesai selesai

Gambar 4.6 Prosedur hitung nilai Pij(k)

Pada prosedur hitung nilai Pij(k), formula yang digunakan dalam

perhitungan nilai PijkAvCity adalah

, dengan adalah feromon jarak

kota i ke kota j, adalah visibilitas dari jarak kota i ke kota j ≤ dan

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 45: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

31

nilai diperoleh dari

dimana dij adalah jarak kota i ke kota j, dan adalah

masing-masing pengendali intensitas jejak semut dan pengendali visibilitas jarak

kota i ke kota j ( ≥ 0, ≥ 0) , dan adalah himpunan dari kota-kota yang

tidak boleh dipilih oleh semut k.

Prosedur cek konstrain bertujuan untuk memeriksa apakah pelanggan yang

terpilih dari proses hitung Pij(k) memenuhi batasan kapasitas kendaraan dan total

jarak maksimal kendaraan yang diinputkan. Jika pelanggan yang terpilih tidak

melanggar batasan atau konstrain yang diinputkan maka pelanggan tersebut

terpilih untuk dilayani oleh kendaraan. Proses cek konstrain disajikan pada

Gambar 4.7.

Prosedur cek konstrain

mulai jika (E > 0) maka untuk i dari 0 sampai dengan nAvCity-1 kotaTujuan = indexRW[PijkAvCity] jika (mJarak[kotaAwal][kotaTujuan]+serviceDuration < E dan

q[kotaTujuan] ≤ W dan (E - (mJarak[kotaAwal][kotaTujuan] + serviceDuration)) ≥ (mJarak[kotaTujuan][0])) maka

E mJarak[kotaAwal][kotaTujuan]+serviceDuration W q[kotaTujuan] jika (q[kotaTujuan] > W dan mJarak[kotaAwal][kotaTujuan]

+ serviceDuration > E) maka set kotaTujuan = 0 selesai selesai jika yang lain (E = 0) maka untuk I dari 0 sampai dengan nAvCity-1 kotaTujuan = indexRW[PijkAvCity] jika (q[kotaTujuan] < W) maka W q[kotaTujuan] jika yang lain (q[kotaTujuan] > W) maka set kotaTujuan = 0 selesai selesai

selesai

Gambar 4.7 Prosedur cek konstrain

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 46: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

32

Pada prosedur cek konstrain di atas, variabel

mJarak[kotaAwal][kotaTujuan] adalah jarak antara kota saat ini (kotaAwal) ke

kota yang akan dikunjungi (kotaTujuan). Variabel q[kotaTujuan] adalah variabel

yang menunjukkan demand kota yang akan dikunjungi (kotaTujuan). Syarat

mJarak[kotaAwal][kotaTujuan] + serviceDuration < E berarti jarak kota tujuan

tidak boleh melebihi atau sama dengan total jarak maksimum kendaraan saat ini.

Syarat q[kotaTujuan] ≤ W berarti demand kota tujuan tidak boleh melebihi

kapasitas kendaraan saat ini. Syarat E − (mJarak[kotaAwal][kotaTujuan] +

serviceDuration) ≥ mJarak[kotaTujuan][0] berarti total jarak maksimum

kendaraan setelah mengunjungi kota tujuan harus lebih dari atau sama dengan

jarak kota tujuan ke depot. Variabel kotaTujuan = indexRW[PijkAvCity] berarti

kota tujuan diperoleh dari prosedur hitung nilai Pij(k) yaitu kotaTujuan = i.

Prosedur pembentukan rute bertujuan untuk list pelanggan-pelanggan yang

terpilih untuk dilayani oleh setiap kendaraan. List ini disebbut dengan rute-rute

yang terbentuk pada proses konstruksi rute. Proses pembentukan rute disajikan

pada Gambar 4.8.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 47: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

33

Prosedur pembentukan rute mulai set solusi = linkedlist baru set ant = linkedlist baru set kotaAwal = 0 AvCIty = kota-kota yang belum terpilih kotaTujuan = konstrain(AvCity, kotaAwal) jika (kotaTujuan != 0) maka ant.add(kotaTujuan) AvCity.remove(AvCity.indexOf(kotaTujuan)) kotaAwal = kotaTujuan selesai ketika (kotaTujuan != 0) lakukan solusi.add(ant)

selesai selesai

Gambar 4.8 Prosedur pembentukan rute

4.1.3 Prosedur Cek nilai_random ≤ Pm(t)

Pada proses ini, dilakukan pengecekan apakah terdapat nilai random riil

yang dibangkitkan kurang dari atau sama dengan Pm. Jika ada, maka proses akan

dilanjutkan ke proses mutasi. Jika tidak ada, maka proses akan dilanjutkan pada

proses local search. Variabel-variabel yang digunakan adalah rute1, rute2,

random01, kota_rute1, kota_rute2, Pm. Variabel rute1 adalah rute kesatu hasil

pemilihan secara acak pada hasil konstruksi_rute(), dan variabel rute2 adalah rute

kedua hasil pemilihan secara acak pada hasil konstruksi_rute(). Variabel

random01 adalah nilai random riil antara 0 sampai dengan 1 sebanyak kota pada

dua rute terpilih. Variabel kota_rute1 adalah kota-kota yang ada pada rute1, dan

kota_rute2 adalah kota-kota yang ada pada rute2. Prosedur cek nilai_random ≤

Pm(t) disajikan pada Gambar 4.9.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 48: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

34

Prosedur cek nilai_random ≤ Pm(t)

mulai proses hitung Pm(t) untuk i dari 1 sampai n_rute1 untuk j dari 1 sampai n_rute2

kota_rute1(i) = random(0,1) kota_tute2(j) = random(0,1) jika kota_rute1(i) ≤ Pm(t) maka, jika kota_rute2(j) ≤ Pm(t) maka, pilih index_kota_rute1(i) pilih index_kota_rute2(j) proses mutasi() jika yang lainnya maka, proses local_search() selesai selesai

selesai

Gambar 4.9 Prosedur cek nilai_random ≤ Pm(t)

Pada prosedur cek nilai_random ≤ Pm(t) di atas, terdapat variabel Pm(t),

dimana variabel tersebut adalah probabilitas nilai mutasi. Perhitungan variabel Pm(t)

menggunakan suatu formula yang akan disajikan pada prosedur Pm(t). Prosedur Pm(t)

bertujuan untuk menghitung nilai Pm(t) pada setiap iterasi yang nantinya digunakan

untuk memeriksa apakah ada nilai random yang dibangkitkan pada proses mutasi yang

kurang dari atau sama dengan Pm(t). Prosedur Pm(t) disajikan pada Gambar 4.10.

Prosedur Pm(t) mulai untuk t dari 1 sampai dengan iterasi_max hitung nilai Pm(t) selesai

Gambar 4.10 Prosedur Pm(t)

Pada prosedur Pm(t) di atas, formula yang digunakan untuk perhitungan

Pm(t) adalah

(

)

, dengan nC adalah jumlah semua kota,

nV adalah jumlah semua kendaraan, dan t adalah iterasi saat ini. Jadi, bisa

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 49: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

35

diketahui bahwa nilai Pm(t) pada setiap iterasi tidak akan sama karena bergantung

pada nilai t.

4.1.4 Prosedur Mutasi

Proses mutasi dilakukan jika pada proses 4.1.3 terdapat nilai_random yang

kurang dari atau sama dengan Pm(t). Proses mutasi ini bertujuan untuk

memperbaiki dan menemukan kemungkinan adanya solusi yang lebih optimal

daripada solusi yang terbentuk pada proses konstruksi rute. Prosedur mutasi

disajikan pada Gambar 4.11.

Prosedur mutasi() mulai untuk i dari 1 sampai n_rute1 untuk j dari 1 sampai n_rute2

kota_rute1(i) = random(0,1) kota_tute2(j) = random(0,1) jika kota_rute1(i) ≤ Pm(t) maka, jika kota_rute2(j) ≤ Pm(t) maka, pilih index_kota_rute1(i) pilih index_kota_rute2(j) swap1 = index_kota_rute1(i) swap2 = index_kota_rute2(j)

swap1 = swap2 swap2 = swap1 hitung total Demand rute baru 1 & 2 jika totalDemand[ruteBaru 1 & 2] > W maka clear proses mutasi lakukan local search () selesai

selesai selesai

Gambar 4.11 Prosedur mutasi

4.1.5 Prosedur Local Search

Prosedur local search bertujuan untuk menCari dan menemukan susunan

rute yang lebih optimal daripada susunan rute pada proses mutasi dengan menukar

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 50: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

36

posisi pelanggan hasil dari swap pada proses mutasi dengan posisi pelanggan pada

masing-masing rute. Prosedur local search disajikan pada Gambar 4.12.

Prosedur local search mulai untuk i dari 0 sampai dengan n_rute1 untuk j dari 0 sampai dengan n_rute2 tukar posisi swap1 dengan posisi pelanggan pada rute2 hingga semua kemungkinan posisi swap1 habis tukar posisi swap2 dengan posisi pelanggan pada rute1

hingga semua kemungkinan posisi swap2 habis hitung total jarak rute1 dan rute2 setiap perubahan posisi pelanggan pilih posisi dan total rute terkecil pada rute1 dan rute2 selesai selesai

Gambar 4.12 Prosedur local search

Prosedur local search ini dilakukan setelah proses mutasi dan dilakukan

jika tidak ada nilai random yang kurang dari atau sama dengan Pm(t) pada proses

cek nilai_random ≤ Pm(t).

4.1.6 Prosedur Update Pheromone

Prosedur update pheromone ini bertujuan untuk memperbaharui

pheromone pada garis yang menghubungkan tiap-tiap pelanggan. Prosedur update

pheromone disajikan pada Gambar 4.13.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 51: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

37

Prosedur update pheromone

mulai untuk i dari 0 sampai dengan nV untuk j dari 0 sampai dengan nV jika pelanggan j tidak dilayani dari pelanggan i maka hitung nilai feromonBaru1 jika pelanggan j dilayani dari pelanggan i maka hitung nilai feromonBaru2 selesai selesai selesai

Gambar 4.13 Prosedur update pheromone

Pada prosedur update pheromone di atas, formula untuk perhitungan

feromonBaru1 adalah dan untuk perhitungan feromonBaru2 adalah

, dengan

adalah feromon jarak pelanggan (kota) i ke

pelanggan (kota) j sebelum diupdate, adalah konstanta yang mengontrol

kecepatan evaporasi dan , k menunjukkan suatu rute ke-k, K adalah

jumlah semua rute pada solusi dan K > 0, Q adalah sebuah konstanta positif (Q >

0), L adalah total jarak semua rute pada solusi, adalah total jarak pada rute ke-

k, adalah jarak pelanggan i ke pelanggan j, dan adalah banyaknya

pelanggan pada rute ke-k.

4.2 Data

Data yang digunakan adalah data yang diambil dari Beasley (1990). Data

tersebut terdiri dari 14 permasalahan seperti pada Tabel 4.1.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 52: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

38

Tabel 4.1 Permasalahan VRP (Beasley, 1990)

No. Nama Permasalahan (jumlah kota, kapasitas kendaraan)

1. P01 (50, 160) (Lampiran 1)

2. P02 (75, 140) (Lampiran 2)

3. P03 (100, 200) (Lampiran 3)

4. P04 (150, 200) (Lampiran 4)

5. P05 (199, 200) (Lampiran 5)

6. P06 (50, 160) (Lampiran 6)

7. P07 (75, 140) (Lampiran 7)

8. P08 (100, 200) (Lampiran 8)

9. P09 (150, 200) (Lampiran 9)

10. P10 (199, 200) (Lampiran 10)

11. P11 (120, 200) (Lampiran 11)

12. P12 (100, 200) (Lampiran 12)

13. P13 (120, 200) (Lampiran 13)

14. P14 (100, 200) (Lampiran 14)

Data secara lengkap 14 permasalahan VRP tersebut dapat dilihat pada

Lampiran 1 sampai dengan Lampiran 14.

Berikut penjelasan mengenai data yang ditunjukkan pada Lampiran 1

sampai dengan Lampiran 14. Pada setiap permasalahan terdapat kolom i, x, y, d,

dan q. Dimana i adalah nomor dari pelanggan (kota), x adalah posisi pelanggan

pada koordinat x, y adalah posisi pelanggan pada koordinat y, d adalah service

duration, dan q adalah Demand (permintaan) pelanggan. Pada setiap

permasalahan juga terdapat jumlah kendaraan yang tersedia, total jarak maksimal

kendaraan, dan kapasitas maksimal kendaraan. Permalahan tersebut akan

diselesaikan dengan algoritma IACO.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 53: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

39

4.3 Penyelesaian Manual terhadap Permasalahan P01

Proses penyelesaiannya pada langkah-langkah sebagai berikut:

1) Inisialisasi / input parameter

Jumlah semut / kendaraan = 5

Jumlah kota = 50

Jarak maksimal kendaraan = 0

Kapasitas kendaraan = 160

Alpha = 2

Beta = 1

Rho = 0,8

Pheromon awal = 0,1

Total iterasi = 1

Konstanta Q = 1000

Service duration = 0

2) Konstruksi rute

Pada proses ini, posisi awal semut ada di depot atau kota ke-0. Setelah

itu, probabilitas Pij(k) dihitung sesuai dengan kota yang masih tersedia.

Nilai probabilitas Pij(k) dijumlahkan komulatif, dan bangkitkan satu

bilangan random riil antara 0 sampai dengan 1. Cek masuk area

probabilitas Pij(k) komulatif manakah nilai random tersebut, kemudian

pilih kota yang mempunyai probabilitas Pij(k) terpilih.

Proses pemilihan kota seperti ini digunakan sama untuk kota-kota

tujuan selanjutnya oleh tiap semut. Sebelum memilih kota tersebut, cek

kapasitas kendaraan dan total jarak maksimal kendaraan saat ini apakah

masih bisa untuk melayani kota tersebut. Jika masih bisa, pilih kota

tersebut untuk dilayani, dan jika tidak bisa, pilih kota ke-0 atau depot

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 54: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

40

untuk mengakhiri rute perjalanan. Berikut adalah rute yang terbentuk pada

proses konstruksi rute. Perlu diketahui bahwa proses looping dimulai dari

0, sehingga rute pertama adalah rute ke-0. Begitu juga dengan posisi kota

pada masing-masing rute.

Rute ke-0 >> 0 5 9 18 44 41 46 24 21 29 1 0 => Jarak =

259.6214192919143, dengan Demand = 152.0

Rute ke-1 >> 0 2 20 22 4 27 6 23 38 11 0 => Jarak = 185.66400754681,

dengan Demand = 155.0

Rute ke-2 >> 0 47 25 40 19 42 39 31 3 28 8 0 => Jarak =

236.60222730370072, dengan Demand = 160.0

Rute ke-3 >> 0 12 49 45 48 32 13 30 37 35 36 0 => Jarak =

328.03740614747, dengan Demand = 160.0

Rute ke-4 >> 0 17 10 50 16 7 14 15 33 34 26 43 0 => Jarak =

307.00905540849993, dengan Demand = 150.0

Total jarak semua rute = 1316.934115698395

3) Proses cek nilai_random ≤ Pm(t)

Pada proses ini, pilih dua rute secara acak pada hasil konstruksi

rute. Kemudian, bangkitkan nilai random riil antara 0 sampai dengan 1

pada tiap-tiap kota di dua rute tersebut. Hitung nilai Pm(t). Setelah itu, cek

apakah ada nilai random pada masing-masing rute tersebut yang kurang

dari atau sama dengan Pm(t). Jika ada, lanjutkan ke proses mutasi, dan jika

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 55: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

41

tidak ada lanjutkan ke proses local search. Berikut adalah hasil proses cek

nilai_random ≤ Pm(t).

Dua rute terpilih : rute ke-3 dan rute ke-2

Nilai random = 0.04421966130602539 pada kota urutan ke- 10 (rute ke-3)

Nilai random = 0.021042125952723256 pada kota urutan ke- 3 (rute ke-2)

Pm = 0.2

Kesimpulan: Terjadi mutasi.

4) Proses mutasi

Proses mutasi ini bertujuan untuk menukar masing-masing posisi

kota yang terpilih pada proses cek nilai_random di atas. Setelah posisi

ditukar, cek total Demand dan jarak pada kedua rute baru tersebut. Jika

salah satu dari total jarak dan Demand tersebut yang melebihi total jarak

maksimal kendaraan dan kapasitas kendaraan, maka solusi pada proses

mutasi ini diabaikan, dan solusi yang dipakai adalah solusi pada proses

konstruksi rute di atas. Berikut adalah hasil proses mutasi.

Index semut 1 (rute ke- 3) adalah kota urutan ke- 10

Index semut 2 (rute ke- 2) adalah kota urutan ke- 3

Setelah diswap:

Rute ke-0 >> 0 5 9 18 44 41 46 24 21 29 1 0 => Jarak =

259.6214192919143, dengan Demand = 152.0

Rute ke-1 >> 0 2 20 22 4 27 6 23 38 11 0 => Jarak = 185.66400754681,

dengan Demand = 155.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 56: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

42

Rute ke-2 >> 0 47 25 36 19 42 39 31 3 28 8 0 => Jarak =

332.9907519469181, dengan Demand = 159.0

Rute ke-3 >> 0 12 49 45 48 32 13 30 37 35 40 0 => Jarak =

400.83494709147897, dengan Demand = 161.0

Rute ke-4 >> 0 17 10 50 16 7 14 15 33 34 26 43 0 => Jarak =

307.00905540849993, dengan Demand = 150.0

Total jarak semua rute = 1486.1201812856216

Dari hasil di atas, setelah proses penukaran posisi dapat dilihat

perubahan jumlah jarak dan demand di kedua rute tersebut. Karena jumlah

demand dari rute ke-3 adalah 161.0 dan jumlah tersebut melebihi kapasitas

kendaraan, maka solusi yang terbentuk pada proses mutasi diabaikan.

5) Proses local search

Proses local search dilakukan jika proses mutasi berhasil ataupun

tidak. Selain itu juga, local search dilakukan jika tidak ada nilai random

yang dibangkitkan kurang dari atau sama dengan Pm(t) pada proses cek

nilai_random. Karena proses mutasi di atas tidak berhasil, maka proses

local search dimulai dari awal yakni dengan memilih dua rute dengan total

jarak terbesar pada hasil dari konstruksi rute, dan memilih dua kota secara

acak masing-masing pada dua rute tersebut. Berikut adalah hasil dari

proses local search.

Dua rute terpilih :

i. Rute ke-3 dengan total jarak = 328.03740614747

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 57: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

43

ii. Rute ke-4 dengan total jarak = 307.00905540849993

Index semut 1 (rute ke- 3) adalah kota urutan ke- 10

Index semut 2 (rute ke- 4) adalah kota urutan ke- 3

Setelah diswap:

Rute ke-0>> 0 5 9 18 44 41 46 24 21 29 1 0 => Jarak =

259.6214192919143, dengan Demand = 152.0

Rute ke-1>> 0 2 20 22 4 27 6 23 38 11 0 => Jarak = 185.66400754681,

dengan Demand = 155.0

Rute ke-2>> 0 47 25 40 19 42 39 31 3 28 8 0 => Jarak =

236.60222730370072, dengan Demand = 160.0

Rute ke-3>> 0 12 49 45 48 32 13 30 37 35 50 0 => Jarak =

330.8787111290517, dengan Demand = 164.0

Rute ke-4>> 0 17 10 36 16 7 14 15 33 34 26 43 0 => Jarak =

364.1496319651619, dengan Demand = 146.0

Total jarak semua rute = 1376.9159972366388

Dari hasil di atas, diketahui bahwa total demand pada rute ke-3

adalah 164.0 dan jumlah tersebut melebihi kapasitas kendaraan sehingga

solusi pada proses local search ini diabaikan. Solusi yang digunakan

adalah solusi pada proses konstruksi rute sebagai berikut.

Rute ke-0 >> 0 5 9 18 44 41 46 24 21 29 1 0 => Jarak =

259.6214192919143, dengan Demand = 152.0

Rute ke-1 >> 0 2 20 22 4 27 6 23 38 11 0 => Jarak = 185.66400754681,

dengan Demand = 155.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 58: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

44

Rute ke-2 >> 0 47 25 40 19 42 39 31 3 28 8 0 => Jarak =

236.60222730370072, dengan Demand = 160.0

Rute ke-3 >> 0 12 49 45 48 32 13 30 37 35 36 0 => Jarak =

328.03740614747, dengan Demand = 160.0

Rute ke-4 >> 0 17 10 50 16 7 14 15 33 34 26 43 0 => Jarak =

307.00905540849993, dengan Demand = 150.0

Total jarak semua rute = 1316.934115698395

4.4 Implementasi Program pada Beberapa Permasalahan

Program algoritma Improved Ant Colony Optimization (IACO) untuk

menyelesaikan Vehicle Routing Problem yang dibuat dengan pemrograman JAVA

seperti pada Lampiran 15 digunakan untuk menyelesaikan beberapa permasalahan

berikut:

4.4.1 Permasalahan P01

Permasalahan P01 pada Lampiran 1 diselesaikan dengan menggunakan

program pada Lampiran 15. Parameter yang digunakan sebagai berikut :

Jumlah semut / kendaraan = 5

Jumlah kota = 50

Jarak maksimal kendaraan = 0

Kapasitas kendaraan = 160

Alpha = 2

Beta = 1

Rho = 0,8

Pheromon awal = 0,1

Total iterasi = 1000

Konstanta Q = 1000

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 59: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

45

Service duration = 0

Dengan parameter di atas, diperoleh solusi sebagai berikut:

Rute ke- 0 >> 0 9 21 20 3 32 27 48 23 24 14 17 0 => Jarak =

171.65973469778262, dengan Demand = 157.0

Rute ke- 1 >> 0 41 19 42 38 16 2 50 29 35 36 22 0 => Jarak =

188.11764655359866, dengan Demand = 156.0

Rute ke- 2 >> 0 4 40 13 25 43 26 31 28 6 5 10 46 0 => Jarak =

237.01799540957475, dengan Demand = 156.0

Rute ke- 3 >> 0 7 8 1 11 49 45 15 12 47 0 => Jarak = 137.54798077771983,

dengan Demand = 160.0

Rute ke- 4 >> 0 34 30 39 33 44 37 18 0 => Jarak = 121.86774675410962,

dengan Demand = 148.0

dengan total jarak = 856.2111041927855.

Dari hasil di atas diketahui bahwa total jarak dari 5 rute adalah

856.2111041927855. Dari 5 kendaraan yang diinputkan, semuanya terpakai untuk

melayani pelanggan.

Hasil solusi selengkapnya pada permasalahan P01 dapat dilihat pada

Lampiran 16.

4.4.2 Permasalahan P02

Permasalahan P02 pada Lampiran 2 diselesaikan dengan menggunakan

program pada Lampiran 15. Parameter yang digunakan sebagai berikut :

Jumlah semut / kendaraan = 12 Jumlah kota = 75

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 60: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

46

Jarak maksimal kendaraan = 0

Kapasitas kendaraan = 140

Alpha = 2

Beta = 1

Rho = 0,8

Pheromon awal = 0,1

Total iterasi = 1000

Konstanta Q = 1000

Service duration = 0

Dengan parameter di atas, diperoleh solusi sebagai berikut:

Rute ke- 0 >> 0 30 28 70 54 14 38 0 => Jarak = 153.33657309819327, dengan

Demand = 133.0

Rute ke- 1 >> 0 68 34 11 13 21 60 71 0 => Jarak = 172.75418307183062,

dengan Demand = 122.0

Rute ke- 2 >> 0 39 25 55 18 3 7 53 35 45 0 => Jarak = 155.28405114273033,

dengan Demand = 139.0

Rute ke- 3 >> 0 58 72 22 41 23 43 56 49 75 0 => Jarak =

165.75273169796765, dengan Demand = 124.0

Rute ke- 4 >> 0 12 9 32 40 26 51 0 => Jarak = 76.52225176598907, dengan

Demand = 136.0

Rute ke- 5 >> 0 10 65 66 59 57 47 63 0 => Jarak = 171.76215858100548,

dengan Demand = 140.0

Rute ke- 6 >> 0 46 52 62 36 69 74 2 6 0 => Jarak = 123.23405545607851,

dengan Demand = 139.0

Rute ke- 7 >> 0 4 29 5 61 44 16 17 0 => Jarak = 127.86454252987814, dengan

Demand = 135.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 61: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

47

Rute ke- 8 >> 0 64 42 1 73 50 24 31 0 => Jarak = 195.37965161559143,

dengan Demand = 137.0

Rute ke- 9 >> 0 27 8 19 15 20 37 48 33 0 => Jarak = 130.2546611730375,

dengan Demand = 139.0

Rute ke- 10 >> 0 67 0 => Jarak = 10.770329614269007, dengan Demand =

30.0

dengan total jarak = 1482.915189746571.

Dari hasil di atas diketahui bahwa total jarak dari 11 rute adalah

1482.915189746571. Dari 12 kendaraan yang diinputkan, hanya terpakai 11

kendaraan untuk melayani pelanggan.

Hasil solusi selengkapnya pada permasalahan P02 dapat dilihat pada

Lampiran 17.

4.4.3 Permasalahan P03

Permasalahan P03 pada Lampiran 3 diselesaikan dengan menggunakan

program pada Lampiran 15. Parameter yang digunakan sebagai berikut :

Jumlah semut / kendaraan = 10

Jumlah kota = 100

Jarak maksimal kendaraan = 0

Kapasitas kendaraan = 200

Alpha = 2

Beta = 1

Rho = 0,8

Pheromon awal = 0,1

Total iterasi = 1000

Konstanta Q = 1000

Service duration = 0

Dengan parameter di atas, diperoleh solusi sebagai berikut:

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 62: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

48

Rute ke- 0 >> 0 5 46 36 47 7 48 19 26 55 72 29 33 63 0 => Jarak =

282.1002923877999, dengan Demand = 191.0

Rute ke- 1 >> 0 58 22 74 73 56 24 34 44 14 61 93 16 100 96 6 0 => Jarak =

227.52340896827712, dengan Demand = 199.0

Rute ke- 2 >> 0 76 79 45 60 28 54 25 67 75 21 78 35 51 23 0 => Jarak =

341.37706703835676, dengan Demand = 199.0

Rute ke- 3 >> 0 31 88 30 32 64 11 90 62 53 95 94 97 0 => Jarak =

176.31593104273048, dengan Demand = 196.0

Rute ke- 4 >> 0 10 49 70 1 69 82 52 18 83 86 38 15 40 92 42 57 0 => Jarak =

287.05348927538887, dengan Demand = 197.0

Rute ke- 5 >> 0 3 9 71 65 66 20 68 12 4 8 84 37 0 => Jarak =

227.70652635662464, dengan Demand = 196.0

Rute ke- 6 >> 0 50 81 77 80 17 85 13 39 41 43 91 99 2 0 => Jarak =

257.66401440949437, dengan Demand = 185.0

Rute ke- 7 >> 0 27 89 59 98 87 0 => Jarak = 58.85583668140094, dengan

Demand = 95.0

dengan total jarak = 1858.596566160073.

Dari hasil di atas diketahui bahwa total jarak dari 8 rute adalah

1858.596566160073. Dari 10 kendaraan yang diinputkan, hanya terpakai 8

kendaraan untuk melayani pelanggan.

Hasil solusi selengkapnya pada permasalahan P03 dapat dilihat pada

Lampiran 18.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 63: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

49

4.4.4 Permasalahan P04

Permasalahan P04 pada Lampiran 4 diselesaikan dengan menggunakan

program pada Lampiran 15. Parameter yang digunakan sebagai berikut :

Jumlah semut / kendaraan = 14

Jumlah kota = 150

Jarak maksimal kendaraan = 0

Kapasitas kendaraan = 200

Alpha = 2

Beta = 1

Rho = 0,8

Pheromon awal = 0,1

Total iterasi = 1000

Konstanta Q = 1000

Service duration = 0

Dengan parameter di atas, diperoleh solusi sebagai berikut:

Rute ke- 0 >> 0 108 150 4 1 101 117 54 50 2 129 30 0 => Jarak =

241.02222504998173, dengan Demand = 187.0

Rute ke- 1 >> 0 103 74 28 138 97 99 57 8 10 52 93 56 63 15 39 142 0 => Jarak

= 368.52192470445283, dengan Demand = 196.0

Rute ke- 2 >> 0 46 9 62 84 35 94 133 67 66 24 98 69 68 87 0 => Jarak =

285.8921657748921, dengan Demand = 199.0

Rute ke- 3 >> 0 77 104 105 75 96 43 61 3 36 64 136 19 135 0 => Jarak =

318.5052191259003, dengan Demand = 193.0

Rute ke- 4 >> 0 32 119 27 60 120 22 20 21 59 130 118 126 127 79 0 => Jarak

= 173.79670819102645, dengan Demand = 192.0

Rute ke- 5 >> 0 17 90 89 49 76 100 16 53 26 113 86 132 7 23 0 => Jarak =

238.42885656397183, dengan Demand = 192.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 64: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

50

Rute ke- 6 >> 0 48 112 140 114 116 70 51 143 148 37 123 45 33 71 0 => Jarak

= 222.31506913897124, dengan Demand = 186.0

Rute ke- 7 >> 0 110 18 107 42 73 125 83 29 38 80 31 82 0 => Jarak =

235.83052493990863, dengan Demand = 198.0

Rute ke- 8 >> 0 92 124 72 106 91 34 131 85 128 115 121 81 58 14 0 => Jarak

= 266.7758940370218, dengan Demand = 197.0

Rute ke- 9 >> 0 139 55 111 40 88 122 5 78 11 12 0 => Jarak =

137.58036419764028, dengan Demand = 187.0

Rute ke- 10 >> 0 47 144 147 65 6 13 109 145 44 137 0 => Jarak =

160.85872464352437, dengan Demand = 200.0

Rute ke- 11 >> 0 141 41 25 95 134 146 149 102 0 => Jarak =

105.45244315755937, dengan Demand = 108.0

dengan total jarak = 2754.980119524851.

Dari hasil di atas diketahui bahwa total jarak dari 12 rute adalah

2754.980119524851. Dari 14 kendaraan yang diinputkan, hanya terpakai 12

kendaraan untuk melayani pelanggan.

Hasil solusi selengkapnya pada permasalahan P04 dapat dilihat pada

Lampiran 19.

4.4.5 Permasalahan P05

Permasalahan P05 pada Lampiran 5 diselesaikan dengan menggunakan

program pada Lampiran 15. Parameter yang digunakan sebagai berikut :

Jumlah semut / kendaraan = 20 Jumlah kota = 199

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 65: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

51

Jarak maksimal kendaraan = 0

Kapasitas kendaraan = 200

Alpha = 2

Beta = 1

Rho = 0,8

Pheromon awal = 0,1

Total iterasi = 250

Konstanta Q = 1000

Service duration = 0

Dengan parameter di atas, diperoleh terbaik sebagai berikut:

Rute ke- 0 >> 0 54 79 29 173 138 99 1 2 3 154 155 88 48 0 => Jarak =

261.6253389558239, dengan Demand = 199.0

Rute ke- 1 >> 0 175 95 31 67 159 189 181 44 76 135 141 57 12 64 0 => Jarak

= 392.1900058469262, dengan Demand = 197.0

Rute ke- 2 >> 0 149 156 150 52 133 43 83 103 4 5 6 0 => Jarak =

313.22647839435524, dengan Demand = 193.0

Rute ke- 3 >> 0 142 115 197 158 198 7 8 9 22 137 23 74 191 0 => Jarak =

291.49500337090996, dengan Demand = 197.0

Rute ke- 4 >> 0 183 104 17 100 169 30 120 195 190 136 106 132 39 10 119 0

=> Jarak = 281.2392131560841, dengan Demand = 188.0

Rute ke- 5 >> 0 16 41 89 146 25 114 184 91 193 163 85 13 0 => Jarak =

384.25987987456114, dengan Demand = 198.0

Rute ke- 6 >> 0 27 58 87 127 109 117 55 40 130 139 157 0 => Jarak =

143.22824371705195, dengan Demand = 189.0

Rute ke- 7 >> 0 147 56 26 60 188 61 86 28 151 126 0 => Jarak =

155.39877767800917, dengan Demand = 199.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 66: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

52

Rute ke- 8 >> 0 59 68 129 110 38 24 49 145 164 180 69 108 0 => Jarak =

359.28356310440694, dengan Demand = 194.0

Rute ke- 9 >> 0 111 34 14 51 75 178 78 82 45 174 0 => Jarak =

229.25436734534946, dengan Demand = 197.0

Rute ke- 10 >> 0 81 77 134 50 15 102 162 80 194 116 160 53 112 66 192 0 =>

Jarak = 316.5863541354187, dengan Demand = 175.0

Rute ke- 11 >> 0 73 62 113 185 196 71 19 153 140 166 37 0 => Jarak =

289.2344545040458, dengan Demand = 185.0

Rute ke- 12 >> 0 96 42 148 187 131 124 98 125 72 161 97 0 => Jarak =

283.6809264631669, dengan Demand = 191.0

Rute ke- 13 >> 0 186 36 122 172 171 47 101 20 123 176 35 152 0 => Jarak =

192.93843335793625, dengan Demand = 190.0

Rute ke- 14 >> 0 92 18 144 182 63 199 107 90 143 21 121 94 0 => Jarak =

230.01039855801577, dengan Demand = 199.0

Rute ke- 15 >> 0 168 32 105 33 93 118 11 177 84 165 170 0 => Jarak =

246.09518018591973, dengan Demand = 194.0

Rute ke- 16 >> 0 46 65 167 179 70 128 0 => Jarak = 64.9937161702049,

dengan Demand = 101.0

dengan total jarak = 4434.740334818186.

Dari hasil di atas diketahui bahwa total jarak dari 17 rute adalah

4434.740334818186. Dari 20 kendaraan yang diinputkan, hanya terpakai 17

kendaraan untuk melayani pelanggan.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 67: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

53

Hasil solusi selengkapnya pada permasalahan P05 dapat dilihat pada

Lampiran 20.

4.4.6 Permasalahan P06

Permasalahan P06 pada Lampiran 6 diselesaikan dengan menggunakan

program pada Lampiran 15. Parameter yang digunakan sebagai berikut :

Jumlah semut / kendaraan = 11

Jumlah kota = 50

Jarak maksimal kendaraan = 200

Kapasitas kendaraan = 160

Alpha = 2

Beta = 1

Rho = 0,8

Pheromon awal = 0,1

Total iterasi = 1000

Konstanta Q = 1000

Service duration = 10

Dengan parameter di atas, diperoleh solusi sebagai berikut:

Rute ke- 0 >> 0 16 21 36 9 2 1 0 => Jarak = 199.27474525071867, dengan

Demand = 77.0

Rute ke- 1 >> 0 42 33 30 34 29 11 0 => Jarak = 188.64067782205944, dengan

Demand = 106.0

Rute ke- 2 >> 0 10 15 44 28 8 0 => Jarak = 188.83684402672753, dengan

Demand = 68.0

Rute ke- 3 >> 0 18 37 45 39 49 50 38 0 => Jarak = 193.93657954856928,

dengan Demand = 117.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 68: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

54

Rute ke- 4 >> 0 12 5 3 35 20 32 0 => Jarak = 162.93046344746193, dengan

Demand = 123.0

Rute ke- 5 >> 0 27 23 7 14 24 6 4 47 0 => Jarak = 195.27985739335938,

dengan Demand = 130.0

Rute ke- 6 >> 0 19 40 13 41 17 46 0 => Jarak = 167.99711818093886, dengan

Demand = 74.0

Rute ke- 7 >> 0 48 25 43 26 31 22 0 => Jarak = 192.86624217073597, dengan

Demand = 82.0

dengan total jarak = 989.7625278405708.

Dari hasil di atas diketahui bahwa total jarak dari 8 rute adalah

989.7625278405708. Dari 11 kendaraan yang diinputkan, hanya terpakai 8

kendaraan untuk melayani pelanggan.

Hasil solusi selengkapnya pada permasalahan P06 dapat dilihat pada

Lampiran 21.

4.4.7 Permasalahan P07

Permasalahan P07 pada Lampiran 7 diselesaikan dengan menggunakan

program pada Lampiran 15. Parameter yang digunakan sebagai berikut :

Jumlah semut / kendaraan = 22

Jumlah kota = 75

Jarak maksimal kendaraan = 160

Kapasitas kendaraan = 140

Alpha = 2

Beta = 1

Rho = 0,8

Pheromon awal = 0,1

Total iterasi = 1000

Konstanta Q = 1000

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 69: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

55

Service duration = 10

Dengan parameter di atas, diperoleh solusi sebagai berikut:

Rute ke- 0 >> 0 46 53 11 65 38 58 0 => Jarak = 135.99512685291734, dengan

Demand = 140.0

Rute ke- 1 >> 0 3 49 55 25 32 0 => Jarak = 156.61726978120464, dengan

Demand = 65.0

Rute ke- 2 >> 0 17 51 6 40 12 50 0 => Jarak = 152.5435186202567, dengan

Demand = 122.0

Rute ke- 3 >> 0 44 24 18 31 0 => Jarak = 155.47463143856868, dengan

Demand = 82.0

Rute ke- 4 >> 0 23 56 22 61 74 0 => Jarak = 157.30624452147168, dengan

Demand = 69.0

Rute ke- 5 >> 0 75 5 29 2 73 1 68 0 => Jarak = 159.68107902266414, dengan

Demand = 114.0

Rute ke- 6 >> 0 48 15 52 13 19 8 0 => Jarak = 156.02902983998507, dengan

Demand = 90.0

Rute ke- 7 >> 0 59 27 34 4 0 => Jarak = 133.91215038673153, dengan

Demand = 90.0

Rute ke- 8 >> 0 26 67 39 72 10 9 0 => Jarak = 147.23393876832765, dengan

Demand = 120.0

Rute ke- 9 >> 0 36 60 20 69 0 => Jarak = 151.19687918002188, dengan

Demand = 55.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 70: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

56

Rute ke- 10 >> 0 62 41 64 43 42 0 => Jarak = 158.18235019769938, dengan

Demand = 90.0

Rute ke- 11 >> 0 70 71 21 47 30 0 => Jarak = 149.52761055605893, dengan

Demand = 83.0

Rute ke- 12 >> 0 33 28 37 57 45 0 => Jarak = 151.07506828650966, dengan

Demand = 105.0

Rute ke- 13 >> 0 66 14 54 35 7 0 => Jarak = 152.95192040279994, dengan

Demand = 109.0

Rute ke- 14 >> 0 63 16 0 => Jarak = 67.85993014424372, dengan Demand =

30.0

dengan total jarak = 1435.5867479994604.

Dari hasil di atas diketahui bahwa total jarak dari 15 rute adalah

1435.5867479994604. Dari 22 kendaraan yang diinputkan, hanya terpakai 15

kendaraan untuk melayani pelanggan.

Hasil solusi selengkapnya pada permasalahan P07 dapat dilihat pada

Lampiran 22.

4.4.8 Permasalahan P08

Permasalahan P08 pada Lampiran 8 diselesaikan dengan menggunakan

program pada Lampiran 15. Parameter yang digunakan sebagai berikut :

Jumlah semut / kendaraan = 20

Jumlah kota = 100

Jarak maksimal kendaraan = 230

Kapasitas kendaraan = 200

Alpha = 2

Beta = 1

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 71: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

57

Rho = 0,8

Pheromon awal = 0,1

Total iterasi = 1000

Konstanta Q = 1000

Service duration = 10

Dengan parameter di atas, diperoleh solusi sebagai berikut:

Rute ke- 0 >> 0 58 87 43 15 25 39 2 6 0 => Jarak = 224.05009541094032,

dengan Demand = 106.0

Rute ke- 1 >> 0 36 47 46 48 86 59 37 92 0 => Jarak = 228.85136177928848,

dengan Demand = 142.0

Rute ke- 2 >> 0 97 96 91 42 61 99 40 12 89 0 => Jarak =

228.32864854825488, dengan Demand = 94.0

Rute ke- 3 >> 0 57 38 14 23 67 55 0 => Jarak = 223.4812883384822, dengan

Demand = 99.0

Rute ke- 4 >> 0 80 54 3 79 34 78 35 71 81 33 0 => Jarak =

226.1080433680456, dengan Demand = 137.0

Rute ke- 5 >> 0 45 11 63 8 18 52 27 0 => Jarak = 200.2953623681263, dengan

Demand = 84.0

Rute ke- 6 >> 0 70 20 9 30 65 32 90 0 => Jarak = 222.00125775378714,

dengan Demand = 97.0

Rute ke- 7 >> 0 50 31 68 22 56 72 21 26 53 0 => Jarak =

225.39159126893074, dengan Demand = 167.0

Rute ke- 8 >> 0 29 24 75 4 41 28 1 0 => Jarak = 222.19798418450728, dengan

Demand = 80.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 72: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

58

Rute ke- 9 >> 0 73 74 94 17 84 83 16 85 95 0 => Jarak =

220.88844660388028, dengan Demand = 144.0

Rute ke- 10 >> 0 13 98 93 100 44 49 64 0 => Jarak = 223.58729811832038,

dengan Demand = 129.0

Rute ke- 11 >> 0 7 19 88 62 10 82 60 5 0 => Jarak = 196.7341682348373,

dengan Demand = 111.0

Rute ke- 12 >> 0 51 66 69 77 76 0 => Jarak = 156.82947013281205, dengan

Demand = 68.0

dengan total jarak = 1798.7450161102124.

Dari hasil di atas diketahui bahwa total jarak dari 13 rute adalah

1798.7450161102124. Dari 20 kendaraan yang diinputkan, hanya terpakai 13

kendaraan untuk melayani pelanggan.

Hasil solusi selengkapnya pada permasalahan P08 dapat dilihat pada

Lampiran 23.

4.4.9 Permasalahan P09

Permasalahan P09 pada Lampiran 9 diselesaikan dengan menggunakan

program pada Lampiran 15. Parameter yang digunakan sebagai berikut :

Jumlah semut / kendaraan = 33

Jumlah kota = 150

Jarak maksimal kendaraan = 200

Kapasitas kendaraan = 200

Alpha = 2

Beta = 1

Rho = 0,8

Pheromon awal = 0,1

Total iterasi = 500

Konstanta Q = 1000

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 73: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

59

Service duration = 10

Dengan parameter di atas, diperoleh solusi sebagai berikut:

Rute ke- 0 >> 0 119 98 48 84 2 127 0 => Jarak = 193.04696892686718, dengan

Demand = 117.0

Rute ke- 1 >> 0 148 55 110 111 137 107 54 0 => Jarak = 190.4123266350988,

dengan Demand = 104.0

Rute ke- 2 >> 0 144 56 139 78 117 16 0 => Jarak = 193.69445033647156,

dengan Demand = 101.0

Rute ke- 3 >> 0 145 133 14 25 96 24 60 51 0 => Jarak = 196.2724818155103,

dengan Demand = 117.0

Rute ke- 4 >> 0 140 83 22 80 82 101 0 => Jarak = 189.59063014506583,

dengan Demand = 76.0

Rute ke- 5 >> 0 66 64 150 135 88 40 44 0 => Jarak = 191.7858844326203,

dengan Demand = 136.0

Rute ke- 6 >> 0 20 115 120 1 27 18 0 => Jarak = 194.1466603305492, dengan

Demand = 116.0

Rute ke- 7 >> 0 49 53 74 130 34 118 30 10 0 => Jarak = 193.3700145088056,

dengan Demand = 126.0

Rute ke- 8 >> 0 23 112 28 70 31 3 59 0 => Jarak = 192.75464602017593,

dengan Demand = 101.0

Rute ke- 9 >> 0 72 71 17 109 146 136 142 0 => Jarak = 191.3676288399679,

dengan Demand = 108.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 74: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

60

Rute ke- 10 >> 0 4 143 43 57 61 69 0 => Jarak = 196.98573802662116, dengan

Demand = 76.0

Rute ke- 11 >> 0 52 138 12 15 91 33 0 => Jarak = 194.64685913540112,

dengan Demand = 83.0

Rute ke- 12 >> 0 6 73 39 105 123 122 0 => Jarak = 197.75005634286302,

dengan Demand = 94.0

Rute ke- 13 >> 0 108 147 93 42 19 92 5 103 0 => Jarak =

177.83627881254466, dengan Demand = 99.0

Rute ke- 14 >> 0 126 76 29 131 100 32 81 11 0 => Jarak =

190.89436277840787, dengan Demand = 133.0

Rute ke- 15 >> 0 128 50 129 62 9 38 77 0 => Jarak = 168.97489841380633,

dengan Demand = 97.0

Rute ke- 16 >> 0 85 36 116 121 35 79 21 0 => Jarak = 197.08951225154118,

dengan Demand = 88.0

Rute ke- 17 >> 0 75 89 106 124 104 45 37 0 => Jarak = 199.86916915554747,

dengan Demand = 88.0

Rute ke- 18 >> 0 8 113 114 46 102 47 0 => Jarak = 179.4322382049065,

dengan Demand = 81.0

Rute ke- 19 >> 0 125 65 41 134 141 94 0 => Jarak = 196.0118955673806,

dengan Demand = 79.0

Rute ke- 20 >> 0 90 87 149 63 13 67 95 58 0 => Jarak = 198.5599351192529,

dengan Demand = 99.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 75: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

61

Rute ke- 21 >> 0 97 7 26 99 86 132 68 0 => Jarak = 199.53011868019837,

dengan Demand = 116.0

dengan total jarak = 2724.0227544796026.

Dari hasil di atas diketahui bahwa total jarak dari 22 rute adalah

2724.0227544796026. Dari 33 kendaraan yang diinputkan, hanya terpakai 22

kendaraan untuk melayani pelanggan.

Hasil solusi selengkapnya pada permasalahan P09 dapat dilihat pada

Lampiran 24.

4.4.10 Permasalahan P10

Permasalahan P10 pada Lampiran 10 diselesaikan dengan menggunakan

program pada Lampiran 15. Parameter yang digunakan sebagai berikut :

Jumlah semut / kendaraan = 42

Jumlah kota = 199

Jarak maksimal kendaraan = 200

Kapasitas kendaraan = 200

Alpha = 2

Beta = 1

Rho = 0,8

Pheromon awal = 0,1

Total iterasi = 250

Konstanta Q = 1000

Service duration = 10

Dengan parameter di atas, diperoleh solusi sebagai berikut:

Rute ke- 0 >> 0 6 150 127 123 13 14 0 => Jarak = 197.46402192757654,

dengan Demand = 91.0

Rute ke- 1 >> 0 64 105 165 80 55 0 => Jarak = 194.366220986916, dengan

Demand = 64.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 76: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

62

Rute ke- 2 >> 0 30 54 50 40 77 100 60 0 => Jarak = 173.3188148201463,

dengan Demand = 126.0

Rute ke- 3 >> 0 180 52 133 11 164 129 0 => Jarak = 195.17047798808028,

dengan Demand = 134.0

Rute ke- 4 >> 0 53 143 115 89 36 155 0 => Jarak = 194.04691288580034,

dengan Demand = 71.0

Rute ke- 5 >> 0 139 86 101 140 48 103 167 149 0 => Jarak =

188.10292008469864, dengan Demand = 118.0

Rute ke- 6 >> 0 98 153 196 158 184 33 12 0 => Jarak = 189.16650227418972,

dengan Demand = 160.0

Rute ke- 7 >> 0 19 134 170 178 78 35 99 0 => Jarak = 182.44321762156744,

dengan Demand = 87.0

Rute ke- 8 >> 0 151 34 25 75 9 57 0 => Jarak = 188.26430180984158, dengan

Demand = 101.0

Rute ke- 9 >> 0 58 119 24 68 0 => Jarak = 195.48973373090718, dengan

Demand = 56.0

Rute ke- 10 >> 0 197 136 21 37 124 154 29 152 0 => Jarak =

186.16091827860183, dengan Demand = 95.0

Rute ke- 11 >> 0 183 62 192 43 41 191 1 198 190 0 => Jarak =

195.57933512724335, dengan Demand = 115.0

Rute ke- 12 >> 0 31 71 131 17 95 2 0 => Jarak = 189.87734980607647, dengan

Demand = 107.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 77: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

63

Rute ke- 13 >> 0 92 161 74 189 0 => Jarak = 197.7910518746664, dengan

Demand = 61.0

Rute ke- 14 >> 0 59 122 114 42 90 113 96 0 => Jarak = 199.28524543046345,

dengan Demand = 125.0

Rute ke- 15 >> 0 162 147 72 110 148 130 0 => Jarak = 193.19015216269665,

dengan Demand = 131.0

Rute ke- 16 >> 0 177 81 169 97 118 146 0 => Jarak = 190.3735083707124,

dengan Demand = 81.0

Rute ke- 17 >> 0 106 18 109 107 181 117 61 0 => Jarak =

184.97645535819436, dengan Demand = 100.0

Rute ke- 18 >> 0 3 56 10 85 108 69 132 0 => Jarak = 198.8733545283902,

dengan Demand = 117.0

Rute ke- 19 >> 0 121 120 93 91 199 66 160 0 => Jarak = 192.4008703101428,

dengan Demand = 91.0

Rute ke- 20 >> 0 157 137 185 141 193 104 188 0 => Jarak =

198.03523959506947, dengan Demand = 142.0

Rute ke- 21 >> 0 168 111 179 70 94 79 0 => Jarak = 193.24694595200583,

dengan Demand = 68.0

Rute ke- 22 >> 0 82 138 15 174 171 76 0 => Jarak = 187.55433251097844,

dengan Demand = 120.0

Rute ke- 23 >> 0 65 47 46 102 175 176 87 126 0 => Jarak =

194.44843611494386, dengan Demand = 132.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 78: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

64

Rute ke- 24 >> 0 195 16 28 156 83 128 4 0 => Jarak = 199.2731511838366,

dengan Demand = 131.0

Rute ke- 25 >> 0 38 84 51 26 125 194 0 => Jarak = 188.42668000543827,

dengan Demand = 126.0

Rute ke- 26 >> 0 5 45 88 20 166 173 172 0 => Jarak = 186.86860132877965,

dengan Demand = 120.0

Rute ke- 27 >> 0 159 116 44 63 144 145 0 => Jarak = 179.0264378691034,

dengan Demand = 60.0

Rute ke- 28 >> 0 22 23 67 142 186 0 => Jarak = 167.58346345276132, dengan

Demand = 92.0

Rute ke- 29 >> 0 112 163 39 187 32 0 => Jarak = 173.24312534273878,

dengan Demand = 85.0

Rute ke- 30 >> 0 135 49 182 73 7 0 => Jarak = 197.21893295391504, dengan

Demand = 46.0

Rute ke- 31 >> 0 8 27 0 => Jarak = 73.38566416949868, dengan Demand =

33.0

dengan total jarak = 3974.6523758559797.

Dari hasil di atas diketahui bahwa total jarak dari 32 rute adalah

3974.6523758559797. Dari 42 kendaraan yang diinputkan, hanya terpakai 32

kendaraan untuk melayani pelanggan.

Hasil solusi selengkapnya pada permasalahan P10 dapat dilihat pada

Lampiran 25.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 79: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

65

4.4.11 Permasalahan P11

Permasalahan P11 pada Lampiran 11 diselesaikan dengan menggunakan

program pada Lampiran 15. Parameter yang digunakan sebagai berikut :

Jumlah semut / kendaraan = 8

Jumlah kota = 120

Jarak maksimal kendaraan = 0

Kapasitas kendaraan = 200

Alpha = 2

Beta = 1

Rho = 0,8

Pheromon awal = 0,1

Total iterasi = 1000

Konstanta Q = 1000

Service duration = 0

Dengan parameter di atas, diperoleh solusi sebagai berikut:

Rute ke- 0 >> 0 119 11 4 9 7 3 5 10 6 12 20 42 48 50 71 73 74 101 107 0 =>

Jarak = 308.4119245340831, dengan Demand = 197.0

Rute ke- 1 >> 0 110 57 56 66 52 59 64 61 62 60 37 43 108 90 112 111 88 0 =>

Jarak = 304.0458809509304, dengan Demand = 194.0

Rute ke- 2 >> 0 120 99 77 75 1 115 109 104 105 102 87 2 84 0 => Jarak =

338.6950015990059, dengan Demand = 200.0

Rute ke- 3 >> 0 22 34 33 31 23 30 27 29 49 46 51 41 47 44 28 54 55 18 118 91 0

=> Jarak = 401.4551237550494, dengan Demand = 195.0

Rute ke- 4 >> 0 86 89 98 114 94 93 26 19 35 36 32 24 25 13 15 14 81 82 0 =>

Jarak = 255.87173387187357, dengan Demand = 197.0

Rute ke- 5 >> 0 16 17 21 79 70 72 8 38 40 45 67 69 96 113 117 83 0 => Jarak

= 486.44635558536095, dengan Demand = 200.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 80: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

66

Rute ke- 6 >> 0 116 106 100 92 85 97 53 63 58 65 39 68 80 78 76 103 95 0 =>

Jarak = 318.77493127453744, dengan Demand = 192.0

dengan total jarak = 2413.7009515708405.

Dari hasil di atas diketahui bahwa total jarak dari 7 rute adalah

2413.7009515708405. Dari 8 kendaraan yang diinputkan, hanya terpakai 7

kendaraan untuk melayani pelanggan.

Hasil solusi selengkapnya pada permasalahan P11 dapat dilihat pada

Lampiran 26.

4.4.12 Permasalahan P12

Permasalahan P12 pada Lampiran 12 diselesaikan dengan menggunakan

program pada Lampiran 15. Parameter yang digunakan sebagai berikut :

Jumlah semut / kendaraan = 12

Jumlah kota = 100

Jarak maksimal kendaraan = 0

Kapasitas kendaraan = 200

Alpha = 2

Beta = 1

Rho = 0,8

Pheromon awal = 0,1

Total iterasi = 1000

Konstanta Q = 1000

Service duration = 0

Dengan parameter di atas, diperoleh solusi sebagai berikut:

Rute ke- 0 >> 0 68 56 60 37 29 5 9 84 66 40 42 43 3 4 0 => Jarak =

290.75826711008085, dengan Demand = 200.0

Rute ke- 1 >> 0 63 65 67 74 72 53 58 55 69 0 => Jarak =

109.32851214207804, dengan Demand = 200.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 81: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

67

Rute ke- 2 >> 0 25 34 39 18 15 17 30 26 23 1 0 => Jarak =

155.6970020363125, dengan Demand = 200.0

Rute ke- 3 >> 0 19 16 12 14 11 10 2 13 21 20 0 => Jarak =

148.39696984940753, dengan Demand = 190.0

Rute ke- 4 >> 0 61 77 76 8 6 7 52 35 38 44 50 27 24 22 0 => Jarak =

272.7525838733746, dengan Demand = 200.0

Rute ke- 5 >> 0 95 100 99 32 36 28 49 51 41 46 47 48 0 => Jarak =

212.028268166955, dengan Demand = 200.0

Rute ke- 6 >> 0 71 70 79 73 80 62 59 57 54 45 0 => Jarak =

196.40510570929692, dengan Demand = 200.0

Rute ke- 7 >> 0 33 31 64 81 78 83 82 85 91 86 0 => Jarak =

197.07659571670558, dengan Demand = 200.0

Rute ke- 8 >> 0 98 96 94 93 97 92 89 88 87 90 0 => Jarak =

117.31481659651458, dengan Demand = 200.0

Rute ke- 9 >> 0 75 0 => Jarak = 31.622776601683793, dengan Demand = 20.0

dengan total jarak = 1731.3808978024094.

Dari hasil di atas diketahui bahwa total jarak dari 10 rute adalah

1731.3808978024094. Dari 12 kendaraan yang diinputkan, hanya terpakai 10

kendaraan untuk melayani pelanggan.

Hasil solusi selengkapnya pada permasalahan P12 dapat dilihat pada

Lampiran 27.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 82: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

68

4.4.13 Permasalahan P13

Permasalahan P13 pada Lampiran 13 diselesaikan dengan menggunakan

program pada Lampiran 15. Parameter yang digunakan sebagai berikut :

Jumlah semut / kendaraan = 18

Jumlah kota = 120

Jarak maksimal kendaraan = 720

Kapasitas kendaraan = 200

Alpha = 2

Beta = 1

Rho = 0,8

Pheromon awal = 0,1

Total iterasi = 1000

Konstanta Q = 1000

Service duration = 50

Dengan parameter di atas, diperoleh solusi sebagai berikut:

Rute ke- 0 >> 0 18 81 29 8 115 80 78 87 0 => Jarak = 716.0839219617916,

dengan Demand = 96.0

Rute ke- 1 >> 0 22 57 54 7 43 100 0 => Jarak = 698.1557784194565, dengan

Demand = 66.0

Rute ke- 2 >> 0 82 65 106 99 13 97 105 102 0 => Jarak = 702.7185410183001,

dengan Demand = 95.0

Rute ke- 3 >> 0 32 112 3 113 79 77 68 0 => Jarak = 698.3492558571269,

dengan Demand = 79.0

Rute ke- 4 >> 0 47 62 42 23 44 58 55 0 => Jarak = 718.1950589842164,

dengan Demand = 81.0

Rute ke- 5 >> 0 63 64 49 110 72 119 111 0 => Jarak = 677.5082215373317,

dengan Demand = 82.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 83: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

69

Rute ke- 6 >> 0 73 35 12 108 40 1 0 => Jarak = 696.2533523148418, dengan

Demand = 84.0

Rute ke- 7 >> 0 48 61 38 10 15 9 14 6 0 => Jarak = 685.907685812588, dengan

Demand = 99.0

Rute ke- 8 >> 0 41 46 45 51 37 21 50 74 0 => Jarak = 709.6951063630579,

dengan Demand = 101.0

Rute ke- 9 >> 0 60 53 24 39 5 2 83 0 => Jarak = 692.6200955409471, dengan

Demand = 68.0

Rute ke- 10 >> 0 107 120 101 52 16 31 109 89 0 => Jarak =

678.6037232010652, dengan Demand = 91.0

Rute ke- 11 >> 0 66 117 95 94 88 67 75 0 => Jarak = 694.8867296403632,

dengan Demand = 95.0

Rute ke- 12 >> 0 85 114 11 33 27 34 25 20 17 4 0 => Jarak =

715.1484613169986, dengan Demand = 95.0

Rute ke- 13 >> 0 71 76 116 26 36 86 96 103 0 => Jarak = 685.6742722234321,

dengan Demand = 75.0

Rute ke- 14 >> 0 28 19 59 98 84 69 70 0 => Jarak = 701.6410326641916,

dengan Demand = 93.0

Rute ke- 15 >> 0 56 30 93 90 104 92 91 118 0 => Jarak = 707.7181359964854,

dengan Demand = 75.0

dengan total jarak = 5179.159372852191.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 84: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

70

Dari hasil di atas diketahui bahwa total jarak dari 16 rute adalah

5179.159372852191. Dari 18 kendaraan yang diinputkan, hanya terpakai 16

kendaraan untuk melayani pelanggan.

Hasil solusi selengkapnya pada permasalahan P13 dapat dilihat pada

Lampiran 28.

4.4.14 Permasalahan P14

Permasalahan P14 pada Lampiran 14 diselesaikan dengan menggunakan

program pada Lampiran 15. Parameter yang digunakan sebagai berikut :

Jumlah semut / kendaraan = 15

Jumlah kota = 100

Jarak maksimal kendaraan =

1040

Kapasitas kendaraan = 200

Alpha = 2

Beta = 1

Rho = 0,8

Pheromon awal = 0,1

Total iterasi = 1000

Konstanta Q = 1000

Service duration = 90

Dengan parameter di atas, diperoleh solusi sebagai berikut:

Rute ke- 0 >> 0 75 83 85 41 36 39 33 42 31 0 => Jarak =

1034.3992454022123, dengan Demand = 180.0

Rute ke- 1 >> 0 80 79 61 73 77 70 45 94 0 => Jarak = 1035.1529322974227,

dengan Demand = 100.0

Rute ke- 2 >> 0 35 13 50 64 55 60 72 87 0 => Jarak = 979.211701405598,

dengan Demand = 120.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 85: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

71

Rute ke- 3 >> 0 96 63 74 24 4 7 8 21 44 0 => Jarak = 1016.8178973928821,

dengan Demand = 200.0

Rute ke- 4 >> 0 28 40 58 51 56 38 3 1 0 => Jarak = 972.7971942721796,

dengan Demand = 150.0

Rute ke- 5 >> 0 43 54 59 76 93 25 20 49 0 => Jarak = 972.7248347717949,

dengan Demand = 170.0

Rute ke- 6 >> 0 67 65 97 10 16 52 48 37 0 => Jarak = 958.6180254781443,

dengan Demand = 140.0

Rute ke- 7 >> 0 68 82 84 81 71 15 11 34 0 => Jarak = 997.5351957161569,

dengan Demand = 170.0

Rute ke- 8 >> 0 53 57 90 78 89 22 2 88 0 => Jarak = 998.6048961537472,

dengan Demand = 180.0

Rute ke- 9 >> 0 12 27 29 47 69 30 18 19 17 0 => Jarak =

1014.5364765125278, dengan Demand = 120.0

Rute ke- 10 >> 0 32 100 14 86 98 91 92 66 0 => Jarak = 1034.5560033102963,

dengan Demand = 130.0

Rute ke- 11 >> 0 26 46 62 9 6 95 99 5 23 0 => Jarak = 990.45924081424,

dengan Demand = 150.0

dengan total jarak = 3005.4136435271994.

Dari hasil di atas diketahui bahwa total jarak dari 12 rute adalah

3005.4136435271994. Dari 15 kendaraan yang diinputkan, hanya terpakai 12

kendaraan untuk melayani pelanggan.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 86: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

72

Hasil solusi selengkapnya pada permasalahan P14 dapat dilihat pada

Lampiran 29.

4.5 Perbandingan Hasil untuk Nilai Parameter yang Berbeda

Pada perbandingan ini, data yang digunakan adalah permasalahan P01 dan

P05 yang dapat dilihat pada Lampiran 1 dan Lampiran 5. Berikut hasil

perhitungan total jarak semua rute yang didapatkan pada masing – masing

permasalahan dengan parameter yang berbeda, yaitu alpha, beta, rho, dan

konstanta Q. Pada perbandingan ini, permasalahan P01 menggunakan parameter

diantaranya jumlah semut atau kendaraan = 5, jumlah kota atau pelanggan = 50,

jarak tempuh maksimum kendaraan = 0, kapasitas kendaraan = 160, pheromone

awal = 0.1, dan total iterasi = 1000. Sedangkan untuk permasalahan P05

menggunakan parameter diantaranya jumlah semut atau kendaraan = 20, jumlah

kota atau pelanggan = 199, jarak tempuh maksimum kendaraan = 0, kapasitas

kendaraan = 200, pheromone awal = 0.1, dan total iterasi = 250. Jika jarak tempuh

maksimum kendaraan = 0, artinya dalam pemilihan kota yang akan dilayani hanya

mengacu pada batasan kapasitas kendaraan, dan jauh pendeknya jarak tidak

dipermasalahkan.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 87: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

73

Tabel 4.2 Total jarak semua rute dengan pembanding alpha

Alpha

Data (jumlah kota, kapasitas kendaraan)

P01 (50, 160) P05 (199, 200)

2 856.2111041927855 4434.740334818186

5 860.8271635893498 4571.283609059414

10 943.2022937138713 4587.644659242707

Berdasarkan hasil perhitungan total jarak semua rute pada Tabel 4.2 di atas

menunjukkan bahwa semakin kecil nilai alpha maka nilai total jarak semua rute

yang didapatkan semakin baik.

Tabel 4.3 Total jarak semua rute dengan pembanding beta

Beta

Data (jumlah kota, kapasitas kendaraan)

P01 (50, 160) P05 (199, 200)

1 856.2111041927855 4434.740334818186

5 709.2558612529662 1932.840676430728

10 659.026661268713 1875.492037923544

Berdasarkan hasil perhitungan total jarak semua rute pada Tabel 4.3 di atas

menunjukkan bahwa semakin besar nilai beta maka nilai total jarak semua rute

yang didapatkan semakin baik.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 88: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

74

Tabel 4.4 Total jarak semua rute dengan pembanding rho

Rho

Data (jumlah kota, kapasitas kendaraan)

P01 (50, 160) P05 (199, 200)

0,1 805.2008449491516 4280.803187757259

0,5 848.5150081762803 4394.269916931748

0,8 856.2111041927855 4434.740334818186

Berdasarkan hasil perhitungan total jarak semua rute pada Tabel 4.4 di atas

menunjukkan bahwa semakin kecil nilai rho maka nilai total jarak semua rute

yang didapatkan semakin baik.

Tabel 4.5 Total jarak semua rute dengan pembanding konstanta Q

Konstanta Q Data (jumlah kota, kapasitas kendaraan)

P01 (50, 160) P05 (199, 200)

10 814.2746904517317 3872.6681498576477

100 829.3389418283125 4083.6462805380434

1000 856.2111041927855 4434.740334818186

Berdasarkan hasil perhitungan total jarak semua rute pada Tabel 4.5 di atas

menunjukkan bahwa semakin kecil nilai konstanta Q maka nilai total jarak semua

rute yang didapatkan semakin baik.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 89: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

75

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Algoritma improved ant colony optimization dapat diterapkan untuk

menyelesaikan vehicle routing problem. Proses yang digunakan antara

lain: konstruksi rute untuk setiap semut, cek nilai random ≤ Pm(t), proses

mutasi, local search, dan update pheromone.

2. Program untuk menyelesaikan vehicle routing problem dengan

menggunakan algoritma improved ant colony optimization dapat dibuat

dengan bahasa pemrograman JAVA dengan NetBeans IDE.

3. Berdasarkan perhitungan pada perbandingan hasil untuk nilai parameter

yang berbeda menunjukkan bahwa semakin kecil nilai alpha, rho, dan

konstanta Q, serta semakin besar nilai beta menghasilkan solusi yang lebih

baik.

5.2 Saran

Untuk penelitian selanjutnya, algoritma IACO dapat dihybrid dengan

beberapa algoritma lain seperti algoritma tabu search, algoritma saving, algoritma

genetika, dan algoritma yang lainnya untuk menyelesaikan vehicle routing

problem.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 90: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

76

DAFTAR PUSTAKA

[1] Beasley, J.E., 1990, OR-Library: distributing test problems by electronic mail, Journal of the Operational Research Society 41, 1069–1072, (http://neumann.hec.ca/chairedistributique/data/vrp/old/) diakses 1 Mei 2012.

[2] Bin, Y. et al., 2008, An Improved Ant Colony Optimization for Vehicle Routing Problem, European Journal of Operational Research, 196, 171-176.

[3] Bullnheimer et al., 1997, Applying The Ant System to The Vehicle

Routing Problem, In: Second Metaheuristics International Conference, MIC’97, Sophia-Antipolis, France.

[4] Chartrand, G. dan Oellerman, O.R., 1993, Applied and Algorithmic Graph

Theory, McGraw-Hill, New York. [5] Christofides et al., 1979, Combinatorial Optimization, John Willey and

Sons, New York. [6] Dorigo, M. et al., 1996, The Ant System: Optimization by a Colony of

Cooperating Agents, IEEE Transactions on System, Man, Cybernetics-Part B 26, 29-41.

[7] Foulds, L.R., 1984, Combinatorial Optimization for Undergraduates,

Springer-Verlag, New York. [8] Gaertner, D., 2004, Natural Algorithms in Timetabling and Scheduling,

Department of Artificial Intelegence, University of Edinburgh. [9] Gen, M. dan Cheng, R., 1997, Genetic Algorithms and Engineering

Design, John Wiley & Sons, New York. [10] Goss, S. et al., 1989, Self-organised short-cuts in the Argentine ant,

Naturwissenschaften 76, Germany.

[11] Konig, F., 2008, Scheduling in Water Business, Diploma Thesis, Faculty of Informatics, Universitat Karlsruhe, Karlsruhe.

[12] Obitko, M., 1998, Introduction to Genetic Algorithms, Czech Technical

University, Prague (www.obitko.com/tutorials/genetic-algorithms).

[13] Raharjo, B. dkk., 2009, Mudah Belajar JAVA, Penerbit Informatika, Bandung

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 91: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

77

[14] Stützle, T.G., 1998, Local Search Algorithms for Combinatorial Problems,

Dissertation, Technische Universität Darmstadt. [15] Tarigan, D., 2008, Pemodelan Vehicle Routing Problem Terbuka dengan

Keterbatasan Waktu, Thesis Sekolah Pascasarjana Universitas Sumatera Utara, Medan.

[16] Toth, P. dan Vigo, D., 2002, The Vehicle Routing Problem, Siam

Publisher, Philadelphia. [17] Wardy, I.S., 2007, Penggunaan Graph dalam Algoritma Semut untuk

Melakukan Optimisasi, Makalah Program Studi Teknik Informatika, Institut Teknologi Bogor, Bandung.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 92: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 1 - 1

Lampiran 1 : Data P01

Depot : 1

Vehicle : 5

Customer : 50

Total jarak max : 0

Kapasitas max : 160

i x y d q

0 30 40 0 0

1 37 52 0 7

2 49 49 0 30

3 52 64 0 16

4 20 26 0 9

5 40 30 0 21

6 21 47 0 15

7 17 63 0 19

8 31 62 0 23

9 52 33 0 11

10 51 21 0 5

11 42 41 0 19

12 31 32 0 29

13 5 25 0 23

14 12 42 0 21

15 36 16 0 10

16 52 41 0 15

17 27 23 0 3

18 17 33 0 41

19 13 13 0 9

20 57 58 0 28

21 62 42 0 8

22 42 57 0 8

23 16 57 0 16

24 8 52 0 10

25 7 38 0 28

26 27 68 0 7

27 30 48 0 15

28 43 67 0 14

29 58 48 0 6

30 58 27 0 19

31 37 69 0 11

32 38 46 0 12

33 46 10 0 23

34 61 33 0 26

35 62 63 0 17

36 63 69 0 6

37 32 22 0 9

38 45 35 0 15

39 59 15 0 14

40 5 6 0 7

41 10 17 0 27

42 21 10 0 13

43 5 64 0 11

44 30 15 0 16

45 39 10 0 10

46 32 39 0 5

47 25 32 0 25

48 25 55 0 17

49 48 28 0 18

50 56 37 0 10

Keterangan : i = customer number

x = koordinat X

y = koordinat Y

d = service duration

q = permintaan / demand

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 93: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 2 - 1

Lampiran 2 : Data P02

Depot : 1

Vehicle : 12

Customer : 75

Total jarak max : 0

Kapasitas max : 140

i x y d q

0 40 40 0 0

1 22 22 0 18

2 36 26 0 26

3 21 45 0 11

4 45 35 0 30

5 55 20 0 21

6 33 34 0 19

7 50 50 0 15

8 55 45 0 16

9 26 59 0 29

10 40 66 0 26

11 55 65 0 37

12 35 51 0 16

13 62 35 0 12

14 62 57 0 31

15 62 24 0 8

16 21 36 0 19

17 33 44 0 20

18 9 56 0 13

19 62 48 0 15

20 66 14 0 22

21 44 13 0 28

22 26 13 0 12

23 11 28 0 6

24 7 43 0 27

25 17 64 0 14

26 41 46 0 18

27 55 34 0 17

28 35 16 0 29

29 52 26 0 13

30 43 26 0 22

31 31 76 0 25

32 22 53 0 28

33 26 29 0 27

34 50 40 0 19

35 55 50 0 10

36 54 10 0 12

37 60 15 0 14

38 47 66 0 24

39 30 60 0 16

40 30 50 0 33

41 12 17 0 15

42 15 14 0 11

43 16 19 0 18

44 21 48 0 17

45 50 30 0 21

46 51 42 0 27

47 50 15 0 19

48 48 21 0 20

49 12 38 0 5

50 15 56 0 22

51 29 39 0 12

52 54 38 0 19

53 55 57 0 22

54 67 41 0 16

55 10 70 0 7

56 6 25 0 26

57 65 27 0 14

58 40 60 0 21

59 70 64 0 24

60 64 4 0 13

61 36 6 0 15

62 30 20 0 18

63 20 30 0 11

64 15 5 0 28

65 50 70 0 9

66 57 72 0 37

67 45 42 0 30

68 38 33 0 10

69 50 4 0 8

70 66 8 0 11

71 59 5 0 3

72 35 60 0 1

73 27 24 0 6

74 40 20 0 10

75 40 37 0 20

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 94: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 3 - 1

Lampiran 3 : Data P03

Depot : 1

Vehicle : 10

Customer : 100

Total jarak max : 0

Kapasitas max : 200

i x y d q 0 35 35 0 0

1 41 49 0 10

2 35 17 0 7

3 55 45 0 13

4 55 20 0 19

5 15 30 0 26

6 25 30 0 3

7 20 50 0 5

8 10 43 0 9

9 55 60 0 16

10 30 60 0 16

11 20 65 0 12

12 50 35 0 19

13 30 25 0 23

14 15 10 0 20

15 30 5 0 8

16 10 20 0 19

17 5 30 0 2

18 20 40 0 12

19 15 60 0 17

20 45 65 0 9

21 45 20 0 11

22 45 10 0 18

23 55 5 0 29

24 65 35 0 3

25 65 20 0 6

26 45 30 0 17

27 35 40 0 16

28 41 37 0 16

29 64 42 0 9

30 40 60 0 21

31 31 52 0 27

32 35 69 0 23

33 53 52 0 11

34 65 55 0 14

35 63 65 0 8

36 2 60 0 5

37 20 20 0 8

38 5 5 0 16

39 60 12 0 31

40 40 25 0 9

41 42 7 0 5

42 24 12 0 5

43 23 3 0 7

44 11 14 0 18

45 6 38 0 16

46 2 48 0 1

47 8 56 0 27

48 13 52 0 36

49 6 68 0 30

50 47 47 0 13

51 49 58 0 10

52 27 43 0 9

53 37 31 0 14

54 57 29 0 18

55 63 23 0 2

56 53 12 0 6

57 32 12 0 7

58 36 26 0 18

59 21 24 0 28

60 17 34 0 3

61 12 24 0 13

62 24 58 0 19

63 27 69 0 10

64 15 77 0 9

65 62 77 0 20

66 49 73 0 25

67 67 5 0 25

68 56 39 0 36

69 37 47 0 6

70 37 56 0 5

71 57 68 0 15

72 47 16 0 25

73 44 17 0 9

74 46 13 0 8

75 49 11 0 18

76 49 42 0 13

77 53 43 0 14

78 61 52 0 3

79 57 48 0 23

80 56 37 0 6

81 55 54 0 26

82 15 47 0 16

83 14 37 0 11

84 11 31 0 7

85 16 22 0 41

86 4 18 0 35

87 28 18 0 26

88 26 52 0 9

89 26 35 0 15

90 31 67 0 3

91 15 19 0 1

92 22 22 0 2

93 18 24 0 22

94 26 27 0 27

95 25 24 0 20

96 22 27 0 11

97 25 21 0 12

98 19 21 0 10

99 20 26 0 9

100 18 18 0 17

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 95: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 4 - 1

Lampiran 4: Data P04

Depot : 1

Vehicle : 14

Customer : 150

Total jarak max : 0

Kapasitas max : 200

i x y d q

0 35 35 0 0

1 37 52 0 7

2 49 49 0 30

3 52 64 0 16

4 20 26 0 9

5 40 30 0 21

6 21 47 0 15

7 17 63 0 19

8 31 62 0 23

9 52 33 0 11

10 51 21 0 5

11 42 41 0 19

12 31 32 0 29

13 5 25 0 23

14 12 42 0 21

15 36 16 0 10

16 52 41 0 15

17 27 23 0 3

18 17 33 0 41

19 13 13 0 9

20 57 58 0 28

21 62 42 0 8

22 42 57 0 8

23 16 57 0 16

24 8 52 0 10

25 7 38 0 28

26 27 68 0 7

27 30 48 0 15

28 43 67 0 14

29 58 48 0 6

30 58 27 0 19

31 37 69 0 11

32 38 46 0 12

33 46 10 0 23

34 61 33 0 26

35 62 63 0 17

36 63 69 0 6

37 32 22 0 9

38 45 35 0 15

39 59 15 0 14

40 5 6 0 7

41 10 17 0 27

42 21 10 0 13

43 5 64 0 11

44 30 15 0 16

45 39 10 0 10

46 32 39 0 5

47 25 32 0 25

48 25 55 0 17

49 48 28 0 18

50 56 37 0 10

51 41 49 0 10

52 35 17 0 7

53 55 45 0 13

54 55 20 0 19

55 15 30 0 26

56 25 30 0 3

57 20 50 0 5

58 10 43 0 9

59 55 60 0 16

60 30 60 0 16

61 20 65 0 12

62 50 35 0 19

63 30 25 0 23

64 15 10 0 20

65 30 5 0 8

66 10 20 0 19

67 5 30 0 2

68 20 40 0 12

69 15 60 0 17

70 45 65 0 9

71 45 20 0 11

72 45 10 0 18

73 55 5 0 29

74 65 35 0 3

75 65 20 0 6

76 45 30 0 17

77 35 40 0 16

78 41 37 0 16

79 64 42 0 9

80 40 60 0 21

81 31 52 0 27

82 35 69 0 23

83 53 52 0 11

84 65 55 0 14

85 63 65 0 8

86 2 60 0 5

87 20 20 0 8

88 5 5 0 16

89 60 12 0 31

90 40 25 0 9

91 42 7 0 5

92 24 12 0 5

93 23 3 0 7

94 11 14 0 18

95 6 38 0 16

96 2 48 0 1

97 8 56 0 27

98 13 52 0 36

99 6 68 0 30

100 47 47 0 13

101 49 58 0 10

102 27 43 0 9

103 37 31 0 14

104 57 29 0 18

105 63 23 0 2

106 53 12 0 6

107 32 12 0 7

108 36 26 0 18

109 21 24 0 28

110 17 34 0 3

111 12 24 0 13

112 24 58 0 19

113 27 69 0 10

114 15 77 0 9

115 62 77 0 20

116 49 73 0 25

117 67 5 0 25

118 56 39 0 36

119 37 47 0 6

120 37 56 0 5

121 57 68 0 15

122 47 16 0 25

123 44 17 0 9

124 46 13 0 8

125 49 11 0 18

126 49 42 0 13

127 53 43 0 14

128 61 52 0 3

129 57 48 0 23

130 56 37 0 6

131 55 54 0 26

132 15 47 0 16

133 14 37 0 11

134 11 31 0 7

135 16 22 0 41

136 4 18 0 35

137 28 18 0 26

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 96: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 4 - 2

138 26 52 0 9

139 26 35 0 15

140 31 67 0 3

141 15 19 0 1

142 22 22 0 2

143 18 24 0 22

144 26 27 0 27

145 25 24 0 20

146 22 27 0 11

147 25 21 0 12

148 19 21 0 10

149 20 26 0 9

150 18 18 0 17

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 97: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 5 - 1

Lampiran 5: Data P05

Depot : 1

Vehicle : 20

Customer : 199

Total jarak max : 0

Kapasitas max : 200

i x y d q

0 35 35 0 0

1 22 22 0 18

2 36 26 0 26

3 21 45 0 11

4 45 35 0 30

5 55 20 0 21

6 33 34 0 19

7 50 50 0 15

8 55 45 0 16

9 26 59 0 29

10 40 66 0 26

11 55 65 0 37

12 35 51 0 16

13 62 35 0 12

14 62 57 0 31

15 62 24 0 8

16 21 36 0 19

17 33 44 0 20

18 9 56 0 13

19 62 48 0 15

20 66 14 0 22

21 44 13 0 28

22 26 13 0 12

23 11 28 0 6

24 7 43 0 27

25 17 64 0 14

26 41 46 0 18

27 55 34 0 17

28 35 16 0 29

29 52 26 0 13

30 43 26 0 22

31 31 76 0 25

32 22 53 0 28

33 26 29 0 27

34 50 40 0 19

35 55 50 0 10

36 54 10 0 12

37 60 15 0 14

38 47 66 0 24

39 30 60 0 16

40 30 50 0 33

41 12 17 0 15

42 15 14 0 11

43 16 19 0 18

44 21 48 0 17

45 50 30 0 21

46 51 42 0 27

47 50 15 0 19

48 48 21 0 20

49 12 38 0 5

50 37 52 0 7

51 49 49 0 30

52 52 64 0 16

53 20 26 0 9

54 40 30 0 21

55 21 47 0 15

56 17 63 0 19

57 31 62 0 23

58 52 33 0 11

59 51 21 0 5

60 42 41 0 19

61 31 32 0 29

62 5 25 0 23

63 12 42 0 21

64 36 16 0 10

65 52 41 0 15

66 27 23 0 3

67 17 33 0 41

68 13 13 0 9

69 57 58 0 28

70 62 42 0 8

71 42 57 0 8

72 16 57 0 16

73 8 52 0 10

74 7 38 0 28

75 27 68 0 7

76 30 48 0 15

77 43 67 0 14

78 58 48 0 6

79 58 27 0 19

80 37 69 0 11

81 38 46 0 12

82 46 10 0 23

83 61 33 0 26

84 62 63 0 17

85 63 69 0 6

86 32 22 0 9

87 45 35 0 15

88 59 15 0 14

89 5 6 0 7

90 10 17 0 27

91 21 10 0 13

92 5 64 0 11

93 30 15 0 16

94 39 10 0 10

95 32 39 0 5

96 25 32 0 25

97 25 55 0 17

98 48 28 0 18

99 56 37 0 10

100 41 49 0 10

101 35 17 0 7

102 55 45 0 13

103 55 20 0 19

104 15 30 0 26

105 25 30 0 3

106 20 50 0 5

107 10 43 0 9

108 55 60 0 16

109 30 60 0 16

110 20 65 0 12

111 50 35 0 19

112 30 25 0 23

113 15 10 0 20

114 30 5 0 8

115 10 20 0 19

116 5 30 0 2

117 20 40 0 12

118 15 60 0 17

119 45 65 0 9

120 45 20 0 11

121 45 10 0 18

122 55 5 0 29

123 65 35 0 3

124 65 20 0 6

125 45 30 0 17

126 35 40 0 16

127 41 37 0 16

128 64 42 0 9

129 40 60 0 21

130 31 52 0 27

131 35 69 0 23

132 53 52 0 11

133 65 55 0 14

134 63 65 0 8

135 2 60 0 5

136 20 20 0 8

137 5 5 0 16

138 60 12 0 31

139 40 25 0 9

140 42 7 0 5

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 98: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 5 - 2

141 24 12 0 5

142 23 3 0 7

143 11 14 0 18

144 6 38 0 16

145 2 48 0 1

146 8 56 0 27

147 13 52 0 36

148 6 68 0 30

149 47 47 0 13

150 49 58 0 10

151 27 43 0 9

152 37 31 0 14

153 57 29 0 18

154 63 23 0 2

155 53 12 0 6

156 32 12 0 7

157 36 26 0 18

158 21 24 0 28

159 17 34 0 3

160 12 24 0 13

161 24 58 0 19

162 27 69 0 10

163 15 77 0 9

164 62 77 0 20

165 49 73 0 25

166 67 5 0 25

167 56 39 0 36

168 37 47 0 6

169 37 56 0 5

170 57 68 0 15

171 47 16 0 25

172 44 17 0 9

173 46 13 0 8

174 49 11 0 18

175 49 42 0 13

176 53 43 0 14

177 61 52 0 3

178 57 48 0 23

179 56 37 0 6

180 55 54 0 26

181 15 47 0 16

182 14 37 0 11

183 11 31 0 7

184 16 22 0 41

185 4 18 0 35

186 28 18 0 26

187 26 52 0 9

188 26 35 0 15

189 31 67 0 3

190 15 19 0 1

191 22 22 0 2

192 18 24 0 22

193 26 27 0 27

194 25 24 0 20

195 22 27 0 11

196 25 21 0 12

197 19 21 0 10

198 20 26 0 9

199 8 18 0 17

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 99: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 6 - 1

Lampiran 6: Data P06

Depot : 1

Vehicle : 11

Customer : 50

Total jarak max : 200

Kapasitas max : 160

i x y d q

0 30 40 0 0

1 37 52 10 7

2 49 49 10 30

3 52 64 10 16

4 20 26 10 9

5 40 30 10 21

6 21 47 10 15

7 17 63 10 19

8 31 62 10 23

9 52 33 10 11

10 51 21 10 5

11 42 41 10 19

12 31 32 10 29

13 5 25 10 23

14 12 42 10 21

15 36 16 10 10

16 52 41 10 15

17 27 23 10 3

18 17 33 10 41

19 13 13 10 9

20 57 58 10 28

21 62 42 10 8

22 42 57 10 8

23 16 57 10 16

24 8 52 10 10

25 7 38 10 28

26 27 68 10 7

27 30 48 10 15

28 43 67 10 14

29 58 48 10 6

30 58 27 10 19

31 37 69 10 11

32 38 46 10 12

33 46 10 10 23

34 61 33 10 26

35 62 63 10 17

36 63 69 10 6

37 32 22 10 9

38 45 35 10 15

39 59 15 10 14

40 5 6 10 7

41 10 17 10 27

42 21 10 10 13

43 5 64 10 11

44 30 15 10 16

45 39 10 10 10

46 32 39 10 5

47 25 32 10 25

48 25 55 10 17

49 48 28 10 18

50 56 37 10 10

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 100: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 7 - 1

Lampiran 7: Data P07

Depot : 1

Vehicle : 22

Customer : 75

Total jarak max : 160

Kapasitas max : 140

i x y d q

0 40 40 0 0

1 22 22 10 18

2 36 26 10 26

3 21 45 10 11

4 45 35 10 30

5 55 20 10 21

6 33 34 10 19

7 50 50 10 15

8 55 45 10 16

9 26 59 10 29

10 40 66 10 26

11 55 65 10 37

12 35 51 10 16

13 62 35 10 12

14 62 57 10 31

15 62 24 10 8

16 21 36 10 19

17 33 44 10 20

18 9 56 10 13

19 62 48 10 15

20 66 14 10 22

21 44 13 10 28

22 26 13 10 12

23 11 28 10 6

24 7 43 10 27

25 17 64 10 14

26 41 46 10 18

27 55 34 10 17

28 35 16 10 29

29 52 26 10 13

30 43 26 10 22

31 31 76 10 25

32 22 53 10 28

33 26 29 10 27

34 50 40 10 19

35 55 50 10 10

36 54 10 10 12

37 60 15 10 14

38 47 66 10 24

39 30 60 10 16

40 30 50 10 33

41 12 17 10 15

42 15 14 10 11

43 16 19 10 18

44 21 48 10 17

45 50 30 10 21

46 51 42 10 27

47 50 15 10 19

48 48 21 10 20

49 12 38 10 5

50 15 56 10 22

51 29 39 10 12

52 54 38 10 19

53 55 57 10 22

54 67 41 10 16

55 10 70 10 7

56 6 25 10 26

57 65 27 10 14

58 40 60 10 21

59 70 64 10 24

60 64 4 10 13

61 36 6 10 15

62 30 20 10 18

63 20 30 10 11

64 15 5 10 28

65 50 70 10 9

66 57 72 10 37

67 45 42 10 30

68 38 33 10 10

69 50 4 10 8

70 66 8 10 11

71 59 5 10 3

72 35 60 10 1

73 27 24 10 6

74 40 20 10 10

75 40 37 10 20

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 101: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 8 - 1

Lampiran 8: Data P08

Depot : 1

Vehicle : 20

Customer : 100

Total jarak max : 230

Kapasitas max : 200

i x y d q

0 35 35 0 0

1 41 49 10 10

2 35 17 10 7

3 55 45 10 13

4 55 20 10 19

5 15 30 10 26

6 25 30 10 3

7 20 50 10 5

8 10 43 10 9

9 55 60 10 16

10 30 60 10 16

11 20 65 10 12

12 50 35 10 19

13 30 25 10 23

14 15 10 10 20

15 30 5 10 8

16 10 20 10 19

17 5 30 10 2

18 20 40 10 12

19 15 60 10 17

20 45 65 10 9

21 45 20 10 11

22 45 10 10 18

23 55 5 10 29

24 65 35 10 3

25 65 20 10 6

26 45 30 10 17

27 35 40 10 16

28 41 37 10 16

29 64 42 10 9

30 40 60 10 21

31 31 52 10 27

32 35 69 10 23

33 53 52 10 11

34 65 55 10 14

35 63 65 10 8

36 2 60 10 5

37 20 20 10 8

38 5 5 10 16

39 60 12 10 31

40 40 25 10 9

41 42 7 10 5

42 24 12 10 5

43 23 3 10 7

44 11 14 10 18

45 6 38 10 16

46 2 48 10 1

47 8 56 10 27

48 13 52 10 36

49 6 68 10 30

50 47 47 10 13

51 49 58 10 10

52 27 43 10 9

53 37 31 10 14

54 57 29 10 18

55 63 23 10 2

56 53 12 10 6

57 32 12 10 7

58 36 26 10 18

59 21 24 10 28

60 17 34 10 3

61 12 24 10 13

62 24 58 10 19

63 27 69 10 10

64 15 77 10 9

65 62 77 10 20

66 49 73 10 25

67 67 5 10 25

68 56 39 10 36

69 37 47 10 6

70 37 56 10 5

71 57 68 10 15

72 47 16 10 25

73 44 17 10 9

74 46 13 10 8

75 49 11 10 18

76 49 42 10 13

77 53 43 10 14

78 61 52 10 3

79 57 48 10 23

80 56 37 10 6

81 55 54 10 26

82 15 47 10 16

83 14 37 10 11

84 11 31 10 7

85 16 22 10 41

86 4 18 10 35

87 28 18 10 26

88 26 52 10 9

89 26 35 10 15

90 31 67 10 3

91 15 19 10 1

92 22 22 10 2

93 18 24 10 22

94 26 27 10 27

95 25 24 10 20

96 22 27 10 11

97 25 21 10 12

98 19 21 10 10

99 20 26 10 9

100 18 18 10 17

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 102: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 9 - 1

Lampiran 9: Data P09

Depot : 1

Vehicle : 32

Customer : 150

Total jarak max : 200

Kapasitas max : 200

i x y d q

0 35 35 0 0

1 37 52 10 7

2 49 49 10 30

3 52 64 10 16

4 20 26 10 9

5 40 30 10 21

6 21 47 10 15

7 17 63 10 19

8 31 62 10 23

9 52 33 10 11

10 51 21 10 5

11 42 41 10 19

12 31 32 10 29

13 5 25 10 23

14 12 42 10 21

15 36 16 10 10

16 52 41 10 15

17 27 23 10 3

18 17 33 10 41

19 13 13 10 9

20 57 58 10 28

21 62 42 10 8

22 42 57 10 8

23 16 57 10 16

24 8 52 10 10

25 7 38 10 28

26 27 68 10 7

27 30 48 10 15

28 43 67 10 14

29 58 48 10 6

30 58 27 10 19

31 37 69 10 11

32 38 46 10 12

33 46 10 10 23

34 61 33 10 26

35 62 63 10 17

36 63 69 10 6

37 32 22 10 9

38 45 35 10 15

39 59 15 10 14

40 5 6 10 7

41 10 17 10 27

42 21 10 10 13

43 5 64 10 11

44 30 15 10 16

45 39 10 10 10

46 32 39 10 5

47 25 32 10 25

48 25 55 10 17

49 48 28 10 18

50 56 37 10 10

51 41 49 10 10

52 35 17 10 7

53 55 45 10 13

54 55 20 10 19

55 15 30 10 26

56 25 30 10 3

57 20 50 10 5

58 10 43 10 9

59 55 60 10 16

60 30 60 10 16

61 20 65 10 12

62 50 35 10 19

63 30 25 10 23

64 15 10 10 20

65 30 5 10 8

66 10 20 10 19

67 5 30 10 2

68 20 40 10 12

69 15 60 10 17

70 45 65 10 9

71 45 20 10 11

72 45 10 10 18

73 55 5 10 29

74 65 35 10 3

75 65 20 10 6

76 45 30 10 17

77 35 40 10 16

78 41 37 10 16

79 64 42 10 9

80 40 60 10 21

81 31 52 10 27

82 35 69 10 23

83 53 52 10 11

84 65 55 10 14

85 63 65 10 8

86 2 60 10 5

87 20 20 10 8

88 5 5 10 16

89 60 12 10 31

90 40 25 10 9

91 42 7 10 5

92 24 12 10 5

93 23 3 10 7

94 11 14 10 18

95 6 38 10 16

96 2 48 10 1

97 8 56 10 27

98 13 52 10 36

99 6 68 10 30

100 47 47 10 13

101 49 58 10 10

102 27 43 10 9

103 37 31 10 14

104 57 29 10 18

105 63 23 10 2

106 53 12 10 6

107 32 12 10 7

108 36 26 10 18

109 21 24 10 28

110 17 34 10 3

111 12 24 10 13

112 24 58 10 19

113 27 69 10 10

114 15 77 10 9

115 62 77 10 20

116 49 73 10 25

117 67 5 10 25

118 56 39 10 36

119 37 47 10 6

120 37 56 10 5

121 57 68 10 15

122 47 16 10 25

123 44 17 10 9

124 46 13 10 8

125 49 11 10 18

126 49 42 10 13

127 53 43 10 14

128 61 52 10 3

129 57 48 10 23

130 56 37 10 6

131 55 54 10 26

132 15 47 10 16

133 14 37 10 11

134 11 31 10 7

135 16 22 10 41

136 4 18 10 35

137 28 18 10 26

138 26 52 10 9

139 26 35 10 15

140 31 67 10 3

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 103: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 9 - 2

141 15 19 10 1

142 22 22 10 2

143 18 24 10 22

144 26 27 10 27

145 25 24 10 20

146 22 27 10 11

147 25 21 10 12

148 19 21 10 10

149 20 26 10 9

150 18 18 10 17

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 104: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 10 - 1

Lampiran 10: Data P10

Depot : 1

Vehicle : 42

Customer : 199

Total jarak max : 200

Kapasitas max : 200

i x y d q

0 35 35 0 0

1 22 22 10 18

2 36 26 10 26

3 21 45 10 11

4 45 35 10 30

5 55 20 10 21

6 33 34 10 19

7 50 50 10 15

8 55 45 10 16

9 26 59 10 29

10 40 66 10 26

11 55 65 10 37

12 35 51 10 16

13 62 35 10 12

14 62 57 10 31

15 62 24 10 8

16 21 36 10 19

17 33 44 10 20

18 9 56 10 13

19 62 48 10 15

20 66 14 10 22

21 44 13 10 28

22 26 13 10 12

23 11 28 10 6

24 7 43 10 27

25 17 64 10 14

26 41 46 10 18

27 55 34 10 17

28 35 16 10 29

29 52 26 10 13

30 43 26 10 22

31 31 76 10 25

32 22 53 10 28

33 26 29 10 27

34 50 40 10 19

35 55 50 10 10

36 54 10 10 12

37 60 15 10 14

38 47 66 10 24

39 30 60 10 16

40 30 50 10 33

41 12 17 10 15

42 15 14 10 11

43 16 19 10 18

44 21 48 10 17

45 50 30 10 21

46 51 42 10 27

47 50 15 10 19

48 48 21 10 20

49 12 38 10 5

50 37 52 10 7

51 49 49 10 30

52 52 64 10 16

53 20 26 10 9

54 40 30 10 21

55 21 47 10 15

56 17 63 10 19

57 31 62 10 23

58 52 33 10 11

59 51 21 10 5

60 42 41 10 19

61 31 32 10 29

62 5 25 10 23

63 12 42 10 21

64 36 16 10 10

65 52 41 10 15

66 27 23 10 3

67 17 33 10 41

68 13 13 10 9

69 57 58 10 28

70 62 42 10 8

71 42 57 10 8

72 16 57 10 16

73 8 52 10 10

74 7 38 10 28

75 27 68 10 7

76 30 48 10 15

77 43 67 10 14

78 58 48 10 6

79 58 27 10 19

80 37 69 10 11

81 38 46 10 12

82 46 10 10 23

83 61 33 10 26

84 62 63 10 17

85 63 69 10 6

86 32 22 10 9

87 45 35 10 15

88 59 15 10 14

89 5 6 10 7

90 10 17 10 27

91 21 10 10 13

92 5 64 10 11

93 30 15 10 16

94 39 10 10 10

95 32 39 10 5

96 25 32 10 25

97 25 55 10 17

98 48 28 10 18

99 56 37 10 10

100 41 49 10 10

101 35 17 10 7

102 55 45 10 13

103 55 20 10 19

104 15 30 10 26

105 25 30 10 3

106 20 50 10 5

107 10 43 10 9

108 55 60 10 16

109 30 60 10 16

110 20 65 10 12

111 50 35 10 19

112 30 25 10 23

113 15 10 10 20

114 30 5 10 8

115 10 20 10 19

116 5 30 10 2

117 20 40 10 12

118 15 60 10 17

119 45 65 10 9

120 45 20 10 11

121 45 10 10 18

122 55 5 10 29

123 65 35 10 3

124 65 20 10 6

125 45 30 10 17

126 35 40 10 16

127 41 37 10 16

128 64 42 10 9

129 40 60 10 21

130 31 52 10 27

131 35 69 10 23

132 53 52 10 11

133 65 55 10 14

134 63 65 10 8

135 2 60 10 5

136 20 20 10 8

137 5 5 10 16

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 105: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 10 - 2

138 60 12 10 31

139 40 25 10 9

140 42 7 10 5

141 24 12 10 5

142 23 3 10 7

143 11 14 10 18

144 6 38 10 16

145 2 48 10 1

146 8 56 10 27

147 13 52 10 36

148 6 68 10 30

149 47 47 10 13

150 49 58 10 10

151 27 43 10 9

152 37 31 10 14

153 57 29 10 18

154 63 23 10 2

155 53 12 10 6

156 32 12 10 7

157 36 26 10 18

158 21 24 10 28

159 17 34 10 3

160 12 24 10 13

161 24 58 10 19

162 27 69 10 10

163 15 77 10 9

164 62 77 10 20

165 49 73 10 25

166 67 5 10 25

167 56 39 10 36

168 37 47 10 6

169 37 56 10 5

170 57 68 10 15

171 47 16 10 25

172 44 17 10 9

173 46 13 10 8

174 49 11 10 18

175 49 42 10 13

176 53 43 10 14

177 61 52 10 3

178 57 48 10 23

179 56 37 10 6

180 55 54 10 26

181 15 47 10 16

182 14 37 10 11

183 11 31 10 7

184 16 22 10 41

185 4 18 10 35

186 28 18 10 26

187 26 52 10 9

188 26 35 10 15

189 31 67 10 3

190 15 19 10 1

191 22 22 10 2

192 18 24 10 22

193 26 27 10 27

194 25 24 10 20

195 22 27 10 11

196 25 21 10 12

197 19 21 10 10

198 20 26 10 9

199 18 18 10 17

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 106: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 11 - 1

Lampiran 11: Data P11

Depot : 1

Vehicle : 8

Customer : 120

Total jarak max : 0

Kapasitas max : 200

i x y d q

0 10 45 0 0

1 25 1 0 25

2 25 3 0 7

3 31 5 0 13

4 32 5 0 6

5 31 7 0 14

6 32 9 0 5

7 34 9 0 11

8 46 9 0 19

9 35 7 0 5

10 34 6 0 15

11 35 5 0 15

12 47 6 0 17

13 40 5 0 13

14 39 3 0 12

15 36 3 0 18

16 73 6 0 13

17 73 8 0 18

18 24 36 0 12

19 76 6 0 17

20 76 10 0 4

21 76 13 0 7

22 78 3 0 12

23 78 9 0 13

24 79 3 0 8

25 79 5 0 16

26 79 11 0 15

27 82 3 0 6

28 82 7 0 5

29 90 15 0 9

30 84 3 0 11

31 84 5 0 10

32 84 9 0 3

33 85 1 0 7

34 87 5 0 2

35 85 8 0 4

36 87 7 0 4

37 86 41 0 18

38 86 44 0 14

39 86 46 0 12

40 85 55 0 17

41 89 43 0 20

42 89 46 0 14

43 89 52 0 16

44 92 42 0 10

45 92 52 0 9

46 94 42 0 11

47 94 44 0 7

48 94 48 0 13

49 96 42 0 5

50 99 46 0 4

51 99 50 0 21

52 83 80 0 13

53 83 83 0 11

54 85 81 0 12

55 85 85 0 14

56 85 89 0 10

57 87 80 0 8

58 87 86 0 16

59 90 77 0 19

60 90 88 0 5

61 93 82 0 17

62 93 84 0 7

63 93 89 0 16

64 94 86 0 14

65 95 80 0 17

66 99 89 0 13

67 37 83 0 17

68 50 80 0 13

69 35 85 0 14

70 35 87 0 16

71 44 86 0 7

72 46 89 0 13

73 46 83 0 9

74 46 87 0 11

75 46 89 0 35

76 48 83 0 5

77 50 85 0 28

78 50 88 0 7

79 54 86 0 3

80 54 90 0 10

81 10 35 0 7

82 10 40 0 12

83 18 30 0 11

84 17 35 0 10

85 16 38 0 8

86 14 40 0 11

87 15 42 0 21

88 11 42 0 4

89 18 40 0 15

90 21 39 0 16

91 20 40 0 4

92 18 41 0 16

93 20 44 0 7

94 22 44 0 10

95 16 45 0 9

96 20 45 0 11

97 25 45 0 17

98 30 55 0 12

99 20 50 0 11

100 22 51 0 7

101 18 49 0 9

102 16 48 0 11

103 20 55 0 12

104 18 53 0 7

105 14 50 0 8

106 15 51 0 6

107 16 54 0 5

108 28 33 0 12

109 33 38 0 13

110 30 50 0 7

111 13 40 0 7

112 15 36 0 8

113 18 31 0 11

114 25 37 0 13

115 30 46 0 11

116 25 52 0 10

117 16 33 0 7

118 25 35 0 4

119 5 40 0 20

120 5 50 0 13

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 107: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 12 - 1

Lampiran 12: Data P12

Depot : 1

Vehicle : 12

Customer : 100

Total jarak max : 0

Kapasitas max : 200

i x y d q

0 40 50 0 0

1 45 68 0 10

2 45 70 0 30

3 42 66 0 10

4 42 68 0 10

5 42 65 0 10

6 40 69 0 20

7 40 66 0 20

8 38 68 0 20

9 38 70 0 10

10 35 66 0 10

11 35 69 0 10

12 25 85 0 20

13 22 75 0 30

14 22 85 0 10

15 20 80 0 40

16 20 85 0 40

17 18 75 0 20

18 15 75 0 20

19 15 80 0 10

20 30 50 0 10

21 30 52 0 20

22 28 52 0 20

23 28 55 0 10

24 25 50 0 10

25 25 52 0 40

26 25 55 0 10

27 23 52 0 10

28 23 55 0 20

29 20 50 0 10

30 20 55 0 10

31 10 35 0 20

32 10 40 0 30

33 8 40 0 40

34 8 45 0 20

35 5 35 0 10

36 5 45 0 10

37 2 40 0 20

38 0 40 0 30

39 0 45 0 20

40 35 30 0 10

41 35 32 0 10

42 33 32 0 20

43 33 35 0 10

44 32 30 0 10

45 30 30 0 10

46 30 32 0 30

47 30 35 0 10

48 28 30 0 10

49 28 35 0 10

50 26 32 0 10

51 25 30 0 10

52 25 35 0 10

53 44 5 0 20

54 42 10 0 40

55 42 15 0 10

56 40 5 0 30

57 40 15 0 40

58 38 5 0 30

59 38 15 0 10

60 35 5 0 20

61 50 30 0 10

62 50 35 0 20

63 50 40 0 50

64 48 30 0 10

65 48 40 0 10

66 47 35 0 10

67 47 40 0 10

68 45 30 0 10

69 45 35 0 10

70 95 30 0 30

71 95 35 0 20

72 53 30 0 10

73 92 30 0 10

74 53 35 0 50

75 45 65 0 20

76 90 35 0 10

77 88 30 0 10

78 88 35 0 20

79 87 30 0 10

80 85 25 0 10

81 85 35 0 30

82 75 55 0 20

83 72 55 0 10

84 70 58 0 20

85 68 60 0 30

86 66 55 0 10

87 65 55 0 20

88 65 60 0 30

89 63 58 0 10

90 60 55 0 10

91 60 60 0 10

92 67 85 0 20

93 65 85 0 40

94 65 82 0 10

95 62 80 0 30

96 60 80 0 10

97 60 85 0 30

98 58 75 0 20

99 55 80 0 10

100 55 85 0 20

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 108: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 13 - 1

Lampiran 13: Data P13

Depot : 1

Vehicle : 18

Customer : 120

Total jarak max : 720

Kapasitas max : 200

i x y d q

0 10 45 0 0

1 25 1 50 25

2 25 3 50 7

3 31 5 50 13

4 32 5 50 6

5 31 7 50 14

6 32 9 50 5

7 34 9 50 11

8 46 9 50 19

9 35 7 50 5

10 34 6 50 15

11 35 5 50 15

12 47 6 50 17

13 40 5 50 13

14 39 3 50 12

15 36 3 50 18

16 73 6 50 13

17 73 8 50 18

18 24 36 50 12

19 76 6 50 17

20 76 10 50 4

21 76 13 50 7

22 78 3 50 12

23 78 9 50 13

24 79 3 50 8

25 79 5 50 16

26 79 11 50 15

27 82 3 50 6

28 82 7 50 5

29 90 15 50 9

30 84 3 50 11

31 84 5 50 10

32 84 9 50 3

33 85 1 50 7

34 87 5 50 2

35 85 8 50 4

36 87 7 50 4

37 86 41 50 18

38 86 44 50 14

39 86 46 50 12

40 85 55 50 17

41 89 43 50 20

42 89 46 50 14

43 89 52 50 16

44 92 42 50 10

45 92 52 50 9

46 94 42 50 11

47 94 44 50 7

48 94 48 50 13

49 96 42 50 5

50 99 46 50 4

51 99 50 50 21

52 83 80 50 13

53 83 83 50 11

54 85 81 50 12

55 85 85 50 14

56 85 89 50 10

57 87 80 50 8

58 87 86 50 16

59 90 77 50 19

60 90 88 50 5

61 93 82 50 17

62 93 84 50 7

63 93 89 50 16

64 94 86 50 14

65 95 80 50 17

66 99 89 50 13

67 37 83 50 17

68 50 80 50 13

69 35 85 50 14

70 35 87 50 16

71 44 86 50 7

72 46 89 50 13

73 46 83 50 9

74 46 87 50 11

75 46 89 50 35

76 48 83 50 5

77 50 85 50 28

78 50 88 50 7

79 54 86 50 3

80 54 90 50 10

81 10 35 50 7

82 10 40 50 12

83 18 30 50 11

84 17 35 50 10

85 16 38 50 8

86 14 40 50 11

87 15 42 50 21

88 11 42 50 4

89 18 40 50 15

90 21 39 50 16

91 20 40 50 4

92 18 41 50 16

93 20 44 50 7

94 22 44 50 10

95 16 45 50 9

96 20 45 50 11

97 25 45 50 17

98 30 55 50 12

99 20 50 50 11

100 22 51 50 7

101 18 49 50 9

102 16 48 50 11

103 20 55 50 12

104 18 53 50 7

105 14 50 50 8

106 15 51 50 6

107 16 54 50 5

108 28 33 50 12

109 33 38 50 13

110 30 50 50 7

111 13 40 50 7

112 15 36 50 8

113 18 31 50 11

114 25 37 50 13

115 30 46 50 11

116 25 52 50 10

117 16 33 50 7

118 25 35 50 4

119 5 40 50 20

120 5 50 50 13

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 109: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 14 - 1

Lampiran 14: Data P14

Depot : 1

Vehicle : 15

Customer : 100

Total jarak max : 1040

Kapasitas max : 200

i x y d q

0 40 50 0 0

1 45 68 90 10

2 45 70 90 30

3 42 66 90 10

4 42 68 90 10

5 42 65 90 10

6 40 69 90 20

7 40 66 90 20

8 38 68 90 20

9 38 70 90 10

10 35 66 90 10

11 35 69 90 10

12 25 85 90 20

13 22 75 90 30

14 22 85 90 10

15 20 80 90 40

16 20 85 90 40

17 18 75 90 20

18 15 75 90 20

19 15 80 90 10

20 30 50 90 10

21 30 52 90 20

22 28 52 90 20

23 28 55 90 10

24 25 50 90 10

25 25 52 90 40

26 25 55 90 10

27 23 52 90 10

28 23 55 90 20

29 20 50 90 10

30 20 55 90 10

31 10 35 90 20

32 10 40 90 30

33 8 40 90 40

34 8 45 90 20

35 5 35 90 10

36 5 45 90 10

37 2 40 90 20

38 0 40 90 30

39 0 45 90 20

40 35 30 90 10

41 35 32 90 10

42 33 32 90 20

43 33 35 90 10

44 32 30 90 10

45 30 30 90 10

46 30 32 90 30

47 30 35 90 10

48 28 30 90 10

49 28 35 90 10

50 26 32 90 10

51 25 30 90 10

52 25 35 90 10

53 44 5 90 20

54 42 10 90 40

55 42 15 90 10

56 40 5 90 30

57 40 15 90 40

58 38 5 90 30

59 38 15 90 10

60 35 5 90 20

61 50 30 90 10

62 50 35 90 20

63 50 40 90 50

64 48 30 90 10

65 48 40 90 10

66 47 35 90 10

67 47 40 90 10

68 45 30 90 10

69 45 35 90 10

70 95 30 90 30

71 95 35 90 20

72 53 30 90 10

73 92 30 90 10

74 53 35 90 50

75 45 65 90 20

76 90 35 90 10

77 88 30 90 10

78 88 35 90 20

79 87 30 90 10

80 85 25 90 10

81 85 35 90 30

82 75 55 90 20

83 72 55 90 10

84 70 58 90 20

85 68 60 90 30

86 66 55 90 10

87 65 55 90 20

88 65 60 90 30

89 63 58 90 10

90 60 55 90 10

91 60 60 90 10

92 67 85 90 20

93 65 85 90 40

94 65 82 90 10

95 62 80 90 30

96 60 80 90 10

97 60 85 90 30

98 58 75 90 20

99 55 80 90 10

100 55 85 90 20

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 110: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 1

Lampiran 15 : Source Code Program File: input.java package vrpiaco;

import java.io.File;

import java.io.IOException;

import java.util.LinkedList;

import java.util.List;

import java.util.Random;

import javax.swing.JFileChooser;

import javax.swing.JOptionPane;

import javax.swing.JTable;

import jxl.Sheet;

import jxl.Workbook;

import jxl.read.biff.BiffException;

/**

*

* @author run

*/

public class input extends javax.swing.JFrame {

private static int nV;

static public int nC;

private static double E;

private static double W;

private static double alpha;

private static double betha;

private static double rho;

private static double thao;

private static double T;

private static double Q;

private static double[][] mJarak;

private static double[] demand;

private double[][] mPheromone;

//private double serviceDuration;

private Object[][] absTabJarak;

private Object[][] absTabDemand;

static public LinkedList<List> solusiVRP = new

LinkedList<List>();

static public double[] distanceAkhir, demandAkhir;

static public double ExDur;

static public double serviceDuration;

boolean cekInput;

private double[][] coordinatNode;

/** Creates new form input */

public input() {

initComponents();

}

/** This method is called from within the constructor to

* initialize the form.

* WARNING: Do NOT modify this code. The content of this

method is

* always regenerated by the Form Editor.

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 111: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 2

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated

Code">

private void initComponents() {

jLabel1 = new javax.swing.JLabel();

jLabel2 = new javax.swing.JLabel();

jTextField1 = new javax.swing.JTextField();

jLabel3 = new javax.swing.JLabel();

jTextField2 = new javax.swing.JTextField();

jLabel4 = new javax.swing.JLabel();

jLabel5 = new javax.swing.JLabel();

jLabel6 = new javax.swing.JLabel();

jLabel7 = new javax.swing.JLabel();

jLabel8 = new javax.swing.JLabel();

jLabel9 = new javax.swing.JLabel();

jTextField9 = new javax.swing.JTextField();

jTextField10 = new javax.swing.JTextField();

jTextField11 = new javax.swing.JTextField();

jTextField12 = new javax.swing.JTextField();

jTextField13 = new javax.swing.JTextField();

jTextField14 = new javax.swing.JTextField();

jLabel10 = new javax.swing.JLabel();

jButton1 = new javax.swing.JButton();

jLabel11 = new javax.swing.JLabel();

jTextField15 = new javax.swing.JTextField();

jButton2 = new javax.swing.JButton();

jScrollPane1 = new javax.swing.JScrollPane();

jScrollPane2 = new javax.swing.JScrollPane();

jLabel12 = new javax.swing.JLabel();

jTextField3 = new javax.swing.JTextField();

jButton3 = new javax.swing.JButton();

jCheckBox1 = new javax.swing.JCheckBox();

jTextField4 = new javax.swing.JTextField();

jLabel13 = new javax.swing.JLabel();

jLabel14 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CL

OSE);

setTitle("<< VRP-IACO >>");

setFont(new java.awt.Font("Meiryo UI", 1, 10));

setForeground(java.awt.Color.blue);

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowIconified(java.awt.event.WindowEvent

evt) {

formWindowIconified(evt);

}

});

jLabel1.setFont(new java.awt.Font("Tahoma", 3, 16));

jLabel1.setText("Algoritma IACO untuk Menyelesaikan

Vehicle Routing Problem (VRP) ");

jLabel2.setText("Kendaraan ");

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 112: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 3

jTextField1.setText("5");

jTextField1.addActionListener(new

java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent

evt) {

jTextField1ActionPerformed(evt);

}

});

jLabel3.setText("Customer");

jTextField2.setEnabled(false);

jTextField2.addActionListener(new

java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent

evt) {

jTextField2ActionPerformed(evt);

}

});

jTextField2.addKeyListener(new java.awt.event.KeyAdapter()

{

public void keyPressed(java.awt.event.KeyEvent evt) {

jTextField2KeyPressed(evt);

}

});

jLabel4.setText("Jarak Max. Kendaraan (E)");

jLabel5.setText("Kapasitas Max. Kendaraan (W)");

jLabel6.setText("Alpha (α)");

jLabel7.setText("Beta (β)");

jLabel8.setText("Rho (ρ)");

jLabel9.setText("Pheromon Awal");

jTextField9.setText("0");

jTextField9.addActionListener(new

java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent

evt) {

jTextField9ActionPerformed(evt);

}

});

jTextField10.setText("160");

jTextField10.addActionListener(new

java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent

evt) {

jTextField10ActionPerformed(evt);

}

});

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 113: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 4

jTextField11.setText("2");

jTextField11.addActionListener(new

java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent

evt) {

jTextField11ActionPerformed(evt);

}

});

jTextField12.setText("5");

jTextField12.addActionListener(new

java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent

evt) {

jTextField12ActionPerformed(evt);

}

});

jTextField13.setText("0.8");

jTextField13.addActionListener(new

java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent

evt) {

jTextField13ActionPerformed(evt);

}

});

jTextField14.setText("0.1");

jTextField14.addActionListener(new

java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent

evt) {

jTextField14ActionPerformed(evt);

}

});

jLabel10.setFont(new java.awt.Font("Meiryo UI", 0, 11));

jButton1.setFont(new java.awt.Font("Tahoma", 1, 12));

jButton1.setText("START (MULAI)");

jButton1.addActionListener(new

java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent

evt) {

jButton1ActionPerformed(evt);

}

});

jLabel11.setText("Total Iterasi (T)");

jTextField15.setText("1000");

jTextField15.addActionListener(new

java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent

evt) {

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 114: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 5

jTextField15ActionPerformed(evt);

}

});

jButton2.setText("Browse File Jarak Non-Koordinat...");

jButton2.addActionListener(new

java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent

evt) {

jButton2ActionPerformed(evt);

}

});

jLabel12.setText("Konstanta Q");

jTextField3.setText("1000");

jButton3.setText("Browse File Jarak Koordinat...");

jButton3.addActionListener(new

java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent

evt) {

jButton3ActionPerformed(evt);

}

});

jCheckBox1.setText("Service Duration");

jCheckBox1.addActionListener(new

java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent

evt) {

jCheckBox1ActionPerformed(evt);

}

});

jTextField4.setEnabled(false);

jTextField4.addActionListener(new

java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent

evt) {

jTextField4ActionPerformed(evt);

}

});

jLabel13.setText("DATA JARAK PELANGGAN");

jLabel14.setText("DATA DEMAND / PERMINTAAN PELANGGAN");

javax.swing.GroupLayout layout = new

javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI

NG)

.addGroup(layout.createSequentialGroup()

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 115: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 6

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.TRAILING)

.addGroup(layout.createSequentialGroup()

.addGap(25, 25, 25)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addComponent(jLabel2)

.addComponent(jLabel3)

.addComponent(jLabel4)

.addComponent(jLabel5)

.addComponent(jLabel6)

.addComponent(jLabel7)

.addComponent(jLabel8)

.addComponent(jLabel9)

.addComponent(jLabel12)

.addComponent(jLabel11))

.addGap(48, 48, 48)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING, false)

.addComponent(jTextField3)

.addComponent(jTextField15)

.addComponent(jTextField14)

.addComponent(jTextField13)

.addComponent(jTextField12)

.addComponent(jTextField11)

.addComponent(jTextField10)

.addComponent(jTextField9)

.addComponent(jTextField2)

.addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE,

58, Short.MAX_VALUE)))

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 116: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 7

.addComponent(jButton1,

javax.swing.GroupLayout.PREFERRED_SIZE, 187,

javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jCheckBox1,

javax.swing.GroupLayout.DEFAULT_SIZE, 219, Short.MAX_VALUE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA

TED)

.addComponent(jTextField4,

javax.swing.GroupLayout.PREFERRED_SIZE, 57,

javax.swing.GroupLayout.PREFERRED_SIZE)))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE

D)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addComponent(jScrollPane2,

javax.swing.GroupLayout.DEFAULT_SIZE, 506, Short.MAX_VALUE)

.addComponent(jScrollPane1,

javax.swing.GroupLayout.Alignment.TRAILING,

javax.swing.GroupLayout.DEFAULT_SIZE, 506, Short.MAX_VALUE)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

layout.createSequentialGroup()

.addComponent(jButton2)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE

D, 130, Short.MAX_VALUE)

.addComponent(jButton3))

.addGroup(layout.createSequentialGroup()

.addGap(185, 185, 185)

.addComponent(jLabel13)))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE

D))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

layout.createSequentialGroup()

.addComponent(jLabel14)

.addGap(148, 148, 148)))

.addComponent(jLabel10))

.addGroup(layout.createSequentialGroup()

.addGap(86, 86, 86)

.addComponent(jLabel1,

javax.swing.GroupLayout.PREFERRED_SIZE, 710,

javax.swing.GroupLayout.PREFERRED_SIZE)))

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 117: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 8

.addContainerGap(42, Short.MAX_VALUE))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI

NG)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

layout.createSequentialGroup()

.addContainerGap()

.addComponent(jLabel1,

javax.swing.GroupLayout.PREFERRED_SIZE, 29,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(36, 36, 36)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.BASELINE)

.addComponent(jLabel2)

.addComponent(jTextField1,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jButton2)

.addComponent(jButton3))

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(16, 16, 16)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.BASELINE)

.addComponent(jLabel3)

.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(12, 12, 12)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.BASELINE)

.addComponent(jLabel4)

.addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE,

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 118: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 9

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA

TED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.BASELINE)

.addComponent(jLabel5)

.addComponent(jTextField10,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA

TED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.BASELINE)

.addComponent(jLabel6)

.addComponent(jTextField11,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA

TED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.BASELINE)

.addComponent(jLabel7)

.addComponent(jTextField12,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA

TED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.BASELINE)

.addComponent(jLabel8)

.addComponent(jTextField13,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA

TED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.BASELINE)

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 119: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 10

.addComponent(jLabel9)

.addComponent(jTextField14,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE

D)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.BASELINE)

.addComponent(jTextField15,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel11))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE

D)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.BASELINE)

.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel12)))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

layout.createSequentialGroup()

.addGap(31, 31, 31)

.addComponent(jScrollPane1,

javax.swing.GroupLayout.PREFERRED_SIZE, 244,

javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING, false)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

layout.createSequentialGroup()

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELA

TED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.BASELINE)

.addComponent(jCheckBox1)

.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE,

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 120: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 11

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE

D, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jButton1,

javax.swing.GroupLayout.PREFERRED_SIZE, 33,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(layout.createSequentialGroup()

.addGap(16, 16, 16)

.addComponent(jLabel14)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATE

D)

.addComponent(jScrollPane2,

javax.swing.GroupLayout.PREFERRED_SIZE, 79,

javax.swing.GroupLayout.PREFERRED_SIZE))))

.addComponent(jLabel10, 0, 0,

Short.MAX_VALUE))

.addGap(46, 46, 46))

.addGroup(layout.createSequentialGroup()

.addGap(110, 110, 110)

.addComponent(jLabel13)))

.addContainerGap())

);

pack();

}// </editor-fold>

private void

jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void

jTextField9ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void

jTextField10ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void

jTextField11ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void

jTextField12ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 121: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 12

private void

jTextField13ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void

jTextField14ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void formWindowIconified(java.awt.event.WindowEvent

evt) {

// TODO add your handling code here:

}

private void

jTextField15ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void

jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

/*try{

inputVar();

inputJarak j=new inputJarak();

j.setVisible(true);

//}catch(Exception e){

// System.out.println(e);

//}

*

*/

try{

JFileChooser fc=new JFileChooser();

int res=fc.showOpenDialog(this);

if(res==JFileChooser.APPROVE_OPTION){

File file=fc.getSelectedFile();

String dir=file.getPath();

setTableFromExcel(dir);

}

}

catch(Exception e){

}

}

private void

jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

long waktuMulai = System.currentTimeMillis();

inputVar();

if(cekInput){

for(int i=0;i<T;i++){

System.out.println("\n\n");

System.out.println("\n========================================");

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 122: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 13

System.out.println("======== ITERASI KE- "+i+"

=============");

System.out.println("========================================\n");

//tampilArray(mPheromone); //menampilkan update

pheromone

LinkedList<List> x = ruteConstruction();

// cek apakah rute const tidak visible

if(x == null){

JOptionPane.showMessageDialog(this,"Coba perbesar

jumlah inputan kendaraan.", "Running Error !",

JOptionPane.ERROR_MESSAGE);

return;

}

if(i==0){

solusiVRP.clear();

copyList(x, solusiVRP);

}

System.out.println("\n============== RUTE CONSTRUCTION

==========");

tampilList(x);

System.out.println("\n=====>>> PROSES MUTASI

<<<=====");

double pm = (double) 1/nC + Math.pow((double) 1/nV-

(double) 1/nC, (double)(1 - (double) i/T)) ;

LinkedList<List> y = mutation(x, pm);

double[] before = getSumDistance(x), after =

getSumDistance(y);

LinkedList<List> bestOnIt = new LinkedList<List>();

if((after != null) && (before[x.size()] >

after[y.size()])){

//bestOnIt.clear();

//copyList(x,bestOnIt);

bestOnIt.clear();

copyList(y,bestOnIt);

}

else{

//bestOnIt.clear();

//copyList(y,bestOnIt);

bestOnIt.clear();

copyList(x,bestOnIt);

}

double[] sol = getSumDistance(solusiVRP);

double[] solBestOnIt = getSumDistance(bestOnIt);

if(sol[solusiVRP.size()] >

solBestOnIt[bestOnIt.size()]){

solusiVRP.clear();

copyList(bestOnIt, solusiVRP);

}

//System.out.println("X = "+x);

//System.out.println("Y = "+y);

//System.out.println("Before = "+before[x.size()]);

//System.out.println("After = "+after[y.size()]);

//System.out.println("Solusi global =

"+sol[solusiVRP.size()]);

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 123: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 14

//System.out.println("solBestOnIt =

"+solBestOnIt[bestOnIt.size()]);

System.out.println("\n=========== Solusi Terbaik

==========");

tampilList(solusiVRP);

if(i!=T-1){

updatePheromone();

}

System.out.println("====================================\n");

}

}

//untuk menampilkan durasi eksekusi

distanceAkhir = getSumDistance(solusiVRP);

demandAkhir = getAllDemand(solusiVRP);

long waktuSelesai = System.currentTimeMillis();

ExDur =(double) (waktuSelesai - waktuMulai)/1000;

ExDur = Math.ceil(ExDur);

System.out.println("waktu durasi = "/*+ waktuSelesai+" -

"+waktuMulai+" = "*/+Math.ceil((double)(waktuSelesai -

waktuMulai)/1000)+" detik");

new resultForm().setVisible(true);

}

private void jTextField2KeyPressed(java.awt.event.KeyEvent

evt) {

// TODO add your handling code here:

}

private void

jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void

jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

try{

JFileChooser fc=new JFileChooser();

int res=fc.showOpenDialog(this);

if(res==JFileChooser.APPROVE_OPTION){

File file=fc.getSelectedFile();

String dir=file.getPath();

setTabelFromExcel1(dir);

}

}

catch(Exception e){

}

}

private void

jCheckBox1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

if (jCheckBox1.isSelected()==true){

jTextField4.setEnabled(true);

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 124: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 15

}else {

jTextField4.setEnabled(false);

jTextField4.setText("");

}

}

private void

jTextField4ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

@Override

public void run() {

new input().setVisible(true);

}

});

}

// Variables declaration - do not modify

private javax.swing.JButton jButton1;

private javax.swing.JButton jButton2;

private javax.swing.JButton jButton3;

private javax.swing.JCheckBox jCheckBox1;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel10;

private javax.swing.JLabel jLabel11;

private javax.swing.JLabel jLabel12;

private javax.swing.JLabel jLabel13;

private javax.swing.JLabel jLabel14;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JLabel jLabel8;

private javax.swing.JLabel jLabel9;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JScrollPane jScrollPane2;

private javax.swing.JTextField jTextField1;

private javax.swing.JTextField jTextField10;

private javax.swing.JTextField jTextField11;

private javax.swing.JTextField jTextField12;

private javax.swing.JTextField jTextField13;

private javax.swing.JTextField jTextField14;

private javax.swing.JTextField jTextField15;

private javax.swing.JTextField jTextField2;

private javax.swing.JTextField jTextField3;

private javax.swing.JTextField jTextField4;

private javax.swing.JTextField jTextField9;

// End of variables declaration

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 125: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 16

private void inputVar(){

cekInput = true;

try{

nV=Integer.parseInt(jTextField1.getText());

nC=Integer.parseInt(jTextField2.getText());

E=Double.parseDouble(jTextField9.getText());

W=Double.parseDouble(jTextField10.getText());

alpha=Double.parseDouble(jTextField11.getText());

betha=Double.parseDouble(jTextField12.getText());

rho=Double.parseDouble(jTextField13.getText());

thao=Double.parseDouble(jTextField14.getText());

T=Double.parseDouble(jTextField15.getText());

Q=Double.parseDouble(jTextField3.getText());

if("".equals(jTextField4.getText())){

serviceDuration = 0; // jika gak dicentang sama aja

dengan diisi 0

}

else{

serviceDuration =

Double.parseDouble(jTextField4.getText());

}

}catch(Exception e){

JOptionPane.showMessageDialog(this, "Inputan ada yang

error \n"+e, "Warning", JOptionPane.ERROR_MESSAGE);

cekInput = false;

return;

}

//cek kesimetrisan matrix alur dan jarak

String[] cekSimetri = new String[2];

cekSimetri = isMatrixSimetris(mJarak);

if( "false".equals(cekSimetri[0]) ){

cekInput = false;

JOptionPane.showMessageDialog(this, cekSimetri[1],

"Warning", JOptionPane.WARNING_MESSAGE);

return;

}

cekSimetri = cekDemand();

if( "false".equals(cekSimetri[0]) ){

cekInput = false;

JOptionPane.showMessageDialog(this, cekSimetri[1],

"Warning", JOptionPane.WARNING_MESSAGE);

return;

}

// matrix pheromone awal

mPheromone = new double[nC+1][nC+1];

for(int i=0;i<=nC;i++){

for(int j=i+1;j<=nC;j++){

mPheromone[i][j] = thao;

mPheromone[j][i] = thao;

}

}

//tampilArray(mPheromone);

}

private void setTableFromExcel(String Dir) throws IOException,

BiffException{

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 126: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 17

Workbook wb = Workbook.getWorkbook(new File(Dir)); //file

yang akan dibuka

Sheet sit1 = wb.getSheet(0); //mendapatkan sheet tabel

jarak

Sheet sit2 = wb.getSheet(1); //mendapatkan sheet tabel

demand

int nCity=sit1.getRows(); // baris terakhir yang terisi

jTextField2.setText(""+(nCity-1));

absTabJarak=new Object[nCity][nCity+1];

absTabDemand = new Object[1][nCity];

mJarak = new double[nCity][nCity];

demand = new double[nCity];

String[] nmKlm= new String[nCity+1]; // nama kolom jarak

String[] nmKlmDemand = new String[nCity];

nmKlm[0]="Ci | Cj";

for(int i=0;i<nCity;i++){ // memberikan nama kolom dan

baris

nmKlm[i+1] = "C"+i;

nmKlmDemand[i] = "C"+i;

absTabJarak[i][0] = "C"+i;

}

for (int i=0;i<nCity;i++){

for(int j=0;j<nCity;j++){

absTabJarak[i][j+1] =

Double.parseDouble(sit1.getCell(j,i).getContents());

mJarak[i][j] =

Double.parseDouble(sit1.getCell(j,i).getContents());

}

absTabDemand[0][i] =

Double.parseDouble(sit2.getCell(i,0).getContents());

demand[i] =

Double.parseDouble(sit2.getCell(i,0).getContents());

}

JTable tabJarak = new JTable(absTabJarak,nmKlm);

tabJarak.getColumnModel().getColumn(0).setPreferredWidth(50);

tabJarak.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

tabJarak.setEnabled(false);

jScrollPane1.setViewportView(tabJarak);

JTable tabDemand = new JTable(absTabDemand,nmKlmDemand);

tabDemand.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

tabDemand.setEnabled(false);

jScrollPane2.setViewportView(tabDemand);

// set coordinatNode

coordinatNode = null;

}

private void setTabelFromExcel1(String Dir) throws

IOException, BiffException{

Workbook wb = Workbook.getWorkbook(new File(Dir)); //file

yang akan dibuka

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 127: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 18

Sheet sit1 = wb.getSheet(0); //mendapatkan sheet tabel

jarak

int nCity=sit1.getRows(); // baris terakhir yang terisi

jTextField2.setText(""+(nCity-1));

absTabJarak=new Object[nCity][nCity+1];

absTabDemand = new Object[1][nCity];

mJarak = new double[nCity][nCity];

demand = new double[nCity];

String[] nmKlm= new String[nCity+1]; // nama kolom jarak

String[] nmKlmDemand = new String[nCity];

nmKlm[0]="Ci | Cj";

for(int i=0;i<nCity;i++){ // memberikan nama kolom dan

baris

nmKlm[i+1] = "C"+i;

nmKlmDemand[i] = "C"+i;

absTabJarak[i][0] = "C"+i;

}

coordinatNode = new double[nCity][2]; // kolom 0 adalah x,

dan kolom 1 adalah y

// take koordinat x , y dan take demand serta set

absTabDemand

if("".equals(jTextField4.getText())){

serviceDuration = 0; // -1 idiom NULL

}

else{

serviceDuration =

Double.parseDouble(jTextField4.getText());

}

for (int i=0;i<nCity;i++){

coordinatNode[i][0] =

Double.parseDouble(sit1.getCell(1,i).getContents());

coordinatNode[i][1] =

Double.parseDouble(sit1.getCell(2,i).getContents());

demand[i] =

Double.parseDouble(sit1.getCell(4,i).getContents());

absTabDemand[0][i] = demand[i];

}

// set mjarak dan absTabJarak

for (int i=0;i<nCity;i++){

for(int j=i;j<nCity;j++){

mJarak[i][j] =

Math.sqrt(Math.pow(coordinatNode[i][0]-coordinatNode[j][0], 2) +

Math.pow(coordinatNode[i][1]-coordinatNode[j][1], 2));

mJarak[j][i] = mJarak[i][j];

absTabJarak[i][j+1] = mJarak[i][j];

absTabJarak[j][i+1] = mJarak[j][i];

}

}

JTable tabJarak = new JTable(absTabJarak,nmKlm);

tabJarak.getColumnModel().getColumn(0).setPreferredWidth(50);

tabJarak.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

tabJarak.setEnabled(false);

jScrollPane1.setViewportView(tabJarak);

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 128: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 19

JTable tabDemand = new JTable(absTabDemand,nmKlmDemand);

tabDemand.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

tabDemand.setEnabled(false);

jScrollPane2.setViewportView(tabDemand);

}

private LinkedList<List> ruteConstruction(){

LinkedList<List> solusi;

LinkedList<Integer> availableCity ;

int cek=0; // membatasi banyaknya ruteconts

do{

solusi = new LinkedList<List>(); // solusi merupakan list

yang isinya linkedlist ant (be double link list)

LinkedList<Integer> ant;

// membuat variable kota2 yang masih tersedia (belum

terpilih)

availableCity = new LinkedList<Integer>();

for(int i=0;i<nC;i++){

availableCity.add(i+1);

}

//System.out.print("Kota yang tersedia awal : ");

//System.out.println(availableCity + "\n");

//pembentukan solusi yang diisi setiap ant

while( !availableCity.isEmpty() && solusi.size() < nV){

int kotaAwal = 0;

int kotaTujuan;

E=Double.parseDouble(jTextField9.getText()); //

refresh nilai E untuk setiap semut (karena sudah terpakai oleh

semut sebelumnya)

W=Double.parseDouble(jTextField10.getText()); //

refresh nilai W untuk setiap semut (karena sudah terpakai oleh

semut sebelumnya)

ant = new LinkedList<Integer>();

do{ // mendapatkan rute setiap semut

kotaTujuan = seekCity(availableCity, kotaAwal);

if(kotaTujuan != 0){

ant.add(kotaTujuan);

availableCity.remove(availableCity.indexOf(kotaTujuan));

kotaAwal = kotaTujuan;

}

}while(kotaTujuan != 0);

// System.out.print("Kota yang tersedia : ");

// System.out.println(availableCity);

// System.out.print("Kota yang terpilih : ");

// System.out.println(ant +"\n");

solusi.add(ant);

}

E=Double.parseDouble(jTextField9.getText()); // refresh

nilai E (karena sudah terpakai pada proses pencarian rute)

W=Double.parseDouble(jTextField10.getText()); // refresh

nilai W (karena sudah terpakai pada proses pencarian rute)

if(cek++ > nC){ // cek apakah lebih besar jumlah cust

return solusi = null;

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 129: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 20

}

}while(!availableCity.isEmpty());

return solusi;

}

public static int getNVehicle(){

return nV;

}

public static int getNCust(){

return nC;

}

public double getE(){

return E;

}

public double getW(){

return W;

}

public double getAlpha(){

return alpha;

}

public double getBetha(){

return betha;

}

public double getRho(){

return rho;

}

public double getThao(){

return thao;

}

public double getT(){

return T;

}

public double getQ(){

return Q;

}

public double getserviceDuration(){

return serviceDuration;

}

// private method supported

private double sigmaPIJK(int awal, LinkedList<Integer> kota){

// kota disini adalah kota yang belum ada pada tabuList

double sigma = 0;

int nKota = kota.size();

for(int i=0;i<nKota;i++){

sigma += Math.pow(mPheromone[awal][kota.get(i)],

alpha) * Math.pow(1/(mJarak[awal][kota.get(i)]+serviceDuration),

betha);

}

return sigma;

}

private int seekCity(LinkedList<Integer> avCity, int

kotaAwal){

int kotaTujuan;

int nKota = avCity.size();

LinkedList<Double> listPIJK = new LinkedList<Double>();

double pijk;

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 130: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 21

for(int i=0;i<nKota;i++){ // menghitung pijk pada

availableCity

if(kotaAwal!=avCity.get(i)){

pijk = Math.pow(mPheromone[kotaAwal][avCity.get(i)],

alpha) *

Math.pow(1/(mJarak[kotaAwal][avCity.get(i)]+serviceDuration),

betha)/(sigmaPIJK(kotaAwal, avCity));

listPIJK.add(pijk);

//System.out.println("ListPIJK "+kotaAwal+"

"+avCity.get(i)+" = "+listPIJK);

}

}

kotaTujuan = 0;

if(E > 0){

for(int i=0;i<nKota;i++){

//kotaTujuan = avCity.get(indexMax(listPIJK)); //

mendapatkan kota tujuan dengan pijk rollet well

kotaTujuan = avCity.get(indexRW(listPIJK));

if((mJarak[kotaAwal][kotaTujuan]+serviceDuration) < E

&& demand[kotaTujuan] <= W && (E-

(mJarak[kotaAwal][kotaTujuan]+serviceDuration))>=(mJarak[kotaTujua

n][0])){

E -= mJarak[kotaAwal][kotaTujuan]+serviceDuration;

W -= demand[kotaTujuan];

/*

if (demand[kotaTujuan] > W &&

(mJarak[kotaAwal][kotaTujuan]+serviceDuration) > E &&

E<=mJarak[kotaAwal][0]+serviceDuration){

//kotaTujuan = 0;

E=E-mJarak[kotaAwal][0]+serviceDuration;

listPIJK.set(i, -1.0);

break;

}*/

break;

}else {

kotaTujuan = 0;

E=E-mJarak[kotaAwal][0];

//System.out.println("Jarak "+kotaAwal+" ke

"+kotaTujuan+" = "+mJarak[kotaAwal][0]);

listPIJK.set(i, -1.0);

}

}

}

else if(E == 0){

for(int i=0;i<nKota;i++){

//kotaTujuan = avCity.get(indexMax(listPIJK)); //

mendapatkan kota tujuan dengan pijk max

kotaTujuan = avCity.get(indexRW(listPIJK));

if( demand[kotaTujuan] <= W || E-

mJarak[kotaAwal][kotaTujuan]+serviceDuration >

mJarak[kotaTujuan][0]+serviceDuration){

W -= demand[kotaTujuan];

break;

}else{

kotaTujuan = 0;

listPIJK.set(i, -1.0);

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 131: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 22

}

}

}

////////////////

//System.out.println("kota tujuan = "+kotaTujuan);

//System.out.println("Jarak kota tujuan =

"+(mJarak[kotaAwal][kotaTujuan]+serviceDuration));

//System.out.println("Total jarak vehicle saat ini = "+E);

//System.out.println("Total demand =

"+demand[kotaTujuan]);

//System.out.println("Kapasitas kendaraan saat ini =

"+W+"\n");

return kotaTujuan;

}

private int indexRolletWell(LinkedList<Double> pijk){

int hasil = 0;

int n = pijk.size();

Random r = new Random();

double[] randomRolletWell = new double[n]; // nilai random

rollet well

double[] randomRolletWellBagi = new double[n];

double sumRandRollWell = 0;

for(int i=0;i<n;i++){

randomRolletWell[i] = r.nextDouble();

sumRandRollWell += randomRolletWell[i];

}

for (int i=0;i<n;i++){

randomRolletWellBagi[i]=randomRolletWell[i]/sumRandRollWell;

//System.out.println("Nilai random index pijk ke-"+i+"

= "+randomRolletWellBagi[i]);

}

double RANDOM = r.nextDouble(); // nilai random tunggal

//System.out.println("Random tunggal = "+RANDOM);

double luasRollet=0;

for(int i=0;i<n;i++){

luasRollet += randomRolletWell[i]/sumRandRollWell;

//System.out.println("Rollet well = "+luasRollet);

if(RANDOM <= luasRollet){

hasil = i;

//System.out.println("Index yg terpilih =

"+hasil+"\n");

break;

}

}

//System.out.println("index rollet = "+hasil);

return hasil;

}

private int indexRW(LinkedList<Double> pijk){

int indexRW = 0;

int nPIJK = pijk.size();

double sumPIJK = pijk.get(0);

Random r = new Random();

double RANDOM = r.nextDouble();

for(int i=0;i<nPIJK;i++){

sumPIJK+=pijk.get(i);

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 132: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 23

if(RANDOM<=sumPIJK){

indexRW = i;

break;

}

}

return indexRW;

}

private int indexMax(LinkedList<Double> pijk){

int indexMax = 0;

double max = pijk.get(0);

int nPIJK = pijk.size();

for(int i=0;i<nPIJK;i++){

if(pijk.get(i) > max){

max = pijk.get(i);

indexMax = i;

}

}

return indexMax;

}

private double[] getSumDistance(LinkedList<List> list){ //

metode mendapatkan distance pada solusi yang sudah terbentuk

double[] sum;

if(list == null){ // jika list null

return sum = null;

}

// jika tidak null

int n = list.size();

/*

* sum merupakan total jarak dari setiap semut

* ex : n = 3; maka sum.length = 3+1 = 4; sehingga sum[0]

= total jarak semut ke -0, dst.

* untuk sum[4] (yang terakhir) merupakan total seluruhnya

*/

sum = new double[n+1];

for(int i=0;i<n;i++){

LinkedList<Integer> vecList = (LinkedList<Integer>)

list.get(i);

sum[i] = getDistanceAnt(vecList); // jarak yang

ditempuh semut ke -i

sum[n] += sum[i]; // total jarak

}

return sum;

}

private double getDistanceAnt(LinkedList<Integer> list){

double dist = 0;

int m = list.size();

int kotaAwal = 0;

int kotaTujuan;

for(int j=0;j<m;j++){

kotaTujuan = list.get(j);

dist += mJarak[kotaAwal][kotaTujuan]+serviceDuration;

kotaAwal = kotaTujuan;

if(j==m-1){

dist+= mJarak[kotaAwal][0];break;

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 133: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 24

//System.out.println("Jarak "+kotaAwal+" ke 0

= "+mJarak[kotaAwal][0]);break;

}

}

//kotaTujuan = 0;

//dist += mJarak[kotaAwal][kotaTujuan];

//if(serviceDuration != -1){

// dist += serviceDuration*m;

//}

return dist;

}

private double[] getAllDemand(LinkedList<List> list){

int n = list.size();

double[] all = new double[n];

for(int i=0;i<n;i++){

LinkedList<Integer> vecList = (LinkedList<Integer>)

list.get(i);

all[i] = getDemandAnt(vecList);

}

return all;

}

private double getDemandAnt(LinkedList<Integer> list){

int hasil = 0;

int m = list.size();

for(int i=0;i<m;i++){

hasil += demand[list.get(i)];

}

return hasil;

}

private double[] getAllJarak(LinkedList<List> list){

int n = list.size();

double[] all = new double[n];

for(int i=0;i<n;i++){

LinkedList<Integer> vecList = (LinkedList<Integer>)

list.get(i);

all[i] = getJarakAnt(vecList);

}

return all;

}

private double getJarakAnt(LinkedList<Integer> list){

int hasil = 0;

int m = list.size();

for(int i=0;i<m;i++){

for(int j=i;j<m;j++){

hasil += mJarak[list.get(i)][list.get(j)];

}

}

return hasil;

}

private LinkedList<List> mutation(LinkedList<List> list,

double pm){

LinkedList<List> mut = new LinkedList<List>();

int n = list.size();

if(n<2){ // jika pada list hanya ada semut < 2, maka akan

menghasilkan null

return mut = null;

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 134: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 25

}

copyList(list, mut); // mencopy list mutasi dari parameter

list

double[] dist = getSumDistance(list);

//prosedur mutasi yang baru, pilih rute secara random

Random a = new Random();

int indSemutMut1 = 0, indSemutMut2 = 0;

indSemutMut1 = a.nextInt(n);

indSemutMut2 = a.nextInt(n);

int indSemut1 = 0, indSemut2 = 0;

double max = dist[0];

for(int i=1;i<n;i++){

if(dist[i] > max){

indSemut1 = i; // mndapatkan indek (rute ke)

semut 1 terpilih yang akan dimutasi ataupun local search

max = dist[i];

}

}

dist[indSemut1] = -1; // index semut yang terpilih

dijadikan null

max = dist[0];

for(int i=1;i<n;i++){

if(dist[i] > max){

indSemut2 = i; // mndapatkan indek (rute ke)

semut 2 terpilih yang akan dimutasi ataupun local search

max = dist[i];

}

}

/*

* semut1 adalah semut yang terpiih untuk mutasi ataupun

local search

* semut2 adalah semut yang terpiih untuk mutasi ataupun

local search

*/

LinkedList<Integer> semut1 = (LinkedList<Integer>)

mut.get(indSemutMut1);

LinkedList<Integer> semut2 = (LinkedList<Integer>)

mut.get(indSemutMut2);

LinkedList<Integer> semutLS1 = (LinkedList<Integer>)

mut.get(indSemut1);

LinkedList<Integer> semutLS2 = (LinkedList<Integer>)

mut.get(indSemut2);

/* ================ proses mutasi ====================

* indexSemut1 adalah kota yang terpilih pada semut1 yang

< pm ataupun yang terkecil

* indexSemut2 adalah kota yang terpilih pada semut2 yang

< pm ataupun yang terkecil

*/

int indexSemut1 = getIndexSubList(semut1, pm); // jika < 0

maka idiom dg null (berarti tidak ada yang kurank dari pm)

int indexSemut2 = getIndexSubList(semut2, pm); // jika < 0

maka idiom dg null (berarti tidak ada yang kurank dari pm)

int indexSemutLS1 = getIndexSubList(semutLS1, pm);

int indexSemutLS2 = getIndexSubList(semutLS2, pm);

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 135: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 26

System.out.println("Pm = "+pm);

if(indexSemut1 < 0 || indexSemut2 < 0){ // jika salah satu

null maka dirandom

System.out.println("\n========= TIDAK TERJADI MUTASI

==========");

System.out.println("=====>>> LOCAL SEARCH <<<=====");

Random r = new Random();

indexSemut1 = r.nextInt(semutLS1.size());

indexSemut2 = r.nextInt(semutLS2.size());

System.out.println("Index semut 1 (rute ke-

"+indSemut1+") adalah customer urutan ke- "+(indexSemut1+1));

System.out.println("Index semut 2 (rute ke-

"+indSemut2+") adalah customer urutan ke- "+(indexSemut2+1));

//tukar nilai yang terpilih pada semut 1 dan 2

int tempSwap = semutLS1.get(indexSemut1);

semutLS1.set(indexSemut1, semutLS2.get(indexSemut2));

semutLS2.set(indexSemut2, tempSwap);

System.out.println("SETELAH DI SWAP");

tampilList(mut);

if(isTrueDemand(mut)==false ||

isTrueJarak(mut)==false){

System.out.println("\bLocal search tidak dilanjut

karena ada Demand atau Kapasitas yang invisible.\n");

return mut = null;

}

}

else{

System.out.println("======= TERJADI MUTASI

=========");

System.out.println("Index semut 1 (rute ke-

"+indSemutMut1+") adalah customer urutan ke- "+(indexSemut1+1));

System.out.println("Index semut 2 (rute ke-

"+indSemutMut2+") adalah customer urutan ke- "+(indexSemut2+1));

//tukar nilai yang terpilih pada semut 1 dan 2

int tempSwap = semut1.get(indexSemut1);

semut1.set(indexSemut1, semut2.get(indexSemut2));

semut2.set(indexSemut2, tempSwap);

System.out.println("SETELAH DI SWAP");

tampilList(mut);

if(isTrueDemand(mut)==false ||

isTrueJarak(mut)==false){ // jika ada yang melebihi demand dan

kapasitas

System.out.println("\bMutasi tidak dilanjutkan

karena ada Demand atau Kapasitas yang invisible.\n");

// kembalikan swap tadi

tempSwap = semut1.get(indexSemut1);

semut1.set(indexSemut1, semut2.get(indexSemut2));

semut2.set(indexSemut2, tempSwap);

Random r = new Random();

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 136: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 27

indexSemut1 = r.nextInt(semutLS1.size());

indexSemut2 = r.nextInt(semutLS2.size());

System.out.println("=====>>> LOCAL SEARCH

<<<=====");

System.out.println("Index semut 1 (rute ke-

"+indSemut1+") adalah customer urutan ke- "+(indexSemut1+1));

System.out.println("Index semut 2 (rute ke-

"+indSemut2+") adalah customer urutan ke- "+(indexSemut2+1));

//tukar nilai yang terpilih pada semut 1 dan 2

tempSwap = semutLS1.get(indexSemut1);

semutLS1.set(indexSemut1,

semutLS2.get(indexSemut2));

semutLS2.set(indexSemut2, tempSwap);

System.out.println("SETELAH DI SWAP");

tampilList(mut);

if(isTrueDemand(mut)==false ||

isTrueJarak(mut)==false){

System.out.println("\bLocal search tidak

dilanjut karena ada Demand atau Kapasitas yang invisible.\n");

return mut = null;

}

}

}

/* ============= proses local search ================

*

*/

//System.out.println("index pos 1 = "+indPos1+" dan index

pos 2 = "+indPos2);

LinkedList<Integer> locSrc1 = localSearch(semut1,

indexSemut1);

LinkedList<Integer> locSrc2 = localSearch(semut2,

indexSemut2);

int sizeLocSrc1 = locSrc1.size(), sizeLocSrc2 =

locSrc2.size();

// setting semut1 dan semut 2 dengan hasil local seacrh

for(int i=0;i<sizeLocSrc1;i++){

semut1.set(i, locSrc1.get(i));

}

for(int i=0;i<sizeLocSrc2;i++){

semut2.set(i, locSrc2.get(i));

}

System.out.println("SETELAH PROSES LOCAL SEARCH");

tampilList(mut);

return mut;

}

private int getIndexSubList(LinkedList<Integer> semut, double

pm){ // method khusus untuk mutasi dengan tujuan mendapatkan index

dari nilai yang < pm dan yang paling terkecil nilai randomnya

int hasil = -1; // -1 idiom null

int n = semut.size();

Random r = new Random();

double randomMin = 0;

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 137: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 28

for(int i=0;i<n;i++){

double rand = r.nextDouble();

if(rand < pm){

if(hasil < 0 || rand < randomMin){

hasil = i;

randomMin = rand;

}

}

}

// if (hasil == -1){

// System.out.println("Nilai random = "+randomMin+"

pada customer urutan ke- "+(hasil)+". Artinya tidak ada randoman <

Pm.");

// }else{

// System.out.println("Nilai random = "+randomMin+"

pada customer urutan ke- "+(hasil+1));

// }

return hasil;

}

private LinkedList<Integer> localSearch(LinkedList<Integer>

list, int indPos){ // metode local search pada metode

LinkedList<Integer> hasil = new LinkedList<Integer>();

LinkedList<Integer> temp = new LinkedList<Integer>();

temp = copyListAnt(list);

System.out.println("======= PROSES LOCAL SEARCH SEMUT

=========");

double distTemp = getDistanceAnt(temp);

hasil = copyListAnt(temp); double distHasil = distTemp;

int n = temp.size();

System.out.println(temp+" => "+distTemp);

for(int i=1;i<n;i++){ // local search dengan mencari

distance yang terkecil

// swap element ke i-1 dengan i

int swap = temp.get(i-1);

temp.set(i-1, temp.get(i));

temp.set(i, swap);

distTemp = getDistanceAnt(temp);

System.out.println(temp+" => "+distTemp);

if(distTemp < distHasil){

hasil = copyListAnt(temp);

distHasil = distTemp;

}

}

System.out.println("Hasil : "+hasil+" => "+distHasil);

return hasil;

}

private void updatePheromone(){

int n = mPheromone.length;

for(int i=0;i<n;i++){

for(int j=i+1;j<n;j++){

mPheromone[i][j] *= rho;

mPheromone[j][i] *= rho;

}

}

int K = solusiVRP.size(); // banyak rute/semut yang

digunakan

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 138: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 29

double[] distanceRute = getSumDistance(solusiVRP);

for(int i=0;i<K;i++){

LinkedList<Integer> ant = (LinkedList<Integer>)

solusiVRP.get(i);

int m = ant.size();

int kotaAwal = 0 , kotaTujuan;

for(int j=0;j<m;j++){

kotaTujuan = ant.get(j);

mPheromone[kotaAwal][kotaTujuan] +=

Q/(K*distanceRute[K])*(distanceRute[i]-

(mJarak[kotaAwal][kotaTujuan]+serviceDuration)/(m*distanceRute[i])

);

kotaAwal = kotaTujuan;

}

kotaTujuan = 0;

mPheromone[kotaAwal][kotaTujuan] +=

(Q/(K*distanceRute[K]))*((distanceRute[i]-

(mJarak[kotaAwal][kotaTujuan]+serviceDuration))/(m*distanceRute[i]

));

//System.out.print("Update Pheromone =

"+mPheromone[kotaAwal][kotaTujuan]);

}

}

private LinkedList<Integer> copyListAnt(LinkedList<Integer>

src){

LinkedList<Integer> dest = new LinkedList<Integer>();

int n = src.size();

for(int i=0;i<n;i++){

dest.add(src.get(i));

}

return dest;

}

private void copyList(LinkedList<List> source,

LinkedList<List> destination){

int n = source.size();

for(int i=0;i<n;i++){

LinkedList<Integer> tempSrc = new

LinkedList<Integer>();

tempSrc.addAll(source.get(i));

destination.add(tempSrc);

}

}

private String[] isMatrixSimetris(double[][] matrix){

String[] hasil = new String[2];

hasil[0] = "true"; // merupakan answer this methode

hasil[1] = ""; // status this methode result

int row = matrix.length, col = matrix[0].length;

if( row != col){

hasil[0] = "false";

hasil[1] = "Oppss, sorry matrix anda BUKAN matrix

persegi";

return hasil;

}

if( row == 0){

hasil[0] = "false";

hasil[1] = "Oppss, sorry matrix anda kosong";

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 139: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 30

return hasil;

}

for(int i=0;i<row;i++){

if(matrix[i][i] != 0){

hasil[0] = "false";

hasil[1] = "Diagonal tidak nol !!!\nCek pada

elemen("+i+","+i+")";

return hasil;

}

for(int j=i;j<col;j++){

if( matrix[i][j] != matrix[j][i]){

hasil[0] = "false";

hasil[1] = "Matrix anda tidak simetri !!!\nCek

pada elemen("+i+","+j+") dan elemen ("+j+","+i+")";

return hasil;

}

if( matrix[i][j] < 0 || matrix[j][i] <0){

hasil[0] = "false";

hasil[1] = "Elemen kurang dari 0 !!!\nCek pada

elemen("+i+","+j+") atau elemen ("+j+","+i+")";

return hasil;

}

}

}

return hasil;

}

private String[] cekDemand(){

String[] hasil = new String[2];

hasil[0] = "true"; // merupakan answer this methode

hasil[1] = ""; // status this methode result

if(demand[0] != 0){

hasil[0] = "false";

hasil[1] = "Demand ke- 0 harus sama dengan 0!!!";

return hasil;

}

int n = demand.length;

//for(int i=1;i<n;i++){

//if(demand[i] <= 0){

// hasil[0] = "false";

// hasil[1] = "ada Elemen kurang dari atau sama

dengan 0 !!!\nCek pada elemen- "+i;

// return hasil;

//}

//}

return hasil;

}

private boolean isTrueJarak(LinkedList<List> list){

boolean hasil = true;

int n = list.size();

if (E>0){

for(int i=0;i<n;i++){

LinkedList vecList = (LinkedList) list.get(i);

double jarakAnt = getJarakAnt(vecList);

if(jarakAnt > E){

return hasil = false;

}

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 140: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 31

}

}else{

return hasil = true;

}

return hasil;

}

private boolean isTrueDemand(LinkedList<List> list){

boolean hasil = true;

int n = list.size();

for(int i=0;i<n;i++){

LinkedList vecList = (LinkedList) list.get(i);

double demandAnt = getDemandAnt(vecList);

if(demandAnt > W){

return hasil = false;

}

}

return hasil;

}

// methode show list n all of array

private void tampilList(LinkedList<List> list){ // tampil

solusi

int n = list.size();

double[] dist = getSumDistance(list);

for(int i=0;i<n;i++){

LinkedList vecList = (LinkedList) list.get(i);

double demandAnt = getDemandAnt(vecList);

int m = vecList.size();

System.out.print("Rute ke-"+i+">> ");

System.out.print(" 0 ");

for(int j=0;j<m;j++){

System.out.print(vecList.get(j)+" ");

}

System.out.print("0 ");

System.out.println(" => Jarak = "+dist[i]+", dengan

Demand = "+demandAnt);

}

System.out.println("======= TOTAL JARAK SEMUA RUTE =

"+(dist[n]-serviceDuration*nC)+"\n");

}

private void tampilArray(double[][] array){

int row = array.length;

int col = array[0].length;

for(int i=0;i<row;i++){

for(int j=0;j<col;j++){

System.out.print(array[i][j]+" ");

}

System.out.println();

}

System.out.println();

}

}

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 141: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 32

File: resultForm.java package vrpiaco;

import java.util.LinkedList;

import java.util.List;

/**

*

* @author run

*/

public class resultForm extends javax.swing.JFrame {

double[] dist, demand;

double exDur;

double servDur;

int sumKota;

LinkedList<List> solusi = new LinkedList<List>();

String output = "======= Solusi =========\n\n";

/** Creates new form resultForm */

public resultForm() {

initComponents();

sumKota = input.nC;

servDur = input.serviceDuration;

solusi = input.solusiVRP;

dist = input.distanceAkhir;

demand = input.demandAkhir;

exDur = input.ExDur;

setOutput();

jTextPane1.setText(output);

}

/** This method is called from within the constructor to

* initialize the form.

* WARNING: Do NOT modify this code. The content of this

method is

* always regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated

Code">

private void initComponents() {

jScrollPane1 = new javax.swing.JScrollPane();

jTextPane1 = new javax.swing.JTextPane();

setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CL

OSE);

setTitle("<< SOLUSI >>");

jTextPane1.setEditable(false);

jTextPane1.setFont(new java.awt.Font("Courier New", 0,

13)); // NOI18N

jScrollPane1.setViewportView(jTextPane1);

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 142: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 33

javax.swing.GroupLayout layout = new

javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI

NG)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jScrollPane1,

javax.swing.GroupLayout.DEFAULT_SIZE, 632, Short.MAX_VALUE)

.addContainerGap())

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI

NG)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

layout.createSequentialGroup()

.addContainerGap()

.addComponent(jScrollPane1,

javax.swing.GroupLayout.DEFAULT_SIZE, 410, Short.MAX_VALUE)

.addContainerGap())

);

pack();

}// </editor-fold>

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new resultForm().setVisible(true);

}

});

}

// Variables declaration - do not modify

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JTextPane jTextPane1;

// End of variables declaration

private void setOutput(){

int n = solusi.size();

for(int i=0;i<n;i++){

LinkedList vecList = (LinkedList) solusi.get(i);

output += "Rute ke- "+i+" >> ";

output += "0 ";

int m=vecList.size();

for(int j=0;j<m;j++){

output += vecList.get(j)+" ";

}

output += "0 ";

output += " => Jarak = "+dist[i]+", dengan Demand =

"+demand[i]+"\n";

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 143: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 15 - 34

}

output += "\n======= Total Jarak = "+(dist[solusi.size()]-

servDur*sumKota);

output += "\n\nWaktu Eksekusi = "+exDur+" detik";

}

}

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 144: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 16 - 1

Lampiran 16 : Hasil Implementasi Program pada Permasalahan P01 Parameter inputan Jumlah semut / kendaraan = 5 Jumlah kota = 50 Jarak maksimal kendaraan = 0 Kapasitas kendaraan = 160 Alpha = 2 Beta = 1

Rho = 0,8 Pheromon awal = 0,1 Total iterasi = 1000 Konstanta Q = 1000 Service duration = 0

Output ======= Solusi =========

Rute ke- 0 >> 0 9 21 20 3 32 27 48 23 24 14 17 0 => Jarak =

171.65973469778262, dengan Demand = 157.0

Rute ke- 1 >> 0 41 19 42 38 16 2 50 29 35 36 22 0 => Jarak =

188.11764655359866, dengan Demand = 156.0

Rute ke- 2 >> 0 4 40 13 25 43 26 31 28 6 5 10 46 0 => Jarak =

237.01799540957475, dengan Demand = 156.0

Rute ke- 3 >> 0 7 8 1 11 49 45 15 12 47 0 => Jarak =

137.54798077771983, dengan Demand = 160.0

Rute ke- 4 >> 0 34 30 39 33 44 37 18 0 => Jarak =

121.86774675410962, dengan Demand = 148.0

======= Total Jarak = 856.2111041927855

Running ======== ITERASI KE- 0 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 8 23 32 1 11 33 48 6 7 0 => Jarak =

213.36887943040935, dengan Demand = 151.0

Rute ke-1>> 0 24 3 20 5 38 2 27 22 4 46 0 => Jarak =

224.8324883492912, dengan Demand = 157.0

Rute ke-2>> 0 18 39 12 47 10 45 44 30 0 => Jarak =

215.35557007213004, dengan Demand = 159.0

Rute ke-3>> 0 49 15 37 13 36 31 41 19 25 43 26 0 => Jarak =

337.6817009013983, dengan Demand = 159.0

Rute ke-4>> 0 29 42 17 14 9 35 16 21 50 34 28 40 0 => Jarak =

394.27613625294157, dengan Demand = 151.0

======= TOTAL JARAK SEMUA RUTE = 1385.5147750061703

=========== Solusi Terbaik ==========

Rute ke-0>> 0 8 23 32 1 11 33 48 6 7 0 => Jarak =

213.36887943040935, dengan Demand = 151.0

Rute ke-1>> 0 24 3 20 5 38 2 27 22 4 46 0 => Jarak =

224.8324883492912, dengan Demand = 157.0

Rute ke-2>> 0 18 39 12 47 10 45 44 30 0 => Jarak =

215.35557007213004, dengan Demand = 159.0

Rute ke-3>> 0 15 37 13 49 29 31 41 19 25 43 26 0 => Jarak =

320.17905407037546, dengan Demand = 159.0

Rute ke-4>> 0 42 17 14 9 35 36 16 21 50 34 28 40 0 => Jarak =

355.4387822939384, dengan Demand = 151.0

======= TOTAL JARAK SEMUA RUTE = 1329.1747742161444

...

======== ITERASI KE- 999 =============

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 145: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 16 - 2

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 4 40 13 25 43 26 31 28 6 5 10 46 17 0 => Jarak

= 268.80765854794726, dengan Demand = 159.0

Rute ke-1>> 0 41 19 42 38 16 2 50 29 35 36 22 0 => Jarak =

188.11764655359866, dengan Demand = 156.0

Rute ke-2>> 0 9 21 20 3 32 27 48 23 24 14 0 => Jarak =

148.30039159860502, dengan Demand = 154.0

Rute ke-3>> 0 34 30 39 33 44 37 18 1 0 => Jarak =

148.58159613159347, dengan Demand = 155.0

Rute ke-4>> 0 7 8 15 12 47 45 49 11 0 => Jarak =

182.05019135451866, dengan Demand = 153.0

======= TOTAL JARAK SEMUA RUTE = 935.8574841862632

=========== Solusi Terbaik ==========

Rute ke-0>> 0 9 21 20 3 32 27 48 23 24 14 17 0 => Jarak =

171.65973469778262, dengan Demand = 157.0

Rute ke-1>> 0 41 19 42 38 16 2 50 29 35 36 22 0 => Jarak =

188.11764655359866, dengan Demand = 156.0

Rute ke-2>> 0 4 40 13 25 43 26 31 28 6 5 10 46 0 => Jarak =

237.01799540957475, dengan Demand = 156.0

Rute ke-3>> 0 7 8 1 11 49 45 15 12 47 0 => Jarak =

137.54798077771983, dengan Demand = 160.0

Rute ke-4>> 0 34 30 39 33 44 37 18 0 => Jarak =

121.86774675410962, dengan Demand = 148.0

======= TOTAL JARAK SEMUA RUTE = 856.2111041927855

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 146: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 17 - 1

Lampiran 17 : Hasil Implementasi Program pada Permasalahan P02 Parameter inputan Jumlah semut / kendaraan = 12 Jumlah kota = 75 Jarak maksimal kendaraan = 0 Kapasitas kendaraan = 140 Alpha = 2 Beta = 1

Rho = 0,8 Pheromon awal = 0,1 Total iterasi = 1000 Konstanta Q = 1000 Service duration = 0

Output ======= Solusi =========

Rute ke- 0 >> 0 30 28 70 54 14 38 0 => Jarak =

153.33657309819327, dengan Demand = 133.0

Rute ke- 1 >> 0 68 34 11 13 21 60 71 0 => Jarak =

172.75418307183062, dengan Demand = 122.0

Rute ke- 2 >> 0 39 25 55 18 3 7 53 35 45 0 => Jarak =

155.28405114273033, dengan Demand = 139.0

Rute ke- 3 >> 0 58 72 22 41 23 43 56 49 75 0 => Jarak =

165.75273169796765, dengan Demand = 124.0

Rute ke- 4 >> 0 12 9 32 40 26 51 0 => Jarak =

76.52225176598907, dengan Demand = 136.0

Rute ke- 5 >> 0 10 65 66 59 57 47 63 0 => Jarak =

171.76215858100548, dengan Demand = 140.0

Rute ke- 6 >> 0 46 52 62 36 69 74 2 6 0 => Jarak =

123.23405545607851, dengan Demand = 139.0

Rute ke- 7 >> 0 4 29 5 61 44 16 17 0 => Jarak =

127.86454252987814, dengan Demand = 135.0

Rute ke- 8 >> 0 64 42 1 73 50 24 31 0 => Jarak =

195.37965161559143, dengan Demand = 137.0

Rute ke- 9 >> 0 27 8 19 15 20 37 48 33 0 => Jarak =

130.2546611730375, dengan Demand = 139.0

Rute ke- 10 >> 0 67 0 => Jarak = 10.770329614269007, dengan

Demand = 30.0

======= Total Jarak = 1482.915189746571

Running ======== ITERASI KE- 0 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 13 40 26 75 7 51 50 0 => Jarak =

170.47442584233158, dengan Demand = 132.0

Rute ke-1>> 0 53 58 4 29 61 44 35 0 => Jarak =

197.16271075810258, dengan Demand = 128.0

Rute ke-2>> 0 45 30 67 38 55 23 18 0 => Jarak =

204.5964540135292, dengan Demand = 123.0

Rute ke-3>> 0 49 48 33 6 68 15 20 37 0 => Jarak =

179.4948653397839, dengan Demand = 125.0

Rute ke-4>> 0 74 62 46 27 36 69 2 52 0 => Jarak =

162.44226430867235, dengan Demand = 137.0

Rute ke-5>> 0 39 72 8 19 54 25 9 1 0 => Jarak =

196.58219216673203, dengan Demand = 135.0

Rute ke-6>> 0 10 65 66 59 57 64 0 => Jarak =

194.28871390141597, dengan Demand = 138.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 147: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 17 - 2

Rute ke-7>> 0 42 16 12 17 56 43 63 3 0 => Jarak =

177.73321133529933, dengan Demand = 132.0

Rute ke-8>> 0 21 32 5 22 31 0 => Jarak = 249.7535041764892,

dengan Demand = 114.0

Rute ke-9>> 0 28 70 14 24 60 71 0 => Jarak =

276.4365928556056, dengan Demand = 114.0

Rute ke-10>> 0 34 11 41 47 73 0 => Jarak =

183.30517289026216, dengan Demand = 96.0

======= TOTAL JARAK SEMUA RUTE = 2192.270107588224

=========== Solusi Terbaik ==========

Rute ke-0>> 0 13 40 26 75 7 51 50 0 => Jarak =

170.47442584233158, dengan Demand = 132.0

Rute ke-1>> 0 53 58 4 29 61 44 35 0 => Jarak =

197.16271075810258, dengan Demand = 128.0

Rute ke-2>> 0 45 30 67 38 55 23 18 0 => Jarak =

204.5964540135292, dengan Demand = 123.0

Rute ke-3>> 0 49 48 33 6 68 15 20 37 0 => Jarak =

179.4948653397839, dengan Demand = 125.0

Rute ke-4>> 0 62 46 27 36 69 74 2 52 0 => Jarak =

154.8051992779008, dengan Demand = 137.0

Rute ke-5>> 0 72 8 19 54 39 25 9 1 0 => Jarak =

189.99542809146064, dengan Demand = 135.0

Rute ke-6>> 0 10 65 66 59 57 64 0 => Jarak =

194.28871390141597, dengan Demand = 138.0

Rute ke-7>> 0 42 16 12 17 56 43 63 3 0 => Jarak =

177.73321133529933, dengan Demand = 132.0

Rute ke-8>> 0 21 32 5 22 24 0 => Jarak = 218.09409716932157,

dengan Demand = 116.0

Rute ke-9>> 0 28 70 14 31 60 71 0 => Jarak =

266.1791423816869, dengan Demand = 112.0

Rute ke-10>> 0 34 11 41 47 73 0 => Jarak =

183.30517289026216, dengan Demand = 96.0

======= TOTAL JARAK SEMUA RUTE = 2136.1294210010947

...

======== ITERASI KE- 999 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 58 72 22 41 23 43 56 49 75 54 0 => Jarak =

217.0659319980926, dengan Demand = 140.0

Rute ke-1>> 0 12 9 32 40 26 51 0 => Jarak =

76.52225176598907, dengan Demand = 136.0

Rute ke-2>> 0 30 28 70 13 21 60 71 69 74 0 => Jarak =

189.81379877562716, dengan Demand = 136.0

Rute ke-3>> 0 64 42 1 73 50 24 31 0 => Jarak =

195.37965161559143, dengan Demand = 137.0

Rute ke-4>> 0 39 25 55 18 3 7 53 35 45 0 => Jarak =

155.28405114273033, dengan Demand = 139.0

Rute ke-5>> 0 27 8 19 15 20 37 48 33 0 => Jarak =

130.2546611730375, dengan Demand = 139.0

Rute ke-6>> 0 10 65 66 59 57 47 63 0 => Jarak =

171.76215858100548, dengan Demand = 140.0

Rute ke-7>> 0 4 29 5 61 44 16 17 0 => Jarak =

127.86454252987814, dengan Demand = 135.0

Rute ke-8>> 0 68 34 11 14 38 0 => Jarak = 101.71647697963732,

dengan Demand = 121.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 148: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 17 - 3

Rute ke-9>> 0 46 52 62 36 2 6 0 => Jarak =

114.02707724769395, dengan Demand = 121.0

Rute ke-10>> 0 67 0 => Jarak = 10.770329614269007, dengan

Demand = 30.0

======= TOTAL JARAK SEMUA RUTE = 1490.460931423552

=========== Solusi Terbaik ==========

Rute ke-0>> 0 30 28 70 54 14 38 0 => Jarak =

153.33657309819327, dengan Demand = 133.0

Rute ke-1>> 0 68 34 11 13 21 60 71 0 => Jarak =

172.75418307183062, dengan Demand = 122.0

Rute ke-2>> 0 39 25 55 18 3 7 53 35 45 0 => Jarak =

155.28405114273033, dengan Demand = 139.0

Rute ke-3>> 0 58 72 22 41 23 43 56 49 75 0 => Jarak =

165.75273169796765, dengan Demand = 124.0

Rute ke-4>> 0 12 9 32 40 26 51 0 => Jarak =

76.52225176598907, dengan Demand = 136.0

Rute ke-5>> 0 10 65 66 59 57 47 63 0 => Jarak =

171.76215858100548, dengan Demand = 140.0

Rute ke-6>> 0 46 52 62 36 69 74 2 6 0 => Jarak =

123.23405545607851, dengan Demand = 139.0

Rute ke-7>> 0 4 29 5 61 44 16 17 0 => Jarak =

127.86454252987814, dengan Demand = 135.0

Rute ke-8>> 0 64 42 1 73 50 24 31 0 => Jarak =

195.37965161559143, dengan Demand = 137.0

Rute ke-9>> 0 27 8 19 15 20 37 48 33 0 => Jarak =

130.2546611730375, dengan Demand = 139.0

Rute ke-10>> 0 67 0 => Jarak = 10.770329614269007, dengan

Demand = 30.0

======= TOTAL JARAK SEMUA RUTE = 1482.915189746571

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 149: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 18 - 1

Lampiran 18 : Hasil Implementasi Program pada Permasalahan P03 Parameter inputan Jumlah semut / kendaraan = 10 Jumlah kota = 100 Jarak maksimal kendaraan = 0 Kapasitas kendaraan = 200 Alpha = 2 Beta = 1

Rho = 0,8 Pheromon awal = 0,1 Total iterasi = 1000 Konstanta Q = 1000 Service duration = 0

Output ======= Solusi =========

Rute ke- 0 >> 0 5 46 36 47 7 48 19 26 55 72 29 33 63 0 =>

Jarak = 282.1002923877999, dengan Demand = 191.0

Rute ke- 1 >> 0 58 22 74 73 56 24 34 44 14 61 93 16 100 96 6 0

=> Jarak = 227.52340896827712, dengan Demand = 199.0

Rute ke- 2 >> 0 76 79 45 60 28 54 25 67 75 21 78 35 51 23 0 =>

Jarak = 341.37706703835676, dengan Demand = 199.0

Rute ke- 3 >> 0 31 88 30 32 64 11 90 62 53 95 94 97 0 => Jarak

= 176.31593104273048, dengan Demand = 196.0

Rute ke- 4 >> 0 10 49 70 1 69 82 52 18 83 86 38 15 40 92 42 57 0

=> Jarak = 287.05348927538887, dengan Demand = 197.0

Rute ke- 5 >> 0 3 9 71 65 66 20 68 12 4 8 84 37 0 => Jarak =

227.70652635662464, dengan Demand = 196.0

Rute ke- 6 >> 0 50 81 77 80 17 85 13 39 41 43 91 99 2 0 =>

Jarak = 257.66401440949437, dengan Demand = 185.0

Rute ke- 7 >> 0 27 89 59 98 87 0 => Jarak = 58.85583668140094,

dengan Demand = 95.0

======= Total Jarak = 1858.596566160073

Running ======== ITERASI KE- 0 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 34 79 45 25 72 59 14 24 29 78 9 68 0 => Jarak =

347.0294907314001, dengan Demand = 199.0

Rute ke-1>> 0 50 30 96 58 22 95 94 97 89 53 49 0 => Jarak =

253.31886566327768, dengan Demand = 199.0

Rute ke-2>> 0 64 90 52 18 71 17 85 39 41 43 91 99 65 3 8 55 1 0

=> Jarak = 581.2590274520584, dengan Demand = 198.0

Rute ke-3>> 0 21 67 33 51 57 5 46 36 47 7 48 19 26 0 => Jarak

= 298.6705299541392, dengan Demand = 198.0

Rute ke-4>> 0 27 28 13 81 20 87 44 38 70 88 82 98 92 2 0 =>

Jarak = 304.794649326995, dengan Demand = 199.0

Rute ke-5>> 0 83 60 77 80 63 23 31 69 61 93 16 100 56 74 0 =>

Jarak = 367.1192458309716, dengan Demand = 191.0

Rute ke-6>> 0 37 15 4 6 84 42 12 73 76 40 75 10 11 32 62 35 0

=> Jarak = 427.61185979947686, dengan Demand = 196.0

Rute ke-7>> 0 54 66 86 0 => Jarak = 173.94355912906542,

dengan Demand = 78.0

======= TOTAL JARAK SEMUA RUTE = 2753.747227887384

=========== Solusi Terbaik ==========

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 150: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 18 - 2

Rute ke-0>> 0 34 79 45 25 72 59 14 24 29 78 9 68 0 => Jarak =

347.0294907314001, dengan Demand = 199.0

Rute ke-1>> 0 50 30 96 58 22 95 94 97 89 53 49 0 => Jarak =

253.31886566327768, dengan Demand = 199.0

Rute ke-2>> 0 64 90 52 18 71 17 85 39 41 43 91 99 65 3 8 55 1 0

=> Jarak = 581.2590274520584, dengan Demand = 198.0

Rute ke-3>> 0 21 67 33 51 57 5 46 36 47 7 48 19 26 0 => Jarak

= 298.6705299541392, dengan Demand = 198.0

Rute ke-4>> 0 27 28 13 81 20 87 44 38 70 88 82 98 92 2 0 =>

Jarak = 304.794649326995, dengan Demand = 199.0

Rute ke-5>> 0 83 60 77 80 63 23 31 69 61 93 16 100 56 74 0 =>

Jarak = 367.1192458309716, dengan Demand = 191.0

Rute ke-6>> 0 15 4 6 84 37 42 12 73 76 40 75 35 11 32 62 10 0

=> Jarak = 405.13001386631913, dengan Demand = 196.0

Rute ke-7>> 0 54 66 86 0 => Jarak = 173.94355912906542,

dengan Demand = 78.0

======= TOTAL JARAK SEMUA RUTE = 2731.265381954226

...

======== ITERASI KE- 999 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 5 46 36 47 7 48 19 26 55 72 29 33 63 0 => Jarak

= 282.1002923877999, dengan Demand = 191.0

Rute ke-1>> 0 76 79 45 60 28 54 25 67 75 21 78 35 51 23 0 =>

Jarak = 341.37706703835676, dengan Demand = 199.0

Rute ke-2>> 0 3 9 71 65 66 20 68 12 4 8 84 37 6 0 => Jarak =

228.8540026960261, dengan Demand = 199.0

Rute ke-3>> 0 10 49 70 1 69 82 52 18 83 86 38 15 40 92 42 57 0

=> Jarak = 287.05348927538887, dengan Demand = 197.0

Rute ke-4>> 0 50 81 77 80 17 85 13 39 41 43 91 99 2 11 90 0 =>

Jarak = 333.3825491329082, dengan Demand = 200.0

Rute ke-5>> 0 31 88 30 32 64 56 24 34 44 14 61 93 0 => Jarak

= 305.6843715159861, dengan Demand = 185.0

Rute ke-6>> 0 27 89 59 98 87 94 97 96 58 22 74 73 0 => Jarak

= 122.63382530161125, dengan Demand = 198.0

Rute ke-7>> 0 62 53 95 16 100 0 => Jarak =

117.16620619279507, dengan Demand = 89.0

======= TOTAL JARAK SEMUA RUTE = 2018.2518035408723

=========== Solusi Terbaik ==========

Rute ke-0>> 0 5 46 36 47 7 48 19 26 55 72 29 33 63 0 => Jarak

= 282.1002923877999, dengan Demand = 191.0

Rute ke-1>> 0 58 22 74 73 56 24 34 44 14 61 93 16 100 96 6 0 =>

Jarak = 227.52340896827712, dengan Demand = 199.0

Rute ke-2>> 0 76 79 45 60 28 54 25 67 75 21 78 35 51 23 0 =>

Jarak = 341.37706703835676, dengan Demand = 199.0

Rute ke-3>> 0 31 88 30 32 64 11 90 62 53 95 94 97 0 => Jarak

= 176.31593104273048, dengan Demand = 196.0

Rute ke-4>> 0 10 49 70 1 69 82 52 18 83 86 38 15 40 92 42 57 0

=> Jarak = 287.05348927538887, dengan Demand = 197.0

Rute ke-5>> 0 3 9 71 65 66 20 68 12 4 8 84 37 0 => Jarak =

227.70652635662464, dengan Demand = 196.0

Rute ke-6>> 0 50 81 77 80 17 85 13 39 41 43 91 99 2 0 =>

Jarak = 257.66401440949437, dengan Demand = 185.0

Rute ke-7>> 0 27 89 59 98 87 0 => Jarak = 58.85583668140094,

dengan Demand = 95.0

======= TOTAL JARAK SEMUA RUTE = 1858.596566160073

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 151: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 19 - 1

Lampiran 19 : Hasil Implementasi Program pada Permasalahan P04 Parameter inputan Jumlah semut / kendaraan = 14 Jumlah kota = 150 Jarak maksimal kendaraan = 0 Kapasitas kendaraan = 200 Alpha = 2 Beta = 1

Rho = 0,8 Pheromon awal = 0,1 Total iterasi = 1000 Konstanta Q = 1000 Service duration = 0

Output ======= Solusi =========

Rute ke- 0 >> 0 108 150 4 1 101 117 54 50 2 129 30 0 => Jarak

= 241.02222504998173, dengan Demand = 187.0

Rute ke- 1 >> 0 103 74 28 138 97 99 57 8 10 52 93 56 63 15 39 142

0 => Jarak = 368.52192470445283, dengan Demand = 196.0

Rute ke- 2 >> 0 46 9 62 84 35 94 133 67 66 24 98 69 68 87 0 =>

Jarak = 285.8921657748921, dengan Demand = 199.0

Rute ke- 3 >> 0 77 104 105 75 96 43 61 3 36 64 136 19 135 0 =>

Jarak = 318.5052191259003, dengan Demand = 193.0

Rute ke- 4 >> 0 32 119 27 60 120 22 20 21 59 130 118 126 127 79 0

=> Jarak = 173.79670819102645, dengan Demand = 192.0

Rute ke- 5 >> 0 17 90 89 49 76 100 16 53 26 113 86 132 7 23 0 =>

Jarak = 238.42885656397183, dengan Demand = 192.0

Rute ke- 6 >> 0 48 112 140 114 116 70 51 143 148 37 123 45 33 71

0 => Jarak = 222.31506913897124, dengan Demand = 186.0

Rute ke- 7 >> 0 110 18 107 42 73 125 83 29 38 80 31 82 0 =>

Jarak = 235.83052493990863, dengan Demand = 198.0

Rute ke- 8 >> 0 92 124 72 106 91 34 131 85 128 115 121 81 58 14 0

=> Jarak = 266.7758940370218, dengan Demand = 197.0

Rute ke- 9 >> 0 139 55 111 40 88 122 5 78 11 12 0 => Jarak =

137.58036419764028, dengan Demand = 187.0

Rute ke- 10 >> 0 47 144 147 65 6 13 109 145 44 137 0 => Jarak

= 160.85872464352437, dengan Demand = 200.0

Rute ke- 11 >> 0 141 41 25 95 134 146 149 102 0 => Jarak =

105.45244315755937, dengan Demand = 108.0

======= Total Jarak = 2754.980119524851

Running ======== ITERASI KE- 0 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 27 11 38 86 132 23 12 118 53 128 4 1 0 => Jarak

= 279.8522213045951, dengan Demand = 183.0

Rute ke-1>> 0 146 149 89 139 65 78 32 45 98 69 68 87 0 =>

Jarak = 330.00375588365296, dengan Demand = 185.0

Rute ke-2>> 0 3 104 34 131 83 54 47 145 108 90 0 => Jarak =

198.15363605653607, dengan Demand = 188.0

Rute ke-3>> 0 134 102 6 88 33 71 80 59 130 2 129 5 0 => Jarak

= 279.95781522168613, dengan Demand = 198.0

Rute ke-4>> 0 46 9 62 84 35 94 133 67 66 24 147 17 110 18 0 =>

Jarak = 282.9778281676389, dengan Demand = 185.0

Rute ke-5>> 0 144 58 14 107 111 117 105 60 76 100 16 85 106 91 0

=> Jarak = 402.24025719721607, dengan Demand = 184.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 152: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 19 - 2

Rute ke-6>> 0 31 7 29 127 21 116 70 51 143 141 41 25 95 0 =>

Jarak = 270.3304207607048, dengan Demand = 196.0

Rute ke-7>> 0 103 74 28 138 97 99 57 8 10 52 93 56 63 15 39 0

=> Jarak = 343.7218063297038, dengan Demand = 194.0

Rute ke-8>> 0 79 92 124 72 75 137 48 112 22 114 142 109 42 148

121 0 => Jarak = 439.30579698787966, dengan Demand = 193.0

Rute ke-9>> 0 37 123 96 43 61 136 30 122 19 55 13 120 0 =>

Jarak = 357.88333280866, dengan Demand = 184.0

Rute ke-10>> 0 44 50 82 119 101 36 64 20 81 140 26 113 40 49 0

=> Jarak = 465.5669160786716, dengan Demand = 191.0

Rute ke-11>> 0 77 115 125 73 126 135 150 0 => Jarak =

231.14199047847654, dengan Demand = 154.0

======= TOTAL JARAK SEMUA RUTE = 3881.1357772754213

=========== Solusi Terbaik ==========

Rute ke-0>> 0 11 38 27 86 132 23 12 118 53 128 4 1 0 => Jarak

= 261.82413869820545, dengan Demand = 183.0

Rute ke-1>> 0 146 149 89 139 65 78 32 45 98 69 68 87 0 =>

Jarak = 330.00375588365296, dengan Demand = 185.0

Rute ke-2>> 0 3 104 34 131 83 54 47 145 108 90 0 => Jarak =

198.15363605653607, dengan Demand = 188.0

Rute ke-3>> 0 134 102 6 88 33 71 80 59 130 2 129 5 0 => Jarak

= 279.95781522168613, dengan Demand = 198.0

Rute ke-4>> 0 46 9 62 84 35 94 133 67 66 24 147 17 110 18 0 =>

Jarak = 282.9778281676389, dengan Demand = 185.0

Rute ke-5>> 0 58 14 144 107 111 117 105 60 76 100 16 85 106 91 0

=> Jarak = 394.43832131271444, dengan Demand = 184.0

Rute ke-6>> 0 31 7 29 127 21 116 70 51 143 141 41 25 95 0 =>

Jarak = 270.3304207607048, dengan Demand = 196.0

Rute ke-7>> 0 103 74 28 138 97 99 57 8 10 52 93 56 63 15 39 0

=> Jarak = 343.7218063297038, dengan Demand = 194.0

Rute ke-8>> 0 79 92 124 72 75 137 48 112 140 114 142 109 42 148

121 0 => Jarak = 417.94716189284145, dengan Demand = 188.0

Rute ke-9>> 0 37 123 96 43 61 136 30 122 19 55 13 120 0 =>

Jarak = 357.88333280866, dengan Demand = 184.0

Rute ke-10>> 0 44 50 82 119 101 36 64 20 81 22 26 113 40 49 0

=> Jarak = 477.1279316643868, dengan Demand = 196.0

Rute ke-11>> 0 77 115 125 73 126 135 150 0 => Jarak =

231.14199047847654, dengan Demand = 154.0

======= TOTAL JARAK SEMUA RUTE = 3845.5081392752068

...

======== ITERASI KE- 999 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 103 74 28 138 97 99 57 8 10 52 93 56 63 15 39 142 0

=> Jarak = 368.52192470445283, dengan Demand = 196.0

Rute ke-1>> 0 108 150 4 1 101 117 54 50 2 129 30 0 => Jarak =

241.02222504998173, dengan Demand = 187.0

Rute ke-2>> 0 17 90 89 49 76 100 16 53 26 113 86 132 7 23 0 =>

Jarak = 238.42885656397183, dengan Demand = 192.0

Rute ke-3>> 0 46 9 62 84 35 94 133 67 66 24 98 69 68 87 0 =>

Jarak = 285.8921657748921, dengan Demand = 199.0

Rute ke-4>> 0 139 55 111 40 88 122 5 78 11 12 0 => Jarak =

137.58036419764028, dengan Demand = 187.0

Rute ke-5>> 0 77 104 105 75 96 43 61 3 36 64 136 19 135 0 =>

Jarak = 318.5052191259003, dengan Demand = 193.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 153: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 19 - 3

Rute ke-6>> 0 32 119 27 60 120 22 20 21 59 130 118 126 127 79 0

=> Jarak = 173.79670819102645, dengan Demand = 192.0

Rute ke-7>> 0 48 112 140 114 116 70 51 143 148 37 123 45 33 71 0

=> Jarak = 222.31506913897124, dengan Demand = 186.0

Rute ke-8>> 0 110 18 107 42 73 125 83 29 38 80 31 82 0 =>

Jarak = 235.83052493990863, dengan Demand = 198.0

Rute ke-9>> 0 92 124 72 106 91 34 131 85 128 115 121 81 58 14 0

=> Jarak = 266.7758940370218, dengan Demand = 197.0

Rute ke-10>> 0 141 41 25 95 134 146 149 102 13 109 145 44 0 =>

Jarak = 173.50645327663509, dengan Demand = 195.0

Rute ke-11>> 0 47 144 147 65 6 137 0 => Jarak =

129.55625044807365, dengan Demand = 113.0

======= TOTAL JARAK SEMUA RUTE = 2791.731655448476

=========== Solusi Terbaik ==========

Rute ke-0>> 0 108 150 4 1 101 117 54 50 2 129 30 0 => Jarak =

241.02222504998173, dengan Demand = 187.0

Rute ke-1>> 0 103 74 28 138 97 99 57 8 10 52 93 56 63 15 39 142 0

=> Jarak = 368.52192470445283, dengan Demand = 196.0

Rute ke-2>> 0 46 9 62 84 35 94 133 67 66 24 98 69 68 87 0 =>

Jarak = 285.8921657748921, dengan Demand = 199.0

Rute ke-3>> 0 77 104 105 75 96 43 61 3 36 64 136 19 135 0 =>

Jarak = 318.5052191259003, dengan Demand = 193.0

Rute ke-4>> 0 32 119 27 60 120 22 20 21 59 130 118 126 127 79 0

=> Jarak = 173.79670819102645, dengan Demand = 192.0

Rute ke-5>> 0 17 90 89 49 76 100 16 53 26 113 86 132 7 23 0 =>

Jarak = 238.42885656397183, dengan Demand = 192.0

Rute ke-6>> 0 48 112 140 114 116 70 51 143 148 37 123 45 33 71 0

=> Jarak = 222.31506913897124, dengan Demand = 186.0

Rute ke-7>> 0 110 18 107 42 73 125 83 29 38 80 31 82 0 =>

Jarak = 235.83052493990863, dengan Demand = 198.0

Rute ke-8>> 0 92 124 72 106 91 34 131 85 128 115 121 81 58 14 0

=> Jarak = 266.7758940370218, dengan Demand = 197.0

Rute ke-9>> 0 139 55 111 40 88 122 5 78 11 12 0 => Jarak =

137.58036419764028, dengan Demand = 187.0

Rute ke-10>> 0 47 144 147 65 6 13 109 145 44 137 0 => Jarak =

160.85872464352437, dengan Demand = 200.0

Rute ke-11>> 0 141 41 25 95 134 146 149 102 0 => Jarak =

105.45244315755937, dengan Demand = 108.0

======= TOTAL JARAK SEMUA RUTE = 2754.980119524851

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 154: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 20 - 1

Lampiran 20 : Hasil Implementasi Program pada Permasalahan P05

Parameter inputan Jumlah semut / kendaraan = 20 Jumlah kota = 199 Jarak maksimal kendaraan = 0 Kapasitas kendaraan = 200 Alpha = 2 Beta = 1

Rho = 0,8 Pheromon awal = 0,1 Total iterasi = 250 Konstanta Q = 1000 Service duration = 0

Output ======= Solusi =========

Rute ke- 0 >> 0 54 79 29 173 138 99 1 2 3 154 155 88 48 0 =>

Jarak = 261.6253389558239, dengan Demand = 199.0

Rute ke- 1 >> 0 175 95 31 67 159 189 181 44 76 135 141 57 12 64 0

=> Jarak = 392.1900058469262, dengan Demand = 197.0

Rute ke- 2 >> 0 149 156 150 52 133 43 83 103 4 5 6 0 => Jarak

= 313.22647839435524, dengan Demand = 193.0

Rute ke- 3 >> 0 142 115 197 158 198 7 8 9 22 137 23 74 191 0 =>

Jarak = 291.49500337090996, dengan Demand = 197.0

Rute ke- 4 >> 0 183 104 17 100 169 30 120 195 190 136 106 132 39

10 119 0 => Jarak = 281.2392131560841, dengan Demand = 188.0

Rute ke- 5 >> 0 16 41 89 146 25 114 184 91 193 163 85 13 0 =>

Jarak = 384.25987987456114, dengan Demand = 198.0

Rute ke- 6 >> 0 27 58 87 127 109 117 55 40 130 139 157 0 =>

Jarak = 143.22824371705195, dengan Demand = 189.0

Rute ke- 7 >> 0 147 56 26 60 188 61 86 28 151 126 0 => Jarak =

155.39877767800917, dengan Demand = 199.0

Rute ke- 8 >> 0 59 68 129 110 38 24 49 145 164 180 69 108 0 =>

Jarak = 359.28356310440694, dengan Demand = 194.0

Rute ke- 9 >> 0 111 34 14 51 75 178 78 82 45 174 0 => Jarak =

229.25436734534946, dengan Demand = 197.0

Rute ke- 10 >> 0 81 77 134 50 15 102 162 80 194 116 160 53 112 66

192 0 => Jarak = 316.5863541354187, dengan Demand = 175.0

Rute ke- 11 >> 0 73 62 113 185 196 71 19 153 140 166 37 0 =>

Jarak = 289.2344545040458, dengan Demand = 185.0

Rute ke- 12 >> 0 96 42 148 187 131 124 98 125 72 161 97 0 =>

Jarak = 283.6809264631669, dengan Demand = 191.0

Rute ke- 13 >> 0 186 36 122 172 171 47 101 20 123 176 35 152 0

=> Jarak = 192.93843335793625, dengan Demand = 190.0

Rute ke- 14 >> 0 92 18 144 182 63 199 107 90 143 21 121 94 0 =>

Jarak = 230.01039855801577, dengan Demand = 199.0

Rute ke- 15 >> 0 168 32 105 33 93 118 11 177 84 165 170 0 =>

Jarak = 246.09518018591973, dengan Demand = 194.0

Rute ke- 16 >> 0 46 65 167 179 70 128 0 => Jarak =

64.9937161702049, dengan Demand = 101.0

======= Total Jarak = 4434.740334818186

Running ======== ITERASI KE- 0 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 40 130 162 6 62 73 171 30 120 195 190 0 =>

Jarak = 258.0538813344386, dengan Demand = 192.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 155: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 20 - 2

Rute ke-1>> 0 12 1 2 3 10 119 49 188 61 87 4 0 => Jarak =

207.07138307918189, dengan Demand = 200.0

Rute ke-2>> 0 111 140 32 55 139 157 146 115 57 16 64 101 0 =>

Jarak = 329.8754356927162, dengan Demand = 199.0

Rute ke-3>> 0 186 36 187 197 160 26 60 9 22 23 104 17 0 =>

Jarak = 304.752855922274, dengan Demand = 200.0

Rute ke-4>> 0 92 18 144 182 63 199 159 189 181 44 131 54 98 0

=> Jarak = 278.2463833222555, dengan Demand = 190.0

Rute ke-5>> 0 37 46 184 198 5 7 51 91 143 0 => Jarak =

264.4540337317626, dengan Demand = 188.0

Rute ke-6>> 0 59 68 42 69 67 169 19 178 78 103 66 192 0 =>

Jarak = 318.6795302799681, dengan Demand = 187.0

Rute ke-7>> 0 81 105 53 193 89 41 24 191 34 180 177 102 8 76 0

=> Jarak = 242.3279865382735, dengan Demand = 194.0

Rute ke-8>> 0 95 96 148 77 134 50 15 154 176 47 80 86 28 0 =>

Jarak = 359.77589301624533, dengan Demand = 181.0

Rute ke-9>> 0 175 112 94 58 122 172 125 72 11 108 70 151 0 =>

Jarak = 292.6140830113492, dengan Demand = 198.0

Rute ke-10>> 0 194 116 117 100 126 109 13 152 127 129 110 38 0

=> Jarak = 285.0882102202307, dengan Demand = 175.0

Rute ke-11>> 0 142 196 135 141 43 83 82 45 174 179 14 20 123 0

=> Jarak = 417.02017350133997, dengan Demand = 197.0

Rute ke-12>> 0 147 56 167 93 155 88 48 163 85 114 166 0 =>

Jarak = 429.64966583197946, dengan Demand = 195.0

Rute ke-13>> 0 35 84 165 158 161 71 21 136 106 132 39 27 0 =>

Jarak = 377.31363438699094, dengan Demand = 192.0

Rute ke-14>> 0 149 156 150 52 133 128 65 170 97 74 121 113 25 0

=> Jarak = 403.81836412240636, dengan Demand = 196.0

Rute ke-15>> 0 33 168 124 79 29 173 138 99 153 107 90 31 0 =>

Jarak = 327.3862929785753, dengan Demand = 199.0

Rute ke-16>> 0 137 183 118 145 164 75 185 0 => Jarak =

309.24724435697385, dengan Demand = 103.0

======= TOTAL JARAK SEMUA RUTE = 5405.3750513269615

=========== Solusi Terbaik ==========

Rute ke-0>> 0 40 130 162 6 62 73 171 30 120 195 190 0 =>

Jarak = 258.0538813344386, dengan Demand = 192.0

Rute ke-1>> 0 12 1 2 3 10 119 49 188 61 87 4 0 => Jarak =

207.07138307918189, dengan Demand = 200.0

Rute ke-2>> 0 111 140 32 55 139 157 146 115 57 16 64 101 0 =>

Jarak = 329.8754356927162, dengan Demand = 199.0

Rute ke-3>> 0 186 36 187 197 160 26 60 9 22 23 104 17 0 =>

Jarak = 304.752855922274, dengan Demand = 200.0

Rute ke-4>> 0 92 18 144 182 63 199 159 189 181 44 131 54 98 0

=> Jarak = 278.2463833222555, dengan Demand = 190.0

Rute ke-5>> 0 37 46 184 198 5 7 51 91 143 0 => Jarak =

264.4540337317626, dengan Demand = 188.0

Rute ke-6>> 0 59 68 42 69 67 169 19 178 78 103 66 192 0 =>

Jarak = 318.6795302799681, dengan Demand = 187.0

Rute ke-7>> 0 81 105 53 193 89 41 24 191 34 180 177 102 8 76 0

=> Jarak = 242.3279865382735, dengan Demand = 194.0

Rute ke-8>> 0 95 96 148 77 134 50 15 154 176 47 80 86 28 0 =>

Jarak = 359.77589301624533, dengan Demand = 181.0

Rute ke-9>> 0 175 112 94 58 122 172 125 72 11 108 70 151 0 =>

Jarak = 292.6140830113492, dengan Demand = 198.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 156: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 20 - 3

Rute ke-10>> 0 194 116 117 100 126 109 13 152 127 129 110 38 0

=> Jarak = 285.0882102202307, dengan Demand = 175.0

Rute ke-11>> 0 142 196 135 141 43 83 82 45 174 179 14 20 123 0

=> Jarak = 417.02017350133997, dengan Demand = 197.0

Rute ke-12>> 0 147 56 167 93 155 88 48 163 85 114 166 0 =>

Jarak = 429.64966583197946, dengan Demand = 195.0

Rute ke-13>> 0 35 84 165 158 161 71 21 136 106 132 39 27 0 =>

Jarak = 377.31363438699094, dengan Demand = 192.0

Rute ke-14>> 0 149 156 150 52 133 128 65 170 97 74 121 113 25 0

=> Jarak = 403.81836412240636, dengan Demand = 196.0

Rute ke-15>> 0 33 168 124 79 29 173 138 99 153 107 90 31 0 =>

Jarak = 327.3862929785753, dengan Demand = 199.0

Rute ke-16>> 0 137 183 118 145 164 75 185 0 => Jarak =

309.24724435697385, dengan Demand = 103.0

======= TOTAL JARAK SEMUA RUTE = 5405.3750513269615

...

======== ITERASI KE- 249 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 16 41 89 146 25 114 184 91 193 163 85 13 0 =>

Jarak = 384.25987987456114, dengan Demand = 198.0

Rute ke-1>> 0 81 77 134 50 15 102 1 2 3 154 155 88 48 118 0 =>

Jarak = 385.44313751511964, dengan Demand = 176.0

Rute ke-2>> 0 175 95 31 67 159 189 181 44 76 135 141 57 12 64 0

=> Jarak = 392.1900058469262, dengan Demand = 197.0

Rute ke-3>> 0 147 56 26 60 188 61 86 28 151 126 0 => Jarak =

155.39877767800917, dengan Demand = 199.0

Rute ke-4>> 0 142 115 197 158 198 4 5 6 62 113 0 => Jarak =

220.60344034489708, dengan Demand = 186.0

Rute ke-5>> 0 149 156 150 52 133 43 83 103 101 20 123 176 35 152

0 => Jarak = 373.59741110672616, dengan Demand = 193.0

Rute ke-6>> 0 96 42 148 187 131 124 98 125 72 161 97 0 =>

Jarak = 283.6809264631669, dengan Demand = 191.0

Rute ke-7>> 0 183 104 17 100 169 30 120 195 190 136 106 132 39 7

8 0 => Jarak = 284.6479406129782, dengan Demand = 184.0

Rute ke-8>> 0 168 32 105 33 93 9 22 137 23 74 191 34 0 =>

Jarak = 285.71372167218186, dengan Demand = 192.0

Rute ke-9>> 0 111 140 166 37 46 65 167 179 10 119 49 145 0 =>

Jarak = 248.222168412987, dengan Demand = 188.0

Rute ke-10>> 0 186 36 122 172 171 47 80 194 116 160 53 112 0 =>

Jarak = 234.98199739009485, dengan Demand = 198.0

Rute ke-11>> 0 54 79 29 173 138 99 153 107 90 143 0 => Jarak

= 203.229357833925, dengan Demand = 174.0

Rute ke-12>> 0 92 18 144 182 63 199 75 178 78 82 45 174 0 =>

Jarak = 302.01994515229876, dengan Demand = 187.0

Rute ke-13>> 0 59 68 129 110 38 24 94 58 87 127 109 117 55 0 =>

Jarak = 365.5769657945571, dengan Demand = 193.0

Rute ke-14>> 0 73 40 130 139 157 69 108 70 128 19 177 84 0 =>

Jarak = 211.6237829453736, dengan Demand = 193.0

Rute ke-15>> 0 27 71 21 121 11 14 51 164 66 0 => Jarak =

285.0920709012155, dengan Demand = 192.0

Rute ke-16>> 0 192 162 165 170 180 196 185 0 => Jarak =

213.24317762131642, dengan Demand = 145.0

======= TOTAL JARAK SEMUA RUTE = 4829.524707166334

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 157: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 20 - 4

=========== Solusi Terbaik ==========

Rute ke-0>> 0 54 79 29 173 138 99 1 2 3 154 155 88 48 0 =>

Jarak = 261.6253389558239, dengan Demand = 199.0

Rute ke-1>> 0 175 95 31 67 159 189 181 44 76 135 141 57 12 64 0

=> Jarak = 392.1900058469262, dengan Demand = 197.0

Rute ke-2>> 0 149 156 150 52 133 43 83 103 4 5 6 0 => Jarak =

313.22647839435524, dengan Demand = 193.0

Rute ke-3>> 0 142 115 197 158 198 7 8 9 22 137 23 74 191 0 =>

Jarak = 291.49500337090996, dengan Demand = 197.0

Rute ke-4>> 0 183 104 17 100 169 30 120 195 190 136 106 132 39 10

119 0 => Jarak = 281.2392131560841, dengan Demand = 188.0

Rute ke-5>> 0 16 41 89 146 25 114 184 91 193 163 85 13 0 =>

Jarak = 384.25987987456114, dengan Demand = 198.0

Rute ke-6>> 0 27 58 87 127 109 117 55 40 130 139 157 0 =>

Jarak = 143.22824371705195, dengan Demand = 189.0

Rute ke-7>> 0 147 56 26 60 188 61 86 28 151 126 0 => Jarak =

155.39877767800917, dengan Demand = 199.0

Rute ke-8>> 0 59 68 129 110 38 24 49 145 164 180 69 108 0 =>

Jarak = 359.28356310440694, dengan Demand = 194.0

Rute ke-9>> 0 111 34 14 51 75 178 78 82 45 174 0 => Jarak =

229.25436734534946, dengan Demand = 197.0

Rute ke-10>> 0 81 77 134 50 15 102 162 80 194 116 160 53 112 66

192 0 => Jarak = 316.5863541354187, dengan Demand = 175.0

Rute ke-11>> 0 73 62 113 185 196 71 19 153 140 166 37 0 =>

Jarak = 289.2344545040458, dengan Demand = 185.0

Rute ke-12>> 0 96 42 148 187 131 124 98 125 72 161 97 0 =>

Jarak = 283.6809264631669, dengan Demand = 191.0

Rute ke-13>> 0 186 36 122 172 171 47 101 20 123 176 35 152 0 =>

Jarak = 192.93843335793625, dengan Demand = 190.0

Rute ke-14>> 0 92 18 144 182 63 199 107 90 143 21 121 94 0 =>

Jarak = 230.01039855801577, dengan Demand = 199.0

Rute ke-15>> 0 168 32 105 33 93 118 11 177 84 165 170 0 =>

Jarak = 246.09518018591973, dengan Demand = 194.0

Rute ke-16>> 0 46 65 167 179 70 128 0 => Jarak =

64.9937161702049, dengan Demand = 101.0

======= TOTAL JARAK SEMUA RUTE = 4434.740334818186

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 158: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 21 - 1

Lampiran 21 : Hasil Implementasi Program pada Permasalahan P06 Parameter inputan Jumlah semut / kendaraan = 11 Jumlah kota = 50 Jarak maksimal kendaraan = 200 Kapasitas kendaraan = 160 Alpha = 2 Beta = 1

Rho = 0,8 Pheromon awal = 0,1 Total iterasi = 1000 Konstanta Q = 1000 Service duration = 10

Output ======= Solusi =========

Rute ke- 0 >> 0 16 21 36 9 2 1 0 => Jarak =

199.27474525071867, dengan Demand = 77.0

Rute ke- 1 >> 0 42 33 30 34 29 11 0 => Jarak =

188.64067782205944, dengan Demand = 106.0

Rute ke- 2 >> 0 10 15 44 28 8 0 => Jarak = 188.83684402672753,

dengan Demand = 68.0

Rute ke- 3 >> 0 18 37 45 39 49 50 38 0 => Jarak =

193.93657954856928, dengan Demand = 117.0

Rute ke- 4 >> 0 12 5 3 35 20 32 0 => Jarak =

162.93046344746193, dengan Demand = 123.0

Rute ke- 5 >> 0 27 23 7 14 24 6 4 47 0 => Jarak =

195.27985739335938, dengan Demand = 130.0

Rute ke- 6 >> 0 19 40 13 41 17 46 0 => Jarak =

167.99711818093886, dengan Demand = 74.0

Rute ke- 7 >> 0 48 25 43 26 31 22 0 => Jarak =

192.86624217073597, dengan Demand = 82.0

======= Total Jarak = 989.7625278405708

Running ======== ITERASI KE- 0 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 33 4 28 0 => Jarak = 171.50596026666352, dengan

Demand = 46.0

Rute ke-1>> 0 48 1 20 35 27 2 0 => Jarak = 191.5236737335951,

dengan Demand = 114.0

Rute ke-2>> 0 18 47 22 17 46 6 0 => Jarak =

191.98760145028504, dengan Demand = 97.0

Rute ke-3>> 0 13 41 32 26 0 => Jarak = 171.657032780931,

dengan Demand = 69.0

Rute ke-4>> 0 19 11 16 45 37 0 => Jarak = 197.8360879022482,

dengan Demand = 62.0

Rute ke-5>> 0 9 8 3 12 5 0 => Jarak = 191.62384194992882,

dengan Demand = 100.0

Rute ke-6>> 0 42 40 44 7 0 => Jarak = 190.53295920424637,

dengan Demand = 55.0

Rute ke-7>> 0 38 34 29 30 23 0 => Jarak = 191.86962948601837,

dengan Demand = 82.0

Rute ke-8>> 0 14 24 36 21 0 => Jarak = 185.52940300501626,

dengan Demand = 45.0

Rute ke-9>> 0 10 15 43 25 0 => Jarak = 190.43477370854208,

dengan Demand = 54.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 159: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 21 - 2

Rute ke-10>> 0 31 39 49 50 0 => Jarak = 183.38587233012908,

dengan Demand = 53.0

======= TOTAL JARAK SEMUA RUTE = 1557.8868358176037

=========== Solusi Terbaik ==========

Rute ke-0>> 0 33 4 28 0 => Jarak = 171.50596026666352, dengan

Demand = 46.0

Rute ke-1>> 0 48 1 20 35 27 2 0 => Jarak = 191.5236737335951,

dengan Demand = 114.0

Rute ke-2>> 0 18 47 22 17 46 6 0 => Jarak =

191.98760145028504, dengan Demand = 97.0

Rute ke-3>> 0 13 41 32 26 0 => Jarak = 171.657032780931,

dengan Demand = 69.0

Rute ke-4>> 0 19 11 16 45 37 0 => Jarak = 197.8360879022482,

dengan Demand = 62.0

Rute ke-5>> 0 9 8 3 12 5 0 => Jarak = 191.62384194992882,

dengan Demand = 100.0

Rute ke-6>> 0 42 40 44 7 0 => Jarak = 190.53295920424637,

dengan Demand = 55.0

Rute ke-7>> 0 38 34 29 30 23 0 => Jarak = 191.86962948601837,

dengan Demand = 82.0

Rute ke-8>> 0 14 24 36 21 0 => Jarak = 185.52940300501626,

dengan Demand = 45.0

Rute ke-9>> 0 10 15 43 25 0 => Jarak = 190.43477370854208,

dengan Demand = 54.0

Rute ke-10>> 0 31 39 49 50 0 => Jarak = 183.38587233012908,

dengan Demand = 53.0

======= TOTAL JARAK SEMUA RUTE = 1557.8868358176037

...

======== ITERASI KE- 999 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 12 5 3 35 20 32 1 0 => Jarak =

182.90566996720997, dengan Demand = 130.0

Rute ke-1>> 0 27 23 7 14 24 6 4 47 0 => Jarak =

195.27985739335938, dengan Demand = 130.0

Rute ke-2>> 0 16 21 36 9 2 0 => Jarak = 184.0367804260445,

dengan Demand = 70.0

Rute ke-3>> 0 19 40 13 41 17 46 0 => Jarak =

167.99711818093886, dengan Demand = 74.0

Rute ke-4>> 0 18 37 45 39 49 50 38 0 => Jarak =

193.93657954856928, dengan Demand = 117.0

Rute ke-5>> 0 42 33 30 34 29 11 0 => Jarak =

188.64067782205944, dengan Demand = 106.0

Rute ke-6>> 0 48 25 43 26 31 22 0 => Jarak =

192.86624217073597, dengan Demand = 82.0

Rute ke-7>> 0 10 15 44 28 8 0 => Jarak = 188.83684402672753,

dengan Demand = 68.0

======= TOTAL JARAK SEMUA RUTE = 994.4997695356449

=========== Solusi Terbaik ==========

Rute ke-0>> 0 16 21 36 9 2 1 0 => Jarak = 199.27474525071867,

dengan Demand = 77.0

Rute ke-1>> 0 42 33 30 34 29 11 0 => Jarak =

188.64067782205944, dengan Demand = 106.0

Rute ke-2>> 0 10 15 44 28 8 0 => Jarak = 188.83684402672753,

dengan Demand = 68.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 160: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 21 - 3

Rute ke-3>> 0 18 37 45 39 49 50 38 0 => Jarak =

193.93657954856928, dengan Demand = 117.0

Rute ke-4>> 0 12 5 3 35 20 32 0 => Jarak =

162.93046344746193, dengan Demand = 123.0

Rute ke-5>> 0 27 23 7 14 24 6 4 47 0 => Jarak =

195.27985739335938, dengan Demand = 130.0

Rute ke-6>> 0 19 40 13 41 17 46 0 => Jarak =

167.99711818093886, dengan Demand = 74.0

Rute ke-7>> 0 48 25 43 26 31 22 0 => Jarak =

192.86624217073597, dengan Demand = 82.0

======= TOTAL JARAK SEMUA RUTE = 989.7625278405708

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 161: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 22 - 1

Lampiran 22 : Hasil Implementasi Program pada Permasalahan P07

Parameter inputan Jumlah semut / kendaraan = 22 Jumlah kota = 75 Jarak maksimal kendaraan = 160 Kapasitas kendaraan = 140 Alpha = 2 Beta = 1

Rho = 0,8 Pheromon awal = 0,1 Total iterasi = 1000 Konstanta Q = 1000 Service duration = 10

Output ======= Solusi =========

Rute ke- 0 >> 0 46 53 11 65 38 58 0 => Jarak =

135.99512685291734, dengan Demand = 140.0

Rute ke- 1 >> 0 3 49 55 25 32 0 => Jarak = 156.61726978120464,

dengan Demand = 65.0

Rute ke- 2 >> 0 17 51 6 40 12 50 0 => Jarak =

152.5435186202567, dengan Demand = 122.0

Rute ke- 3 >> 0 44 24 18 31 0 => Jarak = 155.47463143856868,

dengan Demand = 82.0

Rute ke- 4 >> 0 23 56 22 61 74 0 => Jarak =

157.30624452147168, dengan Demand = 69.0

Rute ke- 5 >> 0 75 5 29 2 73 1 68 0 => Jarak =

159.68107902266414, dengan Demand = 114.0

Rute ke- 6 >> 0 48 15 52 13 19 8 0 => Jarak =

156.02902983998507, dengan Demand = 90.0

Rute ke- 7 >> 0 59 27 34 4 0 => Jarak = 133.91215038673153,

dengan Demand = 90.0

Rute ke- 8 >> 0 26 67 39 72 10 9 0 => Jarak =

147.23393876832765, dengan Demand = 120.0

Rute ke- 9 >> 0 36 60 20 69 0 => Jarak = 151.19687918002188,

dengan Demand = 55.0

Rute ke- 10 >> 0 62 41 64 43 42 0 => Jarak =

158.18235019769938, dengan Demand = 90.0

Rute ke- 11 >> 0 70 71 21 47 30 0 => Jarak =

149.52761055605893, dengan Demand = 83.0

Rute ke- 12 >> 0 33 28 37 57 45 0 => Jarak =

151.07506828650966, dengan Demand = 105.0

Rute ke- 13 >> 0 66 14 54 35 7 0 => Jarak =

152.95192040279994, dengan Demand = 109.0

Rute ke- 14 >> 0 63 16 0 => Jarak = 67.85993014424372, dengan

Demand = 30.0

======= Total Jarak = 1435.5867479994604

Running ======== ITERASI KE- 0 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 53 1 68 2 0 => Jarak = 152.0324394875212,

dengan Demand = 76.0

Rute ke-1>> 0 51 73 43 41 64 0 => Jarak = 148.11423210826908,

dengan Demand = 79.0

Rute ke-2>> 0 59 18 0 => Jarak = 154.82662617071, dengan

Demand = 37.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 162: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 22 - 2

Rute ke-3>> 0 32 6 40 12 0 => Jarak = 117.61898779456172,

dengan Demand = 96.0

Rute ke-4>> 0 65 38 45 47 0 => Jarak = 154.6733843737332,

dengan Demand = 73.0

Rute ke-5>> 0 55 25 11 0 => Jarak = 148.81386642020865,

dengan Demand = 58.0

Rute ke-6>> 0 17 14 54 30 0 => Jarak = 139.2255739861263,

dengan Demand = 89.0

Rute ke-7>> 0 50 16 72 39 0 => Jarak = 145.70782493103027,

dengan Demand = 58.0

Rute ke-8>> 0 4 37 22 0 => Jarak = 126.54365319520937, dengan

Demand = 56.0

Rute ke-9>> 0 27 57 49 3 0 => Jarak = 153.54016140341452,

dengan Demand = 47.0

Rute ke-10>> 0 46 33 42 0 => Jarak = 124.02879832619084,

dengan Demand = 65.0

Rute ke-11>> 0 70 71 61 21 0 => Jarak = 149.79339216913021,

dengan Demand = 57.0

Rute ke-12>> 0 69 56 0 => Jarak = 143.27937870965852, dengan

Demand = 34.0

Rute ke-13>> 0 52 13 63 23 0 => Jarak = 145.586965444405,

dengan Demand = 48.0

Rute ke-14>> 0 9 75 5 28 0 => Jarak = 157.26060455936542,

dengan Demand = 99.0

Rute ke-15>> 0 44 8 20 0 => Jarak = 154.41094548833786,

dengan Demand = 55.0

Rute ke-16>> 0 24 26 67 7 34 0 => Jarak = 152.3590147648628,

dengan Demand = 109.0

Rute ke-17>> 0 10 48 15 0 => Jarak = 143.226341608853, dengan

Demand = 54.0

Rute ke-18>> 0 62 29 35 19 0 => Jarak = 140.04047123259608,

dengan Demand = 56.0

Rute ke-19>> 0 66 31 0 => Jarak = 119.64918537047762, dengan

Demand = 62.0

Rute ke-20>> 0 58 60 36 0 => Jarak = 155.69397935109555,

dengan Demand = 46.0

Rute ke-21>> 0 74 0 => Jarak = 50.0, dengan Demand = 10.0

======= TOTAL JARAK SEMUA RUTE = 2326.425826895757

=========== Solusi Terbaik ==========

Rute ke-0>> 0 53 1 68 2 0 => Jarak = 152.0324394875212,

dengan Demand = 76.0

Rute ke-1>> 0 51 73 43 41 64 0 => Jarak = 148.11423210826908,

dengan Demand = 79.0

Rute ke-2>> 0 59 18 0 => Jarak = 154.82662617071, dengan

Demand = 37.0

Rute ke-3>> 0 32 6 40 12 0 => Jarak = 117.61898779456172,

dengan Demand = 96.0

Rute ke-4>> 0 65 38 45 47 0 => Jarak = 154.6733843737332,

dengan Demand = 73.0

Rute ke-5>> 0 55 25 11 0 => Jarak = 148.81386642020865,

dengan Demand = 58.0

Rute ke-6>> 0 17 14 54 30 0 => Jarak = 139.2255739861263,

dengan Demand = 89.0

Rute ke-7>> 0 50 16 72 39 0 => Jarak = 145.70782493103027,

dengan Demand = 58.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 163: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 22 - 3

Rute ke-8>> 0 4 37 22 0 => Jarak = 126.54365319520937, dengan

Demand = 56.0

Rute ke-9>> 0 27 57 49 3 0 => Jarak = 153.54016140341452,

dengan Demand = 47.0

Rute ke-10>> 0 46 33 42 0 => Jarak = 124.02879832619084,

dengan Demand = 65.0

Rute ke-11>> 0 70 71 61 21 0 => Jarak = 149.79339216913021,

dengan Demand = 57.0

Rute ke-12>> 0 69 56 0 => Jarak = 143.27937870965852, dengan

Demand = 34.0

Rute ke-13>> 0 52 13 63 23 0 => Jarak = 145.586965444405,

dengan Demand = 48.0

Rute ke-14>> 0 9 75 5 28 0 => Jarak = 157.26060455936542,

dengan Demand = 99.0

Rute ke-15>> 0 44 8 20 0 => Jarak = 154.41094548833786,

dengan Demand = 55.0

Rute ke-16>> 0 24 26 67 7 34 0 => Jarak = 152.3590147648628,

dengan Demand = 109.0

Rute ke-17>> 0 10 48 15 0 => Jarak = 143.226341608853, dengan

Demand = 54.0

Rute ke-18>> 0 62 29 35 19 0 => Jarak = 140.04047123259608,

dengan Demand = 56.0

Rute ke-19>> 0 66 31 0 => Jarak = 119.64918537047762, dengan

Demand = 62.0

Rute ke-20>> 0 58 60 36 0 => Jarak = 155.69397935109555,

dengan Demand = 46.0

Rute ke-21>> 0 74 0 => Jarak = 50.0, dengan Demand = 10.0

======= TOTAL JARAK SEMUA RUTE = 2326.425826895757

...

======== ITERASI KE- 999 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 62 41 64 43 42 0 => Jarak = 158.18235019769938,

dengan Demand = 90.0

Rute ke-1>> 0 75 5 29 2 73 1 68 0 => Jarak =

159.68107902266414, dengan Demand = 114.0

Rute ke-2>> 0 23 56 22 61 74 0 => Jarak = 157.30624452147168,

dengan Demand = 69.0

Rute ke-3>> 0 66 14 54 35 7 0 => Jarak = 152.95192040279994,

dengan Demand = 109.0

Rute ke-4>> 0 48 15 52 13 19 8 0 => Jarak =

156.02902983998507, dengan Demand = 90.0

Rute ke-5>> 0 3 49 55 25 32 0 => Jarak = 156.61726978120464,

dengan Demand = 65.0

Rute ke-6>> 0 26 67 39 72 10 9 0 => Jarak =

147.23393876832765, dengan Demand = 120.0

Rute ke-7>> 0 36 60 20 69 0 => Jarak = 151.19687918002188,

dengan Demand = 55.0

Rute ke-8>> 0 46 53 11 65 38 58 0 => Jarak =

135.99512685291734, dengan Demand = 140.0

Rute ke-9>> 0 17 51 6 40 12 50 0 => Jarak =

152.5435186202567, dengan Demand = 122.0

Rute ke-10>> 0 70 71 21 47 30 0 => Jarak =

149.52761055605893, dengan Demand = 83.0

Rute ke-11>> 0 44 24 18 31 0 => Jarak = 155.47463143856868,

dengan Demand = 82.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 164: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 22 - 4

Rute ke-12>> 0 33 28 37 57 45 0 => Jarak =

151.07506828650966, dengan Demand = 105.0

Rute ke-13>> 0 59 27 34 4 0 => Jarak = 133.91215038673153,

dengan Demand = 90.0

Rute ke-14>> 0 63 16 0 => Jarak = 67.85993014424372, dengan

Demand = 30.0

======= TOTAL JARAK SEMUA RUTE = 1435.5867479994604

=========== Solusi Terbaik ==========

Rute ke-0>> 0 46 53 11 65 38 58 0 => Jarak =

135.99512685291734, dengan Demand = 140.0

Rute ke-1>> 0 3 49 55 25 32 0 => Jarak = 156.61726978120464,

dengan Demand = 65.0

Rute ke-2>> 0 17 51 6 40 12 50 0 => Jarak =

152.5435186202567, dengan Demand = 122.0

Rute ke-3>> 0 44 24 18 31 0 => Jarak = 155.47463143856868,

dengan Demand = 82.0

Rute ke-4>> 0 23 56 22 61 74 0 => Jarak = 157.30624452147168,

dengan Demand = 69.0

Rute ke-5>> 0 75 5 29 2 73 1 68 0 => Jarak =

159.68107902266414, dengan Demand = 114.0

Rute ke-6>> 0 48 15 52 13 19 8 0 => Jarak =

156.02902983998507, dengan Demand = 90.0

Rute ke-7>> 0 59 27 34 4 0 => Jarak = 133.91215038673153,

dengan Demand = 90.0

Rute ke-8>> 0 26 67 39 72 10 9 0 => Jarak =

147.23393876832765, dengan Demand = 120.0

Rute ke-9>> 0 36 60 20 69 0 => Jarak = 151.19687918002188,

dengan Demand = 55.0

Rute ke-10>> 0 62 41 64 43 42 0 => Jarak =

158.18235019769938, dengan Demand = 90.0

Rute ke-11>> 0 70 71 21 47 30 0 => Jarak =

149.52761055605893, dengan Demand = 83.0

Rute ke-12>> 0 33 28 37 57 45 0 => Jarak =

151.07506828650966, dengan Demand = 105.0

Rute ke-13>> 0 66 14 54 35 7 0 => Jarak = 152.95192040279994,

dengan Demand = 109.0

Rute ke-14>> 0 63 16 0 => Jarak = 67.85993014424372, dengan

Demand = 30.0

======= TOTAL JARAK SEMUA RUTE = 1435.5867479994604

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 165: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 23 - 1

Lampiran 23 : Hasil Implementasi Program pada Permasalahan P08

Parameter inputan Jumlah semut / kendaraan = 20 Jumlah kota = 100 Jarak maksimal kendaraan = 230 Kapasitas kendaraan = 200 Alpha = 2 Beta = 1

Rho = 0,8 Pheromon awal = 0,1 Total iterasi = 1000 Konstanta Q = 1000 Service duration = 10

Output ======= Solusi =========

Rute ke- 0 >> 0 58 87 43 15 25 39 2 6 0 => Jarak =

224.05009541094032, dengan Demand = 106.0

Rute ke- 1 >> 0 36 47 46 48 86 59 37 92 0 => Jarak =

228.85136177928848, dengan Demand = 142.0

Rute ke- 2 >> 0 97 96 91 42 61 99 40 12 89 0 => Jarak =

228.32864854825488, dengan Demand = 94.0

Rute ke- 3 >> 0 57 38 14 23 67 55 0 => Jarak =

223.4812883384822, dengan Demand = 99.0

Rute ke- 4 >> 0 80 54 3 79 34 78 35 71 81 33 0 => Jarak =

226.1080433680456, dengan Demand = 137.0

Rute ke- 5 >> 0 45 11 63 8 18 52 27 0 => Jarak =

200.2953623681263, dengan Demand = 84.0

Rute ke- 6 >> 0 70 20 9 30 65 32 90 0 => Jarak =

222.00125775378714, dengan Demand = 97.0

Rute ke- 7 >> 0 50 31 68 22 56 72 21 26 53 0 => Jarak =

225.39159126893074, dengan Demand = 167.0

Rute ke- 8 >> 0 29 24 75 4 41 28 1 0 => Jarak =

222.19798418450728, dengan Demand = 80.0

Rute ke- 9 >> 0 73 74 94 17 84 83 16 85 95 0 => Jarak =

220.88844660388028, dengan Demand = 144.0

Rute ke- 10 >> 0 13 98 93 100 44 49 64 0 => Jarak =

223.58729811832038, dengan Demand = 129.0

Rute ke- 11 >> 0 7 19 88 62 10 82 60 5 0 => Jarak =

196.7341682348373, dengan Demand = 111.0

Rute ke- 12 >> 0 51 66 69 77 76 0 => Jarak =

156.82947013281205, dengan Demand = 68.0

======= Total Jarak = 1798.7450161102124

Running ======== ITERASI KE- 0 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 58 87 1 69 88 90 62 0 => Jarak =

193.2479883134568, dengan Demand = 91.0

Rute ke-1>> 0 80 54 55 34 12 84 0 => Jarak =

218.24064300504708, dengan Demand = 66.0

Rute ke-2>> 0 36 37 50 89 99 0 => Jarak = 225.9439564277886,

dengan Demand = 50.0

Rute ke-3>> 0 83 16 72 2 32 0 => Jarak = 223.81645501695107,

dengan Demand = 85.0

Rute ke-4>> 0 57 21 26 44 13 75 0 => Jarak =

219.37598680948366, dengan Demand = 94.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 166: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 23 - 2

Rute ke-5>> 0 76 78 3 79 52 63 8 0 => Jarak =

227.82514220939134, dengan Demand = 80.0

Rute ke-6>> 0 45 11 40 94 92 93 0 => Jarak =

209.55578422319334, dengan Demand = 88.0

Rute ke-7>> 0 48 47 46 15 74 0 => Jarak = 188.00405980151453,

dengan Demand = 80.0

Rute ke-8>> 0 53 64 66 60 0 => Jarak = 198.1725660280125,

dengan Demand = 51.0

Rute ke-9>> 0 38 95 5 85 29 0 => Jarak = 221.56966463780205,

dengan Demand = 112.0

Rute ke-10>> 0 70 65 19 10 82 0 => Jarak = 211.8979153634176,

dengan Demand = 74.0

Rute ke-11>> 0 28 49 98 56 0 => Jarak = 206.22115011468546,

dengan Demand = 62.0

Rute ke-12>> 0 25 39 35 71 81 24 0 => Jarak =

228.38108866431563, dengan Demand = 89.0

Rute ke-13>> 0 6 51 14 77 0 => Jarak = 216.90691612832012,

dengan Demand = 47.0

Rute ke-14>> 0 27 30 68 31 4 41 0 => Jarak =

227.44080699036107, dengan Demand = 124.0

Rute ke-15>> 0 7 73 23 22 9 0 => Jarak = 222.4825917684935,

dengan Demand = 77.0

Rute ke-16>> 0 67 17 61 18 0 => Jarak = 193.63348063048878,

dengan Demand = 52.0

Rute ke-17>> 0 97 43 100 96 91 42 0 => Jarak =

168.50266454468806, dengan Demand = 53.0

Rute ke-18>> 0 33 20 59 86 0 => Jarak = 180.9141638462798,

dengan Demand = 83.0

======= TOTAL JARAK SEMUA RUTE = 2982.1330245236904

=========== Solusi Terbaik ==========

Rute ke-0>> 0 58 87 1 69 88 90 62 0 => Jarak =

193.2479883134568, dengan Demand = 91.0

Rute ke-1>> 0 80 54 55 34 12 84 0 => Jarak =

218.24064300504708, dengan Demand = 66.0

Rute ke-2>> 0 36 37 50 89 99 0 => Jarak = 225.9439564277886,

dengan Demand = 50.0

Rute ke-3>> 0 83 16 72 2 32 0 => Jarak = 223.81645501695107,

dengan Demand = 85.0

Rute ke-4>> 0 57 21 26 44 13 75 0 => Jarak =

219.37598680948366, dengan Demand = 94.0

Rute ke-5>> 0 76 78 3 79 52 63 8 0 => Jarak =

227.82514220939134, dengan Demand = 80.0

Rute ke-6>> 0 45 11 40 94 92 93 0 => Jarak =

209.55578422319334, dengan Demand = 88.0

Rute ke-7>> 0 48 47 46 15 74 0 => Jarak = 188.00405980151453,

dengan Demand = 80.0

Rute ke-8>> 0 53 64 66 60 0 => Jarak = 198.1725660280125,

dengan Demand = 51.0

Rute ke-9>> 0 38 95 5 85 29 0 => Jarak = 221.56966463780205,

dengan Demand = 112.0

Rute ke-10>> 0 70 65 19 10 82 0 => Jarak = 211.8979153634176,

dengan Demand = 74.0

Rute ke-11>> 0 28 49 98 56 0 => Jarak = 206.22115011468546,

dengan Demand = 62.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 167: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 23 - 3

Rute ke-12>> 0 25 39 35 71 81 24 0 => Jarak =

228.38108866431563, dengan Demand = 89.0

Rute ke-13>> 0 6 51 14 77 0 => Jarak = 216.90691612832012,

dengan Demand = 47.0

Rute ke-14>> 0 27 30 68 31 4 41 0 => Jarak =

227.44080699036107, dengan Demand = 124.0

Rute ke-15>> 0 7 73 23 22 9 0 => Jarak = 222.4825917684935,

dengan Demand = 77.0

Rute ke-16>> 0 67 17 61 18 0 => Jarak = 193.63348063048878,

dengan Demand = 52.0

Rute ke-17>> 0 97 43 100 96 91 42 0 => Jarak =

168.50266454468806, dengan Demand = 53.0

Rute ke-18>> 0 33 20 59 86 0 => Jarak = 180.9141638462798,

dengan Demand = 83.0

======= TOTAL JARAK SEMUA RUTE = 2982.1330245236904

...

======== ITERASI KE- 999 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 97 96 91 42 61 99 40 12 89 0 => Jarak =

228.32864854825488, dengan Demand = 94.0

Rute ke-1>> 0 73 74 94 17 84 83 16 85 95 0 => Jarak =

220.88844660388028, dengan Demand = 144.0

Rute ke-2>> 0 70 20 9 30 65 32 90 0 => Jarak =

222.00125775378714, dengan Demand = 97.0

Rute ke-3>> 0 58 87 43 15 25 39 2 6 0 => Jarak =

224.05009541094032, dengan Demand = 106.0

Rute ke-4>> 0 13 98 93 100 44 49 64 0 => Jarak =

223.58729811832038, dengan Demand = 129.0

Rute ke-5>> 0 80 54 3 79 34 78 35 71 81 33 0 => Jarak =

226.1080433680456, dengan Demand = 137.0

Rute ke-6>> 0 29 24 75 4 41 28 1 0 => Jarak =

222.19798418450728, dengan Demand = 80.0

Rute ke-7>> 0 45 11 63 8 18 52 27 0 => Jarak =

200.2953623681263, dengan Demand = 84.0

Rute ke-8>> 0 57 38 14 23 67 55 0 => Jarak =

223.4812883384822, dengan Demand = 99.0

Rute ke-9>> 0 51 66 69 77 76 88 62 0 => Jarak =

218.07651958658312, dengan Demand = 96.0

Rute ke-10>> 0 7 19 10 82 60 5 47 0 => Jarak =

215.9991457459867, dengan Demand = 110.0

Rute ke-11>> 0 50 31 68 22 56 72 21 26 53 0 => Jarak =

225.39159126893074, dengan Demand = 167.0

Rute ke-12>> 0 36 37 92 59 86 0 => Jarak =

193.71149802678482, dengan Demand = 78.0

Rute ke-13>> 0 48 46 0 => Jarak = 94.97587316157171, dengan

Demand = 37.0

======= TOTAL JARAK SEMUA RUTE = 1939.0930524842015

=========== Solusi Terbaik ==========

Rute ke-0>> 0 58 87 43 15 25 39 2 6 0 => Jarak =

224.05009541094032, dengan Demand = 106.0

Rute ke-1>> 0 36 47 46 48 86 59 37 92 0 => Jarak =

228.85136177928848, dengan Demand = 142.0

Rute ke-2>> 0 97 96 91 42 61 99 40 12 89 0 => Jarak =

228.32864854825488, dengan Demand = 94.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 168: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 23 - 4

Rute ke-3>> 0 57 38 14 23 67 55 0 => Jarak =

223.4812883384822, dengan Demand = 99.0

Rute ke-4>> 0 80 54 3 79 34 78 35 71 81 33 0 => Jarak =

226.1080433680456, dengan Demand = 137.0

Rute ke-5>> 0 45 11 63 8 18 52 27 0 => Jarak =

200.2953623681263, dengan Demand = 84.0

Rute ke-6>> 0 70 20 9 30 65 32 90 0 => Jarak =

222.00125775378714, dengan Demand = 97.0

Rute ke-7>> 0 50 31 68 22 56 72 21 26 53 0 => Jarak =

225.39159126893074, dengan Demand = 167.0

Rute ke-8>> 0 29 24 75 4 41 28 1 0 => Jarak =

222.19798418450728, dengan Demand = 80.0

Rute ke-9>> 0 73 74 94 17 84 83 16 85 95 0 => Jarak =

220.88844660388028, dengan Demand = 144.0

Rute ke-10>> 0 13 98 93 100 44 49 64 0 => Jarak =

223.58729811832038, dengan Demand = 129.0

Rute ke-11>> 0 7 19 88 62 10 82 60 5 0 => Jarak =

196.7341682348373, dengan Demand = 111.0

Rute ke-12>> 0 51 66 69 77 76 0 => Jarak =

156.82947013281205, dengan Demand = 68.0

======= TOTAL JARAK SEMUA RUTE = 1798.7450161102124

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 169: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 24 - 1

Lampiran 24 : Hasil Implementasi Program pada Permasalahan P09 Parameter inputan Jumlah semut / kendaraan = 33 Jumlah kota = 150 Jarak maksimal kendaraan = 200 Kapasitas kendaraan = 200 Alpha = 2 Beta = 1

Rho = 0,8 Pheromon awal = 0,1 Total iterasi = 500 Konstanta Q = 1000 Service duration = 10

Output ======= Solusi =========

Rute ke- 0 >> 0 119 98 48 84 2 127 0 => Jarak =

193.04696892686718, dengan Demand = 117.0

Rute ke- 1 >> 0 148 55 110 111 137 107 54 0 => Jarak =

190.4123266350988, dengan Demand = 104.0

Rute ke- 2 >> 0 144 56 139 78 117 16 0 => Jarak =

193.69445033647156, dengan Demand = 101.0

Rute ke- 3 >> 0 145 133 14 25 96 24 60 51 0 => Jarak =

196.2724818155103, dengan Demand = 117.0

Rute ke- 4 >> 0 140 83 22 80 82 101 0 => Jarak =

189.59063014506583, dengan Demand = 76.0

Rute ke- 5 >> 0 66 64 150 135 88 40 44 0 => Jarak =

191.7858844326203, dengan Demand = 136.0

Rute ke- 6 >> 0 20 115 120 1 27 18 0 => Jarak =

194.1466603305492, dengan Demand = 116.0

Rute ke- 7 >> 0 49 53 74 130 34 118 30 10 0 => Jarak =

193.3700145088056, dengan Demand = 126.0

Rute ke- 8 >> 0 23 112 28 70 31 3 59 0 => Jarak =

192.75464602017593, dengan Demand = 101.0

Rute ke- 9 >> 0 72 71 17 109 146 136 142 0 => Jarak =

191.3676288399679, dengan Demand = 108.0

Rute ke- 10 >> 0 4 143 43 57 61 69 0 => Jarak =

196.98573802662116, dengan Demand = 76.0

Rute ke- 11 >> 0 52 138 12 15 91 33 0 => Jarak =

194.64685913540112, dengan Demand = 83.0

Rute ke- 12 >> 0 6 73 39 105 123 122 0 => Jarak =

197.75005634286302, dengan Demand = 94.0

Rute ke- 13 >> 0 108 147 93 42 19 92 5 103 0 => Jarak =

177.83627881254466, dengan Demand = 99.0

Rute ke- 14 >> 0 126 76 29 131 100 32 81 11 0 => Jarak =

190.89436277840787, dengan Demand = 133.0

Rute ke- 15 >> 0 128 50 129 62 9 38 77 0 => Jarak =

168.97489841380633, dengan Demand = 97.0

Rute ke- 16 >> 0 85 36 116 121 35 79 21 0 => Jarak =

197.08951225154118, dengan Demand = 88.0

Rute ke- 17 >> 0 75 89 106 124 104 45 37 0 => Jarak =

199.86916915554747, dengan Demand = 88.0

Rute ke- 18 >> 0 8 113 114 46 102 47 0 => Jarak =

179.4322382049065, dengan Demand = 81.0

Rute ke- 19 >> 0 125 65 41 134 141 94 0 => Jarak =

196.0118955673806, dengan Demand = 79.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 170: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 24 - 2

Rute ke- 20 >> 0 90 87 149 63 13 67 95 58 0 => Jarak =

198.5599351192529, dengan Demand = 99.0

Rute ke- 21 >> 0 97 7 26 99 86 132 68 0 => Jarak =

199.53011868019837, dengan Demand = 116.0

======= Total Jarak = 2724.0227544796026

Running ======== ITERASI KE- 0 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 140 83 79 143 0 => Jarak = 183.38696652413188,

dengan Demand = 45.0

Rute ke-1>> 0 96 24 60 71 0 => Jarak = 166.83657317821124,

dengan Demand = 38.0

Rute ke-2>> 0 75 119 27 18 110 14 0 => Jarak =

193.83443308559418, dengan Demand = 92.0

Rute ke-3>> 0 6 73 91 33 32 0 => Jarak = 188.9089917771398,

dengan Demand = 84.0

Rute ke-4>> 0 82 7 26 1 123 0 => Jarak = 188.83971650527005,

dengan Demand = 65.0

Rute ke-5>> 0 52 138 74 50 0 => Jarak = 166.99728433857248,

dengan Demand = 29.0

Rute ke-6>> 0 86 5 129 128 0 => Jarak = 191.2954970264001,

dengan Demand = 52.0

Rute ke-7>> 0 90 72 133 87 44 46 0 => Jarak =

186.39262319293326, dengan Demand = 67.0

Rute ke-8>> 0 51 144 56 137 107 54 10 0 => Jarak =

184.33628578592467, dengan Demand = 97.0

Rute ke-9>> 0 67 139 55 45 0 => Jarak = 160.6428682759795,

dengan Demand = 53.0

Rute ke-10>> 0 124 136 142 103 9 62 0 => Jarak =

195.7864373919003, dengan Demand = 89.0

Rute ke-11>> 0 85 48 132 0 => Jarak = 146.4603905203903,

dengan Demand = 41.0

Rute ke-12>> 0 12 15 80 49 53 0 => Jarak = 189.6747997737787,

dengan Demand = 91.0

Rute ke-13>> 0 148 68 41 38 2 0 => Jarak =

189.08300858397183, dengan Demand = 94.0

Rute ke-14>> 0 47 149 22 116 121 3 0 => Jarak =

183.18053899631929, dengan Demand = 98.0

Rute ke-15>> 0 125 94 111 146 65 0 => Jarak =

190.21651968695323, dengan Demand = 68.0

Rute ke-16>> 0 17 147 93 42 112 0 => Jarak =

166.2302685857656, dengan Demand = 54.0

Rute ke-17>> 0 28 70 31 108 4 0 => Jarak =

171.26202605943567, dengan Demand = 61.0

Rute ke-18>> 0 145 35 130 34 0 => Jarak = 167.78805095667707,

dengan Demand = 69.0

Rute ke-19>> 0 61 89 78 77 0 => Jarak = 183.0501617353475,

dengan Demand = 75.0

Rute ke-20>> 0 97 57 99 0 => Jarak = 144.35694439293323,

dengan Demand = 62.0

Rute ke-21>> 0 23 113 114 101 8 0 => Jarak =

194.45237063625194, dengan Demand = 68.0

Rute ke-22>> 0 20 115 120 118 30 0 => Jarak =

196.13641301702887, dengan Demand = 108.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 171: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 24 - 3

Rute ke-23>> 0 126 76 104 105 39 11 0 => Jarak =

158.0567279375131, dengan Demand = 83.0

Rute ke-24>> 0 102 63 13 98 95 58 0 => Jarak =

191.02666134728162, dengan Demand = 116.0

Rute ke-25>> 0 106 81 16 131 0 => Jarak = 179.49144426972697,

dengan Demand = 74.0

Rute ke-26>> 0 127 69 37 100 0 => Jarak = 189.08167101229043,

dengan Demand = 53.0

Rute ke-27>> 0 135 122 25 134 141 0 => Jarak =

196.5717498548933, dengan Demand = 102.0

Rute ke-28>> 0 59 19 92 0 => Jarak = 161.5878178095931,

dengan Demand = 30.0

Rute ke-29>> 0 66 64 40 109 21 0 => Jarak =

197.85849585001802, dengan Demand = 82.0

Rute ke-30>> 0 84 29 88 0 => Jarak = 186.63095668545063,

dengan Demand = 36.0

Rute ke-31>> 0 150 36 0 => Jarak = 156.1017659439609, dengan

Demand = 23.0

Rute ke-32>> 0 43 117 0 => Jarak = 191.1749303320912, dengan

Demand = 36.0

======= TOTAL JARAK SEMUA RUTE = 4436.73139106973

=========== Solusi Terbaik ==========

Rute ke-0>> 0 140 83 79 143 0 => Jarak = 183.38696652413188,

dengan Demand = 45.0

Rute ke-1>> 0 96 24 60 71 0 => Jarak = 166.83657317821124,

dengan Demand = 38.0

Rute ke-2>> 0 75 119 27 18 110 14 0 => Jarak =

193.83443308559418, dengan Demand = 92.0

Rute ke-3>> 0 6 73 91 33 32 0 => Jarak = 188.9089917771398,

dengan Demand = 84.0

Rute ke-4>> 0 82 7 26 1 123 0 => Jarak = 188.83971650527005,

dengan Demand = 65.0

Rute ke-5>> 0 52 138 74 50 0 => Jarak = 166.99728433857248,

dengan Demand = 29.0

Rute ke-6>> 0 86 5 129 128 0 => Jarak = 191.2954970264001,

dengan Demand = 52.0

Rute ke-7>> 0 90 72 133 87 44 46 0 => Jarak =

186.39262319293326, dengan Demand = 67.0

Rute ke-8>> 0 51 144 56 137 107 54 10 0 => Jarak =

184.33628578592467, dengan Demand = 97.0

Rute ke-9>> 0 67 139 55 45 0 => Jarak = 160.6428682759795,

dengan Demand = 53.0

Rute ke-10>> 0 124 136 142 103 9 62 0 => Jarak =

195.7864373919003, dengan Demand = 89.0

Rute ke-11>> 0 85 48 132 0 => Jarak = 146.4603905203903,

dengan Demand = 41.0

Rute ke-12>> 0 12 15 80 49 53 0 => Jarak = 189.6747997737787,

dengan Demand = 91.0

Rute ke-13>> 0 148 68 41 38 2 0 => Jarak =

189.08300858397183, dengan Demand = 94.0

Rute ke-14>> 0 47 149 22 116 121 3 0 => Jarak =

183.18053899631929, dengan Demand = 98.0

Rute ke-15>> 0 125 94 111 146 65 0 => Jarak =

190.21651968695323, dengan Demand = 68.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 172: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 24 - 4

Rute ke-16>> 0 17 147 93 42 112 0 => Jarak =

166.2302685857656, dengan Demand = 54.0

Rute ke-17>> 0 28 70 31 108 4 0 => Jarak =

171.26202605943567, dengan Demand = 61.0

Rute ke-18>> 0 145 35 130 34 0 => Jarak = 167.78805095667707,

dengan Demand = 69.0

Rute ke-19>> 0 61 89 78 77 0 => Jarak = 183.0501617353475,

dengan Demand = 75.0

Rute ke-20>> 0 97 57 99 0 => Jarak = 144.35694439293323,

dengan Demand = 62.0

Rute ke-21>> 0 23 113 114 101 8 0 => Jarak =

194.45237063625194, dengan Demand = 68.0

Rute ke-22>> 0 20 115 120 118 30 0 => Jarak =

196.13641301702887, dengan Demand = 108.0

Rute ke-23>> 0 126 76 104 105 39 11 0 => Jarak =

158.0567279375131, dengan Demand = 83.0

Rute ke-24>> 0 102 63 13 98 95 58 0 => Jarak =

191.02666134728162, dengan Demand = 116.0

Rute ke-25>> 0 106 81 16 131 0 => Jarak = 179.49144426972697,

dengan Demand = 74.0

Rute ke-26>> 0 127 69 37 100 0 => Jarak = 189.08167101229043,

dengan Demand = 53.0

Rute ke-27>> 0 135 122 25 134 141 0 => Jarak =

196.5717498548933, dengan Demand = 102.0

Rute ke-28>> 0 59 19 92 0 => Jarak = 161.5878178095931,

dengan Demand = 30.0

Rute ke-29>> 0 66 64 40 109 21 0 => Jarak =

197.85849585001802, dengan Demand = 82.0

Rute ke-30>> 0 84 29 88 0 => Jarak = 186.63095668545063,

dengan Demand = 36.0

Rute ke-31>> 0 150 36 0 => Jarak = 156.1017659439609, dengan

Demand = 23.0

Rute ke-32>> 0 43 117 0 => Jarak = 191.1749303320912, dengan

Demand = 36.0

======= TOTAL JARAK SEMUA RUTE = 4436.73139106973

...

======== ITERASI KE- 499 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 90 87 149 63 13 67 95 58 0 => Jarak =

198.5599351192529, dengan Demand = 99.0

Rute ke-1>> 0 52 138 12 15 91 33 0 => Jarak =

194.64685913540112, dengan Demand = 83.0

Rute ke-2>> 0 108 147 93 42 19 92 5 103 0 => Jarak =

177.83627881254466, dengan Demand = 99.0

Rute ke-3>> 0 140 83 22 80 82 101 0 => Jarak =

189.59063014506583, dengan Demand = 76.0

Rute ke-4>> 0 49 53 74 130 34 118 30 10 0 => Jarak =

193.3700145088056, dengan Demand = 126.0

Rute ke-5>> 0 125 65 41 134 141 94 0 => Jarak =

196.0118955673806, dengan Demand = 79.0

Rute ke-6>> 0 85 36 116 121 35 79 21 0 => Jarak =

197.08951225154118, dengan Demand = 88.0

Rute ke-7>> 0 97 7 26 99 86 132 68 0 => Jarak =

199.53011868019837, dengan Demand = 116.0

Rute ke-8>> 0 144 56 139 78 117 16 0 => Jarak =

193.69445033647156, dengan Demand = 101.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 173: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 24 - 5

Rute ke-9>> 0 6 73 39 105 123 122 0 => Jarak =

197.75005634286302, dengan Demand = 94.0

Rute ke-10>> 0 119 98 48 84 2 127 0 => Jarak =

193.04696892686718, dengan Demand = 117.0

Rute ke-11>> 0 8 113 114 46 102 47 0 => Jarak =

179.4322382049065, dengan Demand = 81.0

Rute ke-12>> 0 66 64 150 135 88 40 44 0 => Jarak =

191.7858844326203, dengan Demand = 136.0

Rute ke-13>> 0 72 71 17 109 146 136 142 0 => Jarak =

191.3676288399679, dengan Demand = 108.0

Rute ke-14>> 0 4 143 43 57 61 69 0 => Jarak =

196.98573802662116, dengan Demand = 76.0

Rute ke-15>> 0 23 112 28 70 31 3 59 0 => Jarak =

192.75464602017593, dengan Demand = 101.0

Rute ke-16>> 0 148 55 110 111 137 107 54 0 => Jarak =

190.4123266350988, dengan Demand = 104.0

Rute ke-17>> 0 75 89 106 124 104 45 37 0 => Jarak =

199.86916915554747, dengan Demand = 88.0

Rute ke-18>> 0 126 76 29 131 100 32 81 11 0 => Jarak =

190.89436277840787, dengan Demand = 133.0

Rute ke-19>> 0 145 133 14 25 96 24 60 51 0 => Jarak =

196.2724818155103, dengan Demand = 117.0

Rute ke-20>> 0 20 115 120 1 27 18 0 => Jarak =

194.1466603305492, dengan Demand = 116.0

Rute ke-21>> 0 128 50 129 62 9 38 77 0 => Jarak =

168.97489841380633, dengan Demand = 97.0

======= TOTAL JARAK SEMUA RUTE = 2724.0227544796035

=========== Solusi Terbaik ==========

Rute ke-0>> 0 119 98 48 84 2 127 0 => Jarak =

193.04696892686718, dengan Demand = 117.0

Rute ke-1>> 0 148 55 110 111 137 107 54 0 => Jarak =

190.4123266350988, dengan Demand = 104.0

Rute ke-2>> 0 144 56 139 78 117 16 0 => Jarak =

193.69445033647156, dengan Demand = 101.0

Rute ke-3>> 0 145 133 14 25 96 24 60 51 0 => Jarak =

196.2724818155103, dengan Demand = 117.0

Rute ke-4>> 0 140 83 22 80 82 101 0 => Jarak =

189.59063014506583, dengan Demand = 76.0

Rute ke-5>> 0 66 64 150 135 88 40 44 0 => Jarak =

191.7858844326203, dengan Demand = 136.0

Rute ke-6>> 0 20 115 120 1 27 18 0 => Jarak =

194.1466603305492, dengan Demand = 116.0

Rute ke-7>> 0 49 53 74 130 34 118 30 10 0 => Jarak =

193.3700145088056, dengan Demand = 126.0

Rute ke-8>> 0 23 112 28 70 31 3 59 0 => Jarak =

192.75464602017593, dengan Demand = 101.0

Rute ke-9>> 0 72 71 17 109 146 136 142 0 => Jarak =

191.3676288399679, dengan Demand = 108.0

Rute ke-10>> 0 4 143 43 57 61 69 0 => Jarak =

196.98573802662116, dengan Demand = 76.0

Rute ke-11>> 0 52 138 12 15 91 33 0 => Jarak =

194.64685913540112, dengan Demand = 83.0

Rute ke-12>> 0 6 73 39 105 123 122 0 => Jarak =

197.75005634286302, dengan Demand = 94.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 174: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 24 - 6

Rute ke-13>> 0 108 147 93 42 19 92 5 103 0 => Jarak =

177.83627881254466, dengan Demand = 99.0

Rute ke-14>> 0 126 76 29 131 100 32 81 11 0 => Jarak =

190.89436277840787, dengan Demand = 133.0

Rute ke-15>> 0 128 50 129 62 9 38 77 0 => Jarak =

168.97489841380633, dengan Demand = 97.0

Rute ke-16>> 0 85 36 116 121 35 79 21 0 => Jarak =

197.08951225154118, dengan Demand = 88.0

Rute ke-17>> 0 75 89 106 124 104 45 37 0 => Jarak =

199.86916915554747, dengan Demand = 88.0

Rute ke-18>> 0 8 113 114 46 102 47 0 => Jarak =

179.4322382049065, dengan Demand = 81.0

Rute ke-19>> 0 125 65 41 134 141 94 0 => Jarak =

196.0118955673806, dengan Demand = 79.0

Rute ke-20>> 0 90 87 149 63 13 67 95 58 0 => Jarak =

198.5599351192529, dengan Demand = 99.0

Rute ke-21>> 0 97 7 26 99 86 132 68 0 => Jarak =

199.53011868019837, dengan Demand = 116.0

======= TOTAL JARAK SEMUA RUTE = 2724.0227544796026

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 175: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 25 - 1

Lampiran 25 : Hasil Implementasi Program pada Permasalahan P10 Parameter inputan Jumlah semut / kendaraan = 42 Jumlah kota = 199 Jarak maksimal kendaraan = 200 Kapasitas kendaraan = 200 Alpha = 2 Beta = 1

Rho = 0,8 Pheromon awal = 0,1 Total iterasi = 250 Konstanta Q = 1000 Service duration = 10

Output ======= Solusi =========

Rute ke- 0 >> 0 6 150 127 123 13 14 0 => Jarak =

197.46402192757654, dengan Demand = 91.0

Rute ke- 1 >> 0 64 105 165 80 55 0 => Jarak =

194.366220986916, dengan Demand = 64.0

Rute ke- 2 >> 0 30 54 50 40 77 100 60 0 => Jarak =

173.3188148201463, dengan Demand = 126.0

Rute ke- 3 >> 0 180 52 133 11 164 129 0 => Jarak =

195.17047798808028, dengan Demand = 134.0

Rute ke- 4 >> 0 53 143 115 89 36 155 0 => Jarak =

194.04691288580034, dengan Demand = 71.0

Rute ke- 5 >> 0 139 86 101 140 48 103 167 149 0 => Jarak =

188.10292008469864, dengan Demand = 118.0

Rute ke- 6 >> 0 98 153 196 158 184 33 12 0 => Jarak =

189.16650227418972, dengan Demand = 160.0

Rute ke- 7 >> 0 19 134 170 178 78 35 99 0 => Jarak =

182.44321762156744, dengan Demand = 87.0

Rute ke- 8 >> 0 151 34 25 75 9 57 0 => Jarak =

188.26430180984158, dengan Demand = 101.0

Rute ke- 9 >> 0 58 119 24 68 0 => Jarak = 195.48973373090718,

dengan Demand = 56.0

Rute ke- 10 >> 0 197 136 21 37 124 154 29 152 0 => Jarak =

186.16091827860183, dengan Demand = 95.0

Rute ke- 11 >> 0 183 62 192 43 41 191 1 198 190 0 => Jarak =

195.57933512724335, dengan Demand = 115.0

Rute ke- 12 >> 0 31 71 131 17 95 2 0 => Jarak =

189.87734980607647, dengan Demand = 107.0

Rute ke- 13 >> 0 92 161 74 189 0 => Jarak = 197.7910518746664,

dengan Demand = 61.0

Rute ke- 14 >> 0 59 122 114 42 90 113 96 0 => Jarak =

199.28524543046345, dengan Demand = 125.0

Rute ke- 15 >> 0 162 147 72 110 148 130 0 => Jarak =

193.19015216269665, dengan Demand = 131.0

Rute ke- 16 >> 0 177 81 169 97 118 146 0 => Jarak =

190.3735083707124, dengan Demand = 81.0

Rute ke- 17 >> 0 106 18 109 107 181 117 61 0 => Jarak =

184.97645535819436, dengan Demand = 100.0

Rute ke- 18 >> 0 3 56 10 85 108 69 132 0 => Jarak =

198.8733545283902, dengan Demand = 117.0

Rute ke- 19 >> 0 121 120 93 91 199 66 160 0 => Jarak =

192.4008703101428, dengan Demand = 91.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 176: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 25 - 2

Rute ke- 20 >> 0 157 137 185 141 193 104 188 0 => Jarak =

198.03523959506947, dengan Demand = 142.0

Rute ke- 21 >> 0 168 111 179 70 94 79 0 => Jarak =

193.24694595200583, dengan Demand = 68.0

Rute ke- 22 >> 0 82 138 15 174 171 76 0 => Jarak =

187.55433251097844, dengan Demand = 120.0

Rute ke- 23 >> 0 65 47 46 102 175 176 87 126 0 => Jarak =

194.44843611494386, dengan Demand = 132.0

Rute ke- 24 >> 0 195 16 28 156 83 128 4 0 => Jarak =

199.2731511838366, dengan Demand = 131.0

Rute ke- 25 >> 0 38 84 51 26 125 194 0 => Jarak =

188.42668000543827, dengan Demand = 126.0

Rute ke- 26 >> 0 5 45 88 20 166 173 172 0 => Jarak =

186.86860132877965, dengan Demand = 120.0

Rute ke- 27 >> 0 159 116 44 63 144 145 0 => Jarak =

179.0264378691034, dengan Demand = 60.0

Rute ke- 28 >> 0 22 23 67 142 186 0 => Jarak =

167.58346345276132, dengan Demand = 92.0

Rute ke- 29 >> 0 112 163 39 187 32 0 => Jarak =

173.24312534273878, dengan Demand = 85.0

Rute ke- 30 >> 0 135 49 182 73 7 0 => Jarak =

197.21893295391504, dengan Demand = 46.0

Rute ke- 31 >> 0 8 27 0 => Jarak = 73.38566416949868, dengan

Demand = 33.0

======= Total Jarak = 3974.6523758559797

Running ======== ITERASI KE- 0 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 64 105 165 80 130 0 => Jarak =

184.21619662875227, dengan Demand = 76.0

Rute ke-1>> 0 61 17 135 23 67 30 0 => Jarak =

192.07026071318202, dengan Demand = 123.0

Rute ke-2>> 0 43 41 147 96 175 0 => Jarak =

179.30218687365092, dengan Demand = 107.0

Rute ke-3>> 0 90 29 82 151 0 => Jarak = 180.23988831026716,

dengan Demand = 72.0

Rute ke-4>> 0 121 120 155 46 9 0 => Jarak =

184.17056944301765, dengan Demand = 91.0

Rute ke-5>> 0 6 150 127 123 13 14 0 => Jarak =

197.46402192757654, dengan Demand = 91.0

Rute ke-6>> 0 59 11 164 0 => Jarak = 159.26413061494787,

dengan Demand = 62.0

Rute ke-7>> 0 33 49 149 7 162 44 0 => Jarak =

198.61940411252675, dengan Demand = 87.0

Rute ke-8>> 0 180 5 185 141 0 => Jarak = 199.00113965475185,

dengan Demand = 87.0

Rute ke-9>> 0 99 26 187 97 10 0 => Jarak = 157.9073630497902,

dengan Demand = 80.0

Rute ke-10>> 0 12 2 24 137 0 => Jarak = 195.11446668641057,

dengan Demand = 85.0

Rute ke-11>> 0 56 112 172 27 0 => Jarak = 169.84676183264736,

dengan Demand = 68.0

Rute ke-12>> 0 65 47 188 92 0 => Jarak = 192.8758843717436,

dengan Demand = 60.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 177: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 25 - 3

Rute ke-13>> 0 71 52 163 177 0 => Jarak = 197.92970106407108,

dengan Demand = 36.0

Rute ke-14>> 0 157 176 117 158 101 0 => Jarak =

165.91679413442174, dengan Demand = 79.0

Rute ke-15>> 0 181 16 28 79 45 0 => Jarak =

160.11737251111362, dengan Demand = 104.0

Rute ke-16>> 0 146 169 126 51 132 0 => Jarak =

175.73193203294437, dengan Demand = 89.0

Rute ke-17>> 0 102 122 114 139 95 0 => Jarak =

180.84587504659288, dengan Demand = 64.0

Rute ke-18>> 0 197 191 113 144 55 107 0 => Jarak =

183.17226070686186, dengan Demand = 72.0

Rute ke-19>> 0 60 8 18 106 87 0 => Jarak =

171.80267288793837, dengan Demand = 68.0

Rute ke-20>> 0 38 84 131 108 69 34 0 => Jarak =

196.0819677307237, dengan Demand = 127.0

Rute ke-21>> 0 156 83 128 58 119 0 => Jarak =

197.86614287993004, dengan Demand = 62.0

Rute ke-22>> 0 152 1 136 88 15 174 171 0 => Jarak =

189.8416044196908, dengan Demand = 105.0

Rute ke-23>> 0 3 21 20 81 0 => Jarak = 172.55782457203654,

dengan Demand = 73.0

Rute ke-24>> 0 4 22 91 199 50 40 0 => Jarak =

175.48402172608337, dengan Demand = 112.0

Rute ke-25>> 0 195 42 193 104 111 0 => Jarak =

158.8156402589523, dengan Demand = 94.0

Rute ke-26>> 0 54 153 98 138 190 0 => Jarak =

174.30952641260347, dengan Demand = 89.0

Rute ke-27>> 0 145 94 76 0 => Jarak = 171.48565478335826,

dengan Demand = 26.0

Rute ke-28>> 0 173 166 93 184 196 0 => Jarak =

177.3090001149367, dengan Demand = 102.0

Rute ke-29>> 0 63 194 116 159 0 => Jarak = 137.8027139073317,

dengan Demand = 46.0

Rute ke-30>> 0 53 143 115 198 179 70 0 => Jarak =

183.5834834918315, dengan Demand = 69.0

Rute ke-31>> 0 182 73 68 0 => Jarak = 137.6824224060156,

dengan Demand = 30.0

Rute ke-32>> 0 168 129 75 140 0 => Jarak =

172.45046112467776, dengan Demand = 39.0

Rute ke-33>> 0 89 36 37 0 => Jarak = 160.71415716624844,

dengan Demand = 33.0

Rute ke-34>> 0 66 35 57 118 74 0 => Jarak =

197.84649250810068, dengan Demand = 81.0

Rute ke-35>> 0 85 189 161 31 0 => Jarak = 188.0174921897646,

dengan Demand = 53.0

Rute ke-36>> 0 48 103 167 134 170 178 78 0 => Jarak =

196.25605617226643, dengan Demand = 127.0

Rute ke-37>> 0 142 186 86 72 39 0 => Jarak =

183.94093897263235, dengan Demand = 74.0

Rute ke-38>> 0 124 154 125 32 109 0 => Jarak =

175.11193416906855, dengan Demand = 69.0

Rute ke-39>> 0 160 19 25 0 => Jarak = 192.84870814020235,

dengan Demand = 42.0

Rute ke-40>> 0 183 62 192 77 100 0 => Jarak =

178.93637325562295, dengan Demand = 76.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 178: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 25 - 4

Rute ke-41>> 0 110 148 133 0 => Jarak = 174.32958334838597,

dengan Demand = 56.0

======= TOTAL JARAK SEMUA RUTE = 5528.881082353672

=========== Solusi Terbaik ==========

Rute ke-0>> 0 64 105 165 80 130 0 => Jarak =

184.21619662875227, dengan Demand = 76.0

Rute ke-1>> 0 61 17 135 23 67 30 0 => Jarak =

192.07026071318202, dengan Demand = 123.0

Rute ke-2>> 0 43 41 147 96 175 0 => Jarak =

179.30218687365092, dengan Demand = 107.0

Rute ke-3>> 0 90 29 82 151 0 => Jarak = 180.23988831026716,

dengan Demand = 72.0

Rute ke-4>> 0 121 120 155 46 9 0 => Jarak =

184.17056944301765, dengan Demand = 91.0

Rute ke-5>> 0 6 150 127 123 13 14 0 => Jarak =

197.46402192757654, dengan Demand = 91.0

Rute ke-6>> 0 59 11 164 0 => Jarak = 159.26413061494787,

dengan Demand = 62.0

Rute ke-7>> 0 33 49 149 7 162 44 0 => Jarak =

198.61940411252675, dengan Demand = 87.0

Rute ke-8>> 0 180 5 185 141 0 => Jarak = 199.00113965475185,

dengan Demand = 87.0

Rute ke-9>> 0 99 26 187 97 10 0 => Jarak = 157.9073630497902,

dengan Demand = 80.0

Rute ke-10>> 0 12 2 24 137 0 => Jarak = 195.11446668641057,

dengan Demand = 85.0

Rute ke-11>> 0 56 112 172 27 0 => Jarak = 169.84676183264736,

dengan Demand = 68.0

Rute ke-12>> 0 65 47 188 92 0 => Jarak = 192.8758843717436,

dengan Demand = 60.0

Rute ke-13>> 0 71 52 163 177 0 => Jarak = 197.92970106407108,

dengan Demand = 36.0

Rute ke-14>> 0 157 176 117 158 101 0 => Jarak =

165.91679413442174, dengan Demand = 79.0

Rute ke-15>> 0 181 16 28 79 45 0 => Jarak =

160.11737251111362, dengan Demand = 104.0

Rute ke-16>> 0 146 169 126 51 132 0 => Jarak =

175.73193203294437, dengan Demand = 89.0

Rute ke-17>> 0 102 122 114 139 95 0 => Jarak =

180.84587504659288, dengan Demand = 64.0

Rute ke-18>> 0 197 191 113 144 55 107 0 => Jarak =

183.17226070686186, dengan Demand = 72.0

Rute ke-19>> 0 60 8 18 106 87 0 => Jarak =

171.80267288793837, dengan Demand = 68.0

Rute ke-20>> 0 38 84 131 108 69 34 0 => Jarak =

196.0819677307237, dengan Demand = 127.0

Rute ke-21>> 0 156 83 128 58 119 0 => Jarak =

197.86614287993004, dengan Demand = 62.0

Rute ke-22>> 0 152 1 136 88 15 174 171 0 => Jarak =

189.8416044196908, dengan Demand = 105.0

Rute ke-23>> 0 3 21 20 81 0 => Jarak = 172.55782457203654,

dengan Demand = 73.0

Rute ke-24>> 0 4 22 91 199 50 40 0 => Jarak =

175.48402172608337, dengan Demand = 112.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 179: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 25 - 5

Rute ke-25>> 0 195 42 193 104 111 0 => Jarak =

158.8156402589523, dengan Demand = 94.0

Rute ke-26>> 0 54 153 98 138 190 0 => Jarak =

174.30952641260347, dengan Demand = 89.0

Rute ke-27>> 0 145 94 76 0 => Jarak = 171.48565478335826,

dengan Demand = 26.0

Rute ke-28>> 0 173 166 93 184 196 0 => Jarak =

177.3090001149367, dengan Demand = 102.0

Rute ke-29>> 0 63 194 116 159 0 => Jarak = 137.8027139073317,

dengan Demand = 46.0

Rute ke-30>> 0 53 143 115 198 179 70 0 => Jarak =

183.5834834918315, dengan Demand = 69.0

Rute ke-31>> 0 182 73 68 0 => Jarak = 137.6824224060156,

dengan Demand = 30.0

Rute ke-32>> 0 168 129 75 140 0 => Jarak =

172.45046112467776, dengan Demand = 39.0

Rute ke-33>> 0 89 36 37 0 => Jarak = 160.71415716624844,

dengan Demand = 33.0

Rute ke-34>> 0 66 35 57 118 74 0 => Jarak =

197.84649250810068, dengan Demand = 81.0

Rute ke-35>> 0 85 189 161 31 0 => Jarak = 188.0174921897646,

dengan Demand = 53.0

Rute ke-36>> 0 48 103 167 134 170 178 78 0 => Jarak =

196.25605617226643, dengan Demand = 127.0

Rute ke-37>> 0 142 186 86 72 39 0 => Jarak =

183.94093897263235, dengan Demand = 74.0

Rute ke-38>> 0 124 154 125 32 109 0 => Jarak =

175.11193416906855, dengan Demand = 69.0

Rute ke-39>> 0 160 19 25 0 => Jarak = 192.84870814020235,

dengan Demand = 42.0

Rute ke-40>> 0 183 62 192 77 100 0 => Jarak =

178.93637325562295, dengan Demand = 76.0

Rute ke-41>> 0 110 148 133 0 => Jarak = 174.32958334838597,

dengan Demand = 56.0

======= TOTAL JARAK SEMUA RUTE = 5528.881082353672

...

======== ITERASI KE- 249 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 22 23 67 142 186 0 => Jarak =

167.58346345276132, dengan Demand = 92.0

Rute ke-1>> 0 157 137 185 141 193 104 188 0 => Jarak =

198.03523959506947, dengan Demand = 142.0

Rute ke-2>> 0 135 49 182 73 7 0 => Jarak =

197.21893295391504, dengan Demand = 46.0

Rute ke-3>> 0 180 52 133 11 164 129 0 => Jarak =

195.17047798808028, dengan Demand = 134.0

Rute ke-4>> 0 112 163 39 187 32 109 0 => Jarak =

197.16476541226285, dengan Demand = 101.0

Rute ke-5>> 0 64 105 165 80 55 0 => Jarak = 194.366220986916,

dengan Demand = 64.0

Rute ke-6>> 0 59 122 114 42 90 113 96 0 => Jarak =

199.28524543046345, dengan Demand = 125.0

Rute ke-7>> 0 53 143 115 89 36 155 0 => Jarak =

194.04691288580034, dengan Demand = 71.0

Rute ke-8>> 0 82 138 15 174 171 76 0 => Jarak =

187.55433251097844, dengan Demand = 120.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 180: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 25 - 6

Rute ke-9>> 0 30 54 50 40 77 100 60 0 => Jarak =

173.3188148201463, dengan Demand = 126.0

Rute ke-10>> 0 168 111 179 70 94 79 0 => Jarak =

193.24694595200583, dengan Demand = 68.0

Rute ke-11>> 0 106 18 189 161 74 63 0 => Jarak =

186.435233819816, dengan Demand = 89.0

Rute ke-12>> 0 183 62 192 43 41 191 1 198 190 0 => Jarak =

195.57933512724335, dengan Demand = 115.0

Rute ke-13>> 0 197 136 21 37 124 154 29 152 0 => Jarak =

186.16091827860183, dengan Demand = 95.0

Rute ke-14>> 0 65 47 46 102 175 176 87 126 0 => Jarak =

194.44843611494386, dengan Demand = 132.0

Rute ke-15>> 0 195 16 28 156 83 128 4 0 => Jarak =

199.2731511838366, dengan Demand = 131.0

Rute ke-16>> 0 6 150 127 123 13 14 0 => Jarak =

197.46402192757654, dengan Demand = 91.0

Rute ke-17>> 0 151 34 25 75 9 57 0 => Jarak =

188.26430180984158, dengan Demand = 101.0

Rute ke-18>> 0 98 153 196 158 184 33 12 0 => Jarak =

189.16650227418972, dengan Demand = 160.0

Rute ke-19>> 0 5 45 88 20 166 173 172 0 => Jarak =

186.86860132877965, dengan Demand = 120.0

Rute ke-20>> 0 92 107 181 117 61 2 0 => Jarak =

168.784880062228, dengan Demand = 103.0

Rute ke-21>> 0 58 119 24 68 0 => Jarak = 195.48973373090718,

dengan Demand = 56.0

Rute ke-22>> 0 31 71 131 17 95 3 0 => Jarak =

196.95510877943053, dengan Demand = 92.0

Rute ke-23>> 0 159 116 44 72 110 148 0 => Jarak =

192.2495445628182, dengan Demand = 80.0

Rute ke-24>> 0 139 86 101 140 48 103 167 149 0 => Jarak =

188.10292008469864, dengan Demand = 118.0

Rute ke-25>> 0 19 134 170 178 78 35 99 0 => Jarak =

182.44321762156744, dengan Demand = 87.0

Rute ke-26>> 0 121 120 93 91 199 66 160 0 => Jarak =

192.4008703101428, dengan Demand = 91.0

Rute ke-27>> 0 162 147 10 85 0 => Jarak = 194.6052846907592,

dengan Demand = 78.0

Rute ke-28>> 0 177 81 169 97 118 146 0 => Jarak =

190.3735083707124, dengan Demand = 81.0

Rute ke-29>> 0 38 84 51 26 125 194 0 => Jarak =

188.42668000543827, dengan Demand = 126.0

Rute ke-30>> 0 8 27 144 145 0 => Jarak = 168.76229930433072,

dengan Demand = 50.0

Rute ke-31>> 0 56 69 132 108 130 0 => Jarak =

181.81770697576255, dengan Demand = 101.0

======= TOTAL JARAK SEMUA RUTE = 4071.063608352025

=========== Solusi Terbaik ==========

Rute ke-0>> 0 6 150 127 123 13 14 0 => Jarak =

197.46402192757654, dengan Demand = 91.0

Rute ke-1>> 0 64 105 165 80 55 0 => Jarak = 194.366220986916,

dengan Demand = 64.0

Rute ke-2>> 0 30 54 50 40 77 100 60 0 => Jarak =

173.3188148201463, dengan Demand = 126.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 181: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 25 - 7

Rute ke-3>> 0 180 52 133 11 164 129 0 => Jarak =

195.17047798808028, dengan Demand = 134.0

Rute ke-4>> 0 53 143 115 89 36 155 0 => Jarak =

194.04691288580034, dengan Demand = 71.0

Rute ke-5>> 0 139 86 101 140 48 103 167 149 0 => Jarak =

188.10292008469864, dengan Demand = 118.0

Rute ke-6>> 0 98 153 196 158 184 33 12 0 => Jarak =

189.16650227418972, dengan Demand = 160.0

Rute ke-7>> 0 19 134 170 178 78 35 99 0 => Jarak =

182.44321762156744, dengan Demand = 87.0

Rute ke-8>> 0 151 34 25 75 9 57 0 => Jarak =

188.26430180984158, dengan Demand = 101.0

Rute ke-9>> 0 58 119 24 68 0 => Jarak = 195.48973373090718,

dengan Demand = 56.0

Rute ke-10>> 0 197 136 21 37 124 154 29 152 0 => Jarak =

186.16091827860183, dengan Demand = 95.0

Rute ke-11>> 0 183 62 192 43 41 191 1 198 190 0 => Jarak =

195.57933512724335, dengan Demand = 115.0

Rute ke-12>> 0 31 71 131 17 95 2 0 => Jarak =

189.87734980607647, dengan Demand = 107.0

Rute ke-13>> 0 92 161 74 189 0 => Jarak = 197.7910518746664,

dengan Demand = 61.0

Rute ke-14>> 0 59 122 114 42 90 113 96 0 => Jarak =

199.28524543046345, dengan Demand = 125.0

Rute ke-15>> 0 162 147 72 110 148 130 0 => Jarak =

193.19015216269665, dengan Demand = 131.0

Rute ke-16>> 0 177 81 169 97 118 146 0 => Jarak =

190.3735083707124, dengan Demand = 81.0

Rute ke-17>> 0 106 18 109 107 181 117 61 0 => Jarak =

184.97645535819436, dengan Demand = 100.0

Rute ke-18>> 0 3 56 10 85 108 69 132 0 => Jarak =

198.8733545283902, dengan Demand = 117.0

Rute ke-19>> 0 121 120 93 91 199 66 160 0 => Jarak =

192.4008703101428, dengan Demand = 91.0

Rute ke-20>> 0 157 137 185 141 193 104 188 0 => Jarak =

198.03523959506947, dengan Demand = 142.0

Rute ke-21>> 0 168 111 179 70 94 79 0 => Jarak =

193.24694595200583, dengan Demand = 68.0

Rute ke-22>> 0 82 138 15 174 171 76 0 => Jarak =

187.55433251097844, dengan Demand = 120.0

Rute ke-23>> 0 65 47 46 102 175 176 87 126 0 => Jarak =

194.44843611494386, dengan Demand = 132.0

Rute ke-24>> 0 195 16 28 156 83 128 4 0 => Jarak =

199.2731511838366, dengan Demand = 131.0

Rute ke-25>> 0 38 84 51 26 125 194 0 => Jarak =

188.42668000543827, dengan Demand = 126.0

Rute ke-26>> 0 5 45 88 20 166 173 172 0 => Jarak =

186.86860132877965, dengan Demand = 120.0

Rute ke-27>> 0 159 116 44 63 144 145 0 => Jarak =

179.0264378691034, dengan Demand = 60.0

Rute ke-28>> 0 22 23 67 142 186 0 => Jarak =

167.58346345276132, dengan Demand = 92.0

Rute ke-29>> 0 112 163 39 187 32 0 => Jarak =

173.24312534273878, dengan Demand = 85.0

Rute ke-30>> 0 135 49 182 73 7 0 => Jarak =

197.21893295391504, dengan Demand = 46.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 182: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 25 - 8

Rute ke-31>> 0 8 27 0 => Jarak = 73.38566416949868, dengan

Demand = 33.0

======= TOTAL JARAK SEMUA RUTE = 3974.6523758559797

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 183: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 26 - 1

Lampiran 26 : Hasil Implementasi Program pada Permasalahan P11

Parameter inputan Jumlah semut / kendaraan = 8 Jumlah kota = 120 Jarak maksimal kendaraan = 0 Kapasitas kendaraan = 200 Alpha = 2 Beta = 1

Rho = 0,8 Pheromon awal = 0,1 Total iterasi = 1000 Konstanta Q = 1000 Service duration = 0

Output ======= Solusi =========

Rute ke- 0 >> 0 119 11 4 9 7 3 5 10 6 12 20 42 48 50 71 73 74 101

107 0 => Jarak = 308.4119245340831, dengan Demand = 197.0

Rute ke- 1 >> 0 110 57 56 66 52 59 64 61 62 60 37 43 108 90 112

111 88 0 => Jarak = 304.0458809509304, dengan Demand = 194.0

Rute ke- 2 >> 0 120 99 77 75 1 115 109 104 105 102 87 2 84 0 =>

Jarak = 338.6950015990059, dengan Demand = 200.0

Rute ke- 3 >> 0 22 34 33 31 23 30 27 29 49 46 51 41 47 44 28 54

55 18 118 91 0 => Jarak = 401.4551237550494, dengan Demand =

195.0

Rute ke- 4 >> 0 86 89 98 114 94 93 26 19 35 36 32 24 25 13 15 14

81 82 0 => Jarak = 255.87173387187357, dengan Demand = 197.0

Rute ke- 5 >> 0 16 17 21 79 70 72 8 38 40 45 67 69 96 113 117 83

0 => Jarak = 486.44635558536095, dengan Demand = 200.0

Rute ke- 6 >> 0 116 106 100 92 85 97 53 63 58 65 39 68 80 78 76

103 95 0 => Jarak = 318.77493127453744, dengan Demand = 192.0

======= Total Jarak = 2413.7009515708405

Running ======== ITERASI KE- 0 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 90 5 15 3 1 81 120 104 101 99 111 63 54 31 91 103 0

=> Jarak = 433.0342019681111, dengan Demand = 194.0

Rute ke-1>> 0 119 11 4 9 7 2 84 53 114 94 93 96 88 19 35 36 32 24

25 26 0 => Jarak = 463.6472432084274, dengan Demand = 197.0

Rute ke-2>> 0 95 89 86 102 105 87 82 6 12 42 48 50 71 73 74 112

117 97 0 => Jarak = 330.4454442359096, dengan Demand = 199.0

Rute ke-3>> 0 72 8 107 68 80 75 76 14 13 58 59 57 61 62 0 =>

Jarak = 549.0420480553412, dengan Demand = 192.0

Rute ke-4>> 0 52 28 34 27 20 21 30 33 92 85 10 43 37 45 70 115 79

78 109 108 0 => Jarak = 646.8078481776238, dengan Demand =

199.0

Rute ke-5>> 0 83 16 23 17 100 65 116 55 113 18 118 41 47 44 22 40

0 => Jarak = 714.3363010807242, dengan Demand = 196.0

Rute ke-6>> 0 39 38 77 60 106 56 66 29 49 46 51 67 69 98 110 64 0

=> Jarak = 738.9778026800367, dengan Demand = 198.0

======= TOTAL JARAK SEMUA RUTE = 3876.2908894061743

=========== Solusi Terbaik ==========

Rute ke-0>> 0 90 5 15 3 1 81 120 104 101 99 111 63 54 31 91 103 0

=> Jarak = 433.0342019681111, dengan Demand = 194.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 184: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 26 - 2

Rute ke-1>> 0 119 11 4 9 7 2 84 53 114 94 93 96 88 19 35 36 32 24

25 26 0 => Jarak = 463.6472432084274, dengan Demand = 197.0

Rute ke-2>> 0 95 89 86 102 105 87 82 6 12 42 48 50 71 73 74 112

117 97 0 => Jarak = 330.4454442359096, dengan Demand = 199.0

Rute ke-3>> 0 72 8 107 68 80 75 76 14 13 58 59 57 61 62 0 =>

Jarak = 549.0420480553412, dengan Demand = 192.0

Rute ke-4>> 0 52 28 34 27 20 21 30 33 92 85 10 43 37 45 70 115 79

78 109 108 0 => Jarak = 646.8078481776238, dengan Demand =

199.0

Rute ke-5>> 0 83 16 23 17 100 65 116 55 113 18 118 41 47 44 22 40

0 => Jarak = 714.3363010807242, dengan Demand = 196.0

Rute ke-6>> 0 39 38 77 60 106 56 66 29 49 46 51 67 69 98 110 64 0

=> Jarak = 738.9778026800367, dengan Demand = 198.0

======= TOTAL JARAK SEMUA RUTE = 3876.2908894061743

...

======== ITERASI KE- 999 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 110 57 56 66 52 59 64 61 62 60 37 43 108 90 112 111

88 0 => Jarak = 304.0458809509304, dengan Demand = 194.0

Rute ke-1>> 0 120 99 77 75 1 115 109 104 105 102 87 2 84 0 =>

Jarak = 338.6950015990059, dengan Demand = 200.0

Rute ke-2>> 0 16 17 21 79 70 72 8 38 40 45 67 69 96 113 117 83 0

=> Jarak = 486.44635558536095, dengan Demand = 200.0

Rute ke-3>> 0 116 106 100 92 85 97 53 63 58 65 39 68 80 78 76 103

95 91 0 => Jarak = 330.35839539946926, dengan Demand = 196.0

Rute ke-4>> 0 119 11 4 9 7 3 5 10 6 12 20 42 48 50 71 73 74 101

107 0 => Jarak = 308.4119245340831, dengan Demand = 197.0

Rute ke-5>> 0 22 34 33 31 23 30 27 29 49 46 51 41 47 44 28 54 55

18 118 0 => Jarak = 401.2314724330049, dengan Demand = 191.0

Rute ke-6>> 0 86 89 98 114 94 93 26 19 35 36 32 24 25 13 15 14 81

82 0 => Jarak = 255.87173387187357, dengan Demand = 197.0

======= TOTAL JARAK SEMUA RUTE = 2425.060764373728

=========== Solusi Terbaik ==========

Rute ke-0>> 0 119 11 4 9 7 3 5 10 6 12 20 42 48 50 71 73 74 101

107 0 => Jarak = 308.4119245340831, dengan Demand = 197.0

Rute ke-1>> 0 110 57 56 66 52 59 64 61 62 60 37 43 108 90 112 111

88 0 => Jarak = 304.0458809509304, dengan Demand = 194.0

Rute ke-2>> 0 120 99 77 75 1 115 109 104 105 102 87 2 84 0 =>

Jarak = 338.6950015990059, dengan Demand = 200.0

Rute ke-3>> 0 22 34 33 31 23 30 27 29 49 46 51 41 47 44 28 54 55

18 118 91 0 => Jarak = 401.4551237550494, dengan Demand =

195.0

Rute ke-4>> 0 86 89 98 114 94 93 26 19 35 36 32 24 25 13 15 14 81

82 0 => Jarak = 255.87173387187357, dengan Demand = 197.0

Rute ke-5>> 0 16 17 21 79 70 72 8 38 40 45 67 69 96 113 117 83 0

=> Jarak = 486.44635558536095, dengan Demand = 200.0

Rute ke-6>> 0 116 106 100 92 85 97 53 63 58 65 39 68 80 78 76 103

95 0 => Jarak = 318.77493127453744, dengan Demand = 192.0

======= TOTAL JARAK SEMUA RUTE = 2413.7009515708405

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 185: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 27 - 1

Lampiran 27 : Hasil Implementasi Program pada Permasalahan P12 Parameter inputan Jumlah semut / kendaraan = 12 Jumlah kota = 100 Jarak maksimal kendaraan = 0 Kapasitas kendaraan = 200 Alpha = 2 Beta = 1

Rho = 0,8 Pheromon awal = 0,1 Total iterasi = 1000 Konstanta Q = 1000 Service duration = 0

Output ======= Solusi =========

Rute ke- 0 >> 0 68 56 60 37 29 5 9 84 66 40 42 43 3 4 0 =>

Jarak = 290.75826711008085, dengan Demand = 200.0

Rute ke- 1 >> 0 63 65 67 74 72 53 58 55 69 0 => Jarak =

109.32851214207804, dengan Demand = 200.0

Rute ke- 2 >> 0 25 34 39 18 15 17 30 26 23 1 0 => Jarak =

155.6970020363125, dengan Demand = 200.0

Rute ke- 3 >> 0 19 16 12 14 11 10 2 13 21 20 0 => Jarak =

148.39696984940753, dengan Demand = 190.0

Rute ke- 4 >> 0 61 77 76 8 6 7 52 35 38 44 50 27 24 22 0 =>

Jarak = 272.7525838733746, dengan Demand = 200.0

Rute ke- 5 >> 0 95 100 99 32 36 28 49 51 41 46 47 48 0 =>

Jarak = 212.028268166955, dengan Demand = 200.0

Rute ke- 6 >> 0 71 70 79 73 80 62 59 57 54 45 0 => Jarak =

196.40510570929692, dengan Demand = 200.0

Rute ke- 7 >> 0 33 31 64 81 78 83 82 85 91 86 0 => Jarak =

197.07659571670558, dengan Demand = 200.0

Rute ke- 8 >> 0 98 96 94 93 97 92 89 88 87 90 0 => Jarak =

117.31481659651458, dengan Demand = 200.0

Rute ke- 9 >> 0 75 0 => Jarak = 31.622776601683793, dengan

Demand = 20.0

======= Total Jarak = 1731.3808978024094

Running ======== ITERASI KE- 0 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 66 71 24 38 44 47 42 7 3 5 6 1 0 => Jarak =

272.1875965083167, dengan Demand = 180.0

Rute ke-1>> 0 86 27 46 50 43 8 10 4 75 2 13 9 0 => Jarak =

216.29127275731577, dengan Demand = 200.0

Rute ke-2>> 0 22 72 48 41 68 63 65 21 80 12 14 11 0 => Jarak

= 312.1440924310629, dengan Demand = 190.0

Rute ke-3>> 0 23 25 34 39 18 15 17 60 55 0 => Jarak =

208.92303503492425, dengan Demand = 200.0

Rute ke-4>> 0 96 98 79 70 28 30 26 87 89 92 56 0 => Jarak =

387.5261539828591, dengan Demand = 190.0

Rute ke-5>> 0 57 67 69 74 88 73 62 59 94 0 => Jarak =

320.9023819539952, dengan Demand = 190.0

Rute ke-6>> 0 52 20 16 37 64 33 31 29 32 36 0 => Jarak =

290.1785535663656, dengan Demand = 200.0

Rute ke-7>> 0 81 78 83 82 85 40 49 51 53 54 0 => Jarak =

223.51624105549442, dengan Demand = 200.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 186: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 27 - 2

Rute ke-8>> 0 91 84 93 97 100 99 90 76 77 45 35 19 0 => Jarak

= 310.59762260137535, dengan Demand = 190.0

Rute ke-9>> 0 58 61 95 0 => Jarak = 161.39726277015123,

dengan Demand = 70.0

======= TOTAL JARAK SEMUA RUTE = 2703.664212661861

=========== Solusi Terbaik ==========

Rute ke-0>> 0 66 71 24 38 44 47 42 7 3 5 6 1 0 => Jarak =

272.1875965083167, dengan Demand = 180.0

Rute ke-1>> 0 86 27 46 50 43 8 10 4 75 2 13 9 0 => Jarak =

216.29127275731577, dengan Demand = 200.0

Rute ke-2>> 0 72 48 41 68 63 65 22 21 80 12 14 11 0 => Jarak

= 294.2211365701234, dengan Demand = 190.0

Rute ke-3>> 0 23 25 34 39 18 15 17 60 55 0 => Jarak =

208.92303503492425, dengan Demand = 200.0

Rute ke-4>> 0 96 98 79 70 94 30 26 87 89 92 56 0 => Jarak =

420.8212490665165, dengan Demand = 180.0

Rute ke-5>> 0 57 67 69 74 88 73 62 59 28 0 => Jarak =

268.49883958532547, dengan Demand = 200.0

Rute ke-6>> 0 52 20 16 37 64 33 31 29 32 36 0 => Jarak =

290.1785535663656, dengan Demand = 200.0

Rute ke-7>> 0 81 78 83 82 85 40 49 51 53 54 0 => Jarak =

223.51624105549442, dengan Demand = 200.0

Rute ke-8>> 0 91 84 93 97 100 99 90 76 77 45 35 19 0 => Jarak

= 310.59762260137535, dengan Demand = 190.0

Rute ke-9>> 0 58 61 95 0 => Jarak = 161.39726277015123,

dengan Demand = 70.0

======= TOTAL JARAK SEMUA RUTE = 2666.632809515909

...

======== ITERASI KE- 999 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 68 56 60 37 29 5 9 84 66 40 42 43 3 4 0 =>

Jarak = 290.75826711008085, dengan Demand = 200.0

Rute ke-1>> 0 33 31 64 81 78 83 82 85 91 86 0 => Jarak =

197.07659571670558, dengan Demand = 200.0

Rute ke-2>> 0 61 77 76 8 6 7 52 35 38 44 50 27 24 22 0 =>

Jarak = 272.7525838733746, dengan Demand = 200.0

Rute ke-3>> 0 75 2 13 21 20 10 80 62 59 57 0 => Jarak =

248.8482484978262, dengan Demand = 200.0

Rute ke-4>> 0 63 65 67 74 72 53 58 55 69 0 => Jarak =

109.32851214207804, dengan Demand = 200.0

Rute ke-5>> 0 25 34 39 18 15 17 30 26 23 1 0 => Jarak =

155.6970020363125, dengan Demand = 200.0

Rute ke-6>> 0 98 96 94 93 97 92 89 88 87 90 0 => Jarak =

117.31481659651458, dengan Demand = 200.0

Rute ke-7>> 0 71 70 79 73 11 47 48 45 49 51 41 46 99 12 0 =>

Jarak = 334.8518736372138, dengan Demand = 200.0

Rute ke-8>> 0 19 16 14 36 28 32 95 100 0 => Jarak =

244.3117060026425, dengan Demand = 170.0

Rute ke-9>> 0 54 0 => Jarak = 80.09993757800315, dengan

Demand = 40.0

======= TOTAL JARAK SEMUA RUTE = 2051.0395431907523

=========== Solusi Terbaik ==========

Rute ke-0>> 0 68 56 60 37 29 5 9 84 66 40 42 43 3 4 0 =>

Jarak = 290.75826711008085, dengan Demand = 200.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 187: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 27 - 3

Rute ke-1>> 0 63 65 67 74 72 53 58 55 69 0 => Jarak =

109.32851214207804, dengan Demand = 200.0

Rute ke-2>> 0 25 34 39 18 15 17 30 26 23 1 0 => Jarak =

155.6970020363125, dengan Demand = 200.0

Rute ke-3>> 0 19 16 12 14 11 10 2 13 21 20 0 => Jarak =

148.39696984940753, dengan Demand = 190.0

Rute ke-4>> 0 61 77 76 8 6 7 52 35 38 44 50 27 24 22 0 =>

Jarak = 272.7525838733746, dengan Demand = 200.0

Rute ke-5>> 0 95 100 99 32 36 28 49 51 41 46 47 48 0 => Jarak

= 212.028268166955, dengan Demand = 200.0

Rute ke-6>> 0 71 70 79 73 80 62 59 57 54 45 0 => Jarak =

196.40510570929692, dengan Demand = 200.0

Rute ke-7>> 0 33 31 64 81 78 83 82 85 91 86 0 => Jarak =

197.07659571670558, dengan Demand = 200.0

Rute ke-8>> 0 98 96 94 93 97 92 89 88 87 90 0 => Jarak =

117.31481659651458, dengan Demand = 200.0

Rute ke-9>> 0 75 0 => Jarak = 31.622776601683793, dengan

Demand = 20.0

======= TOTAL JARAK SEMUA RUTE = 1731.3808978024094

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 188: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 28 - 1

Lampiran 28 : Hasil Implementasi Program pada Permasalahan P13 Parameter inputan Jumlah semut / kendaraan = 18 Jumlah kota = 120 Jarak maksimal kendaraan = 720 Kapasitas kendaraan = 200 Alpha = 2 Beta = 1

Rho = 0,8 Pheromon awal = 0,1 Total iterasi = 1000 Konstanta Q = 1000 Service duration = 50

Output ======= Solusi =========

Rute ke- 0 >> 0 18 81 29 8 115 80 78 87 0 => Jarak =

716.0839219617916, dengan Demand = 96.0

Rute ke- 1 >> 0 22 57 54 7 43 100 0 => Jarak =

698.1557784194565, dengan Demand = 66.0

Rute ke- 2 >> 0 82 65 106 99 13 97 105 102 0 => Jarak =

702.7185410183001, dengan Demand = 95.0

Rute ke- 3 >> 0 32 112 3 113 79 77 68 0 => Jarak =

698.3492558571269, dengan Demand = 79.0

Rute ke- 4 >> 0 47 62 42 23 44 58 55 0 => Jarak =

718.1950589842164, dengan Demand = 81.0

Rute ke- 5 >> 0 63 64 49 110 72 119 111 0 => Jarak =

677.5082215373317, dengan Demand = 82.0

Rute ke- 6 >> 0 73 35 12 108 40 1 0 => Jarak =

696.2533523148418, dengan Demand = 84.0

Rute ke- 7 >> 0 48 61 38 10 15 9 14 6 0 => Jarak =

685.907685812588, dengan Demand = 99.0

Rute ke- 8 >> 0 41 46 45 51 37 21 50 74 0 => Jarak =

709.6951063630579, dengan Demand = 101.0

Rute ke- 9 >> 0 60 53 24 39 5 2 83 0 => Jarak =

692.6200955409471, dengan Demand = 68.0

Rute ke- 10 >> 0 107 120 101 52 16 31 109 89 0 => Jarak =

678.6037232010652, dengan Demand = 91.0

Rute ke- 11 >> 0 66 117 95 94 88 67 75 0 => Jarak =

694.8867296403632, dengan Demand = 95.0

Rute ke- 12 >> 0 85 114 11 33 27 34 25 20 17 4 0 => Jarak =

715.1484613169986, dengan Demand = 95.0

Rute ke- 13 >> 0 71 76 116 26 36 86 96 103 0 => Jarak =

685.6742722234321, dengan Demand = 75.0

Rute ke- 14 >> 0 28 19 59 98 84 69 70 0 => Jarak =

701.6410326641916, dengan Demand = 93.0

Rute ke- 15 >> 0 56 30 93 90 104 92 91 118 0 => Jarak =

707.7181359964854, dengan Demand = 75.0

======= Total Jarak = 5179.159372852191

Running ======== ITERASI KE- 0 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 66 117 95 94 78 87 104 0 => Jarak =

700.1605759945822, dengan Demand = 74.0

Rute ke-1>> 0 16 31 109 68 76 93 111 92 0 => Jarak =

664.9168244433303, dengan Demand = 84.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 189: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 28 - 2

Rute ke-2>> 0 18 81 29 8 115 80 0 => Jarak =

610.9159259557114, dengan Demand = 68.0

Rute ke-3>> 0 82 65 106 99 13 97 105 102 0 => Jarak =

702.7185410183001, dengan Demand = 95.0

Rute ke-4>> 0 40 6 4 118 96 103 86 91 116 0 => Jarak =

703.5366972578469, dengan Demand = 80.0

Rute ke-5>> 0 101 52 83 36 26 28 0 => Jarak =

631.0534446359004, dengan Demand = 57.0

Rute ke-6>> 0 73 35 12 21 71 89 0 => Jarak =

646.7435581865803, dengan Demand = 59.0

Rute ke-7>> 0 63 5 49 72 119 0 => Jarak = 660.1501176975275,

dengan Demand = 68.0

Rute ke-8>> 0 11 70 30 3 113 1 0 => Jarak = 685.81602051681,

dengan Demand = 91.0

Rute ke-9>> 0 22 54 7 75 110 112 0 => Jarak =

700.3344706404439, dengan Demand = 85.0

Rute ke-10>> 0 32 20 17 108 2 43 57 0 => Jarak =

718.8443786737691, dengan Demand = 68.0

Rute ke-11>> 0 60 53 24 19 88 67 0 => Jarak =

653.2367335814612, dengan Demand = 62.0

Rute ke-12>> 0 48 61 38 10 15 9 14 0 => Jarak =

635.5372957565367, dengan Demand = 94.0

Rute ke-13>> 0 47 62 42 23 44 58 55 0 => Jarak =

718.1950589842164, dengan Demand = 81.0

Rute ke-14>> 0 85 114 39 90 50 74 0 => Jarak =

645.9493278223501, dengan Demand = 64.0

Rute ke-15>> 0 41 46 45 51 37 34 25 33 27 0 => Jarak =

705.5990731052511, dengan Demand = 110.0

Rute ke-16>> 0 56 79 77 59 98 84 69 0 => Jarak =

701.0852243735319, dengan Demand = 96.0

Rute ke-17>> 0 107 120 64 100 0 => Jarak = 411.999200032668,

dengan Demand = 39.0

======= TOTAL JARAK SEMUA RUTE = 5896.792468676818

=========== Solusi Terbaik ==========

Rute ke-0>> 0 66 117 95 94 78 87 104 0 => Jarak =

700.1605759945822, dengan Demand = 74.0

Rute ke-1>> 0 16 31 109 68 76 93 111 92 0 => Jarak =

664.9168244433303, dengan Demand = 84.0

Rute ke-2>> 0 18 81 29 8 115 80 0 => Jarak =

610.9159259557114, dengan Demand = 68.0

Rute ke-3>> 0 82 65 106 99 13 97 105 102 0 => Jarak =

702.7185410183001, dengan Demand = 95.0

Rute ke-4>> 0 40 6 4 118 96 103 86 91 116 0 => Jarak =

703.5366972578469, dengan Demand = 80.0

Rute ke-5>> 0 101 52 83 36 26 28 0 => Jarak =

631.0534446359004, dengan Demand = 57.0

Rute ke-6>> 0 73 35 12 21 71 89 0 => Jarak =

646.7435581865803, dengan Demand = 59.0

Rute ke-7>> 0 63 5 49 72 119 0 => Jarak = 660.1501176975275,

dengan Demand = 68.0

Rute ke-8>> 0 11 70 30 3 113 1 0 => Jarak = 685.81602051681,

dengan Demand = 91.0

Rute ke-9>> 0 22 54 7 75 110 112 0 => Jarak =

700.3344706404439, dengan Demand = 85.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 190: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 28 - 3

Rute ke-10>> 0 32 20 17 108 2 43 57 0 => Jarak =

718.8443786737691, dengan Demand = 68.0

Rute ke-11>> 0 60 53 24 19 88 67 0 => Jarak =

653.2367335814612, dengan Demand = 62.0

Rute ke-12>> 0 48 61 38 10 15 9 14 0 => Jarak =

635.5372957565367, dengan Demand = 94.0

Rute ke-13>> 0 47 62 42 23 44 58 55 0 => Jarak =

718.1950589842164, dengan Demand = 81.0

Rute ke-14>> 0 85 114 39 90 50 74 0 => Jarak =

645.9493278223501, dengan Demand = 64.0

Rute ke-15>> 0 41 46 45 51 37 34 25 33 27 0 => Jarak =

705.5990731052511, dengan Demand = 110.0

Rute ke-16>> 0 56 79 77 59 98 84 69 0 => Jarak =

701.0852243735319, dengan Demand = 96.0

Rute ke-17>> 0 107 120 64 100 0 => Jarak = 411.999200032668,

dengan Demand = 39.0

======= TOTAL JARAK SEMUA RUTE = 5896.792468676818

...

======== ITERASI KE- 999 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 85 114 11 33 27 34 25 20 17 4 0 => Jarak =

715.1484613169986, dengan Demand = 95.0

Rute ke-1>> 0 107 120 101 52 16 31 109 89 0 => Jarak =

678.6037232010652, dengan Demand = 91.0

Rute ke-2>> 0 18 81 29 8 115 80 78 87 0 => Jarak =

716.0839219617916, dengan Demand = 96.0

Rute ke-3>> 0 56 30 93 90 104 92 91 118 0 => Jarak =

707.7181359964854, dengan Demand = 75.0

Rute ke-4>> 0 73 35 12 108 40 1 0 => Jarak =

696.2533523148418, dengan Demand = 84.0

Rute ke-5>> 0 41 46 45 51 37 21 50 74 0 => Jarak =

709.6951063630579, dengan Demand = 101.0

Rute ke-6>> 0 32 112 3 113 79 77 68 0 => Jarak =

698.3492558571269, dengan Demand = 79.0

Rute ke-7>> 0 47 62 42 23 44 58 55 0 => Jarak =

718.1950589842164, dengan Demand = 81.0

Rute ke-8>> 0 60 53 24 39 5 2 83 0 => Jarak =

692.6200955409471, dengan Demand = 68.0

Rute ke-9>> 0 66 117 95 94 88 67 75 0 => Jarak =

694.8867296403632, dengan Demand = 95.0

Rute ke-10>> 0 82 65 106 99 13 97 105 102 0 => Jarak =

702.7185410183001, dengan Demand = 95.0

Rute ke-11>> 0 63 64 49 110 72 119 111 0 => Jarak =

677.5082215373317, dengan Demand = 82.0

Rute ke-12>> 0 71 76 116 26 36 86 96 103 0 => Jarak =

685.6742722234321, dengan Demand = 75.0

Rute ke-13>> 0 22 57 54 7 43 100 0 => Jarak =

698.1557784194565, dengan Demand = 66.0

Rute ke-14>> 0 48 61 38 10 15 9 14 6 0 => Jarak =

685.907685812588, dengan Demand = 99.0

Rute ke-15>> 0 28 19 59 98 84 69 70 0 => Jarak =

701.6410326641916, dengan Demand = 93.0

======= TOTAL JARAK SEMUA RUTE = 5179.159372852193

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 191: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 28 - 4

=========== Solusi Terbaik ==========

Rute ke-0>> 0 18 81 29 8 115 80 78 87 0 => Jarak =

716.0839219617916, dengan Demand = 96.0

Rute ke-1>> 0 22 57 54 7 43 100 0 => Jarak =

698.1557784194565, dengan Demand = 66.0

Rute ke-2>> 0 82 65 106 99 13 97 105 102 0 => Jarak =

702.7185410183001, dengan Demand = 95.0

Rute ke-3>> 0 32 112 3 113 79 77 68 0 => Jarak =

698.3492558571269, dengan Demand = 79.0

Rute ke-4>> 0 47 62 42 23 44 58 55 0 => Jarak =

718.1950589842164, dengan Demand = 81.0

Rute ke-5>> 0 63 64 49 110 72 119 111 0 => Jarak =

677.5082215373317, dengan Demand = 82.0

Rute ke-6>> 0 73 35 12 108 40 1 0 => Jarak =

696.2533523148418, dengan Demand = 84.0

Rute ke-7>> 0 48 61 38 10 15 9 14 6 0 => Jarak =

685.907685812588, dengan Demand = 99.0

Rute ke-8>> 0 41 46 45 51 37 21 50 74 0 => Jarak =

709.6951063630579, dengan Demand = 101.0

Rute ke-9>> 0 60 53 24 39 5 2 83 0 => Jarak =

692.6200955409471, dengan Demand = 68.0

Rute ke-10>> 0 107 120 101 52 16 31 109 89 0 => Jarak =

678.6037232010652, dengan Demand = 91.0

Rute ke-11>> 0 66 117 95 94 88 67 75 0 => Jarak =

694.8867296403632, dengan Demand = 95.0

Rute ke-12>> 0 85 114 11 33 27 34 25 20 17 4 0 => Jarak =

715.1484613169986, dengan Demand = 95.0

Rute ke-13>> 0 71 76 116 26 36 86 96 103 0 => Jarak =

685.6742722234321, dengan Demand = 75.0

Rute ke-14>> 0 28 19 59 98 84 69 70 0 => Jarak =

701.6410326641916, dengan Demand = 93.0

Rute ke-15>> 0 56 30 93 90 104 92 91 118 0 => Jarak =

707.7181359964854, dengan Demand = 75.0

======= TOTAL JARAK SEMUA RUTE = 5179.159372852191

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 192: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 29 - 1

Lampiran 29 : Hasil Implementasi Program pada Permasalahan P14

Parameter inputan Jumlah semut / kendaraan = 15 Jumlah kota = 100 Jarak maksimal kendaraan =

1040 Kapasitas kendaraan = 200 Alpha = 2

Beta = 1 Rho = 0,8 Pheromon awal = 0,1 Total iterasi = 1000 Konstanta Q = 1000 Service duration = 90

Output ======= Solusi =========

Rute ke- 0 >> 0 75 83 85 41 36 39 33 42 31 0 => Jarak =

1034.3992454022123, dengan Demand = 180.0

Rute ke- 1 >> 0 80 79 61 73 77 70 45 94 0 => Jarak =

1035.1529322974227, dengan Demand = 100.0

Rute ke- 2 >> 0 35 13 50 64 55 60 72 87 0 => Jarak =

979.211701405598, dengan Demand = 120.0

Rute ke- 3 >> 0 96 63 74 24 4 7 8 21 44 0 => Jarak =

1016.8178973928821, dengan Demand = 200.0

Rute ke- 4 >> 0 28 40 58 51 56 38 3 1 0 => Jarak =

972.7971942721796, dengan Demand = 150.0

Rute ke- 5 >> 0 43 54 59 76 93 25 20 49 0 => Jarak =

972.7248347717949, dengan Demand = 170.0

Rute ke- 6 >> 0 67 65 97 10 16 52 48 37 0 => Jarak =

958.6180254781443, dengan Demand = 140.0

Rute ke- 7 >> 0 68 82 84 81 71 15 11 34 0 => Jarak =

997.5351957161569, dengan Demand = 170.0

Rute ke- 8 >> 0 53 57 90 78 89 22 2 88 0 => Jarak =

998.6048961537472, dengan Demand = 180.0

Rute ke- 9 >> 0 12 27 29 47 69 30 18 19 17 0 => Jarak =

1014.5364765125278, dengan Demand = 120.0

Rute ke- 10 >> 0 32 100 14 86 98 91 92 66 0 => Jarak =

1034.5560033102963, dengan Demand = 130.0

Rute ke- 11 >> 0 26 46 62 9 6 95 99 5 23 0 => Jarak =

990.45924081424, dengan Demand = 150.0

======= Total Jarak = 3005.4136435271994

Running ======== ITERASI KE- 0 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 56 38 26 89 22 2 73 0 => Jarak =

973.1237738639752, dengan Demand = 140.0

Rute ke-1>> 0 12 27 34 29 47 71 15 0 => Jarak =

937.2399089508388, dengan Demand = 130.0

Rute ke-2>> 0 28 40 58 51 45 5 23 70 0 => Jarak =

1008.0486434284405, dengan Demand = 130.0

Rute ke-3>> 0 96 44 63 1 83 75 17 3 0 => Jarak =

991.7037885264922, dengan Demand = 140.0

Rute ke-4>> 0 68 82 84 30 55 66 90 81 0 => Jarak =

1005.1575314915243, dengan Demand = 120.0

Rute ke-5>> 0 80 79 20 25 88 13 50 64 0 => Jarak =

1015.8058068433359, dengan Demand = 150.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 193: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 29 - 2

Rute ke-6>> 0 18 69 19 99 21 86 72 61 0 => Jarak =

1026.6387260681197, dengan Demand = 100.0

Rute ke-7>> 0 35 87 94 36 9 6 78 0 => Jarak =

981.563032515596, dengan Demand = 100.0

Rute ke-8>> 0 39 33 91 92 49 31 53 0 => Jarak =

933.3522525910555, dengan Demand = 140.0

Rute ke-9>> 0 43 85 41 76 93 59 54 0 => Jarak =

965.3059535164465, dengan Demand = 150.0

Rute ke-10>> 0 74 24 4 7 8 46 62 77 0 => Jarak =

949.4593466843905, dengan Demand = 170.0

Rute ke-11>> 0 11 42 98 95 60 57 14 0 => Jarak =

945.3702447585997, dengan Demand = 150.0

Rute ke-12>> 0 67 65 97 10 16 52 48 37 0 => Jarak =

958.6180254781443, dengan Demand = 140.0

Rute ke-13>> 0 32 100 0 => Jarak = 313.34125243779266, dengan

Demand = 50.0

======= TOTAL JARAK SEMUA RUTE = 4004.7282871547523

=========== Solusi Terbaik ==========

Rute ke-0>> 0 56 38 26 89 22 2 73 0 => Jarak =

973.1237738639752, dengan Demand = 140.0

Rute ke-1>> 0 12 27 34 29 47 71 15 0 => Jarak =

937.2399089508388, dengan Demand = 130.0

Rute ke-2>> 0 28 40 58 51 45 5 23 70 0 => Jarak =

1008.0486434284405, dengan Demand = 130.0

Rute ke-3>> 0 96 44 63 1 83 75 17 3 0 => Jarak =

991.7037885264922, dengan Demand = 140.0

Rute ke-4>> 0 68 82 84 30 55 66 90 81 0 => Jarak =

1005.1575314915243, dengan Demand = 120.0

Rute ke-5>> 0 80 79 20 25 88 13 50 64 0 => Jarak =

1015.8058068433359, dengan Demand = 150.0

Rute ke-6>> 0 18 69 19 99 21 86 72 61 0 => Jarak =

1026.6387260681197, dengan Demand = 100.0

Rute ke-7>> 0 35 87 94 36 9 6 78 0 => Jarak =

981.563032515596, dengan Demand = 100.0

Rute ke-8>> 0 39 33 91 92 49 31 53 0 => Jarak =

933.3522525910555, dengan Demand = 140.0

Rute ke-9>> 0 43 85 41 76 93 59 54 0 => Jarak =

965.3059535164465, dengan Demand = 150.0

Rute ke-10>> 0 74 24 4 7 8 46 62 77 0 => Jarak =

949.4593466843905, dengan Demand = 170.0

Rute ke-11>> 0 11 42 98 95 60 57 14 0 => Jarak =

945.3702447585997, dengan Demand = 150.0

Rute ke-12>> 0 67 65 97 10 16 52 48 37 0 => Jarak =

958.6180254781443, dengan Demand = 140.0

Rute ke-13>> 0 32 100 0 => Jarak = 313.34125243779266, dengan

Demand = 50.0

======= TOTAL JARAK SEMUA RUTE = 4004.7282871547523

...

======== ITERASI KE- 999 =============

============== RUTE CONSTRUCTION ==========

Rute ke-0>> 0 35 13 50 64 55 60 72 87 0 => Jarak =

979.211701405598, dengan Demand = 120.0

Rute ke-1>> 0 28 40 58 51 56 38 3 1 0 => Jarak =

972.7971942721796, dengan Demand = 150.0

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 194: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 29 - 3

Rute ke-2>> 0 68 82 84 81 71 15 11 34 0 => Jarak =

997.5351957161569, dengan Demand = 170.0

Rute ke-3>> 0 75 83 85 41 36 39 33 42 31 0 => Jarak =

1034.3992454022123, dengan Demand = 180.0

Rute ke-4>> 0 80 79 61 73 77 70 45 94 0 => Jarak =

1035.1529322974227, dengan Demand = 100.0

Rute ke-5>> 0 53 57 90 78 89 22 2 88 0 => Jarak =

998.6048961537472, dengan Demand = 180.0

Rute ke-6>> 0 32 100 14 86 98 91 92 66 0 => Jarak =

1034.5560033102963, dengan Demand = 130.0

Rute ke-7>> 0 67 65 97 10 16 52 48 37 0 => Jarak =

958.6180254781443, dengan Demand = 140.0

Rute ke-8>> 0 12 27 29 47 69 30 18 19 17 0 => Jarak =

1014.5364765125278, dengan Demand = 120.0

Rute ke-9>> 0 43 54 59 76 93 25 20 49 0 => Jarak =

972.7248347717949, dengan Demand = 170.0

Rute ke-10>> 0 96 63 74 24 4 7 8 21 44 0 => Jarak =

1016.8178973928821, dengan Demand = 200.0

Rute ke-11>> 0 26 46 62 9 6 95 99 5 23 0 => Jarak =

990.45924081424, dengan Demand = 150.0

======= TOTAL JARAK SEMUA RUTE = 3005.413643527201

=========== Solusi Terbaik ==========

Rute ke-0>> 0 75 83 85 41 36 39 33 42 31 0 => Jarak =

1034.3992454022123, dengan Demand = 180.0

Rute ke-1>> 0 80 79 61 73 77 70 45 94 0 => Jarak =

1035.1529322974227, dengan Demand = 100.0

Rute ke-2>> 0 35 13 50 64 55 60 72 87 0 => Jarak =

979.211701405598, dengan Demand = 120.0

Rute ke-3>> 0 96 63 74 24 4 7 8 21 44 0 => Jarak =

1016.8178973928821, dengan Demand = 200.0

Rute ke-4>> 0 28 40 58 51 56 38 3 1 0 => Jarak =

972.7971942721796, dengan Demand = 150.0

Rute ke-5>> 0 43 54 59 76 93 25 20 49 0 => Jarak =

972.7248347717949, dengan Demand = 170.0

Rute ke-6>> 0 67 65 97 10 16 52 48 37 0 => Jarak =

958.6180254781443, dengan Demand = 140.0

Rute ke-7>> 0 68 82 84 81 71 15 11 34 0 => Jarak =

997.5351957161569, dengan Demand = 170.0

Rute ke-8>> 0 53 57 90 78 89 22 2 88 0 => Jarak =

998.6048961537472, dengan Demand = 180.0

Rute ke-9>> 0 12 27 29 47 69 30 18 19 17 0 => Jarak =

1014.5364765125278, dengan Demand = 120.0

Rute ke-10>> 0 32 100 14 86 98 91 92 66 0 => Jarak =

1034.5560033102963, dengan Demand = 130.0

Rute ke-11>> 0 26 46 62 9 6 95 99 5 23 0 => Jarak =

990.45924081424, dengan Demand = 150.0

======= TOTAL JARAK SEMUA RUTE = 3005.4136435271994

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid

Page 195: ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) …repository.unair.ac.id/25714/1/MPM 70 - 12 Ros a.pdf · (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM . SKRIPSI . MUHAMMAD

Lampiran 30 - 1

Lampiran 30 : Output Program

1.) Form input parameter

2.) Form solusi

ADLN Perpustakaan Universitas Airlangga

Skripsi Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem

Muhammad Harun Ar Rosyid