ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Pembimbing II
Dr. Herry Suprajitno, M.Si NIP. 19680404 199403 1 020
Dr. Miswanto, M.Si NIP. 19680204 199303 1 002
ii Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Pembimbing II
Dr. Herry Suprajitno, M.Si NIP. 19680404 199403 1 020
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
iii Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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.
iv Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
v Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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. vi Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
vii Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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.
viii Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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.
ix Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 x Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
xi Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
DAFTAR GAMBAR
Gambar 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
Judul 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
Halaman 7 14 20 26 27 28 28 29 30 30 31 33 34 34 35 36 37
xii Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
DAFTAR TABEL Tabel 2.1 2.2 4.1 4.2 4.3 4.4 4.5
Judul 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
Halaman 9 9 38 73 73 74 74
xiii Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
DAFTAR LAMPIRAN
No. 1. 2. 3. 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.
Judul Lampiran Data Permasalahan P01 Data Permasalahan P02 Data Permasalahan P03 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
xiv Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
1 Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 (foodseeking) 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,
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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:
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 vi dan elemen dari E(G) dinotasikan dengan vi v j dan kadang dinotasikan dengan ei . Jika terdapat garis e yang menghubungkan titik v i dan v j maka v i dikatakan terhubung (adjacent) dengan v j dalam hal ini titik v i dan v j 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 titiktitik elemen |V(G)| dan garis-garis elemen E(G) yang terbentuk : W : v0, e1, v1, e2, v2, …, vn-1, en, vn, (n ≥ 0)
5 Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
∑∑∑ 0
Skripsi
0
1
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
8
dengan kendala: 1. Setiap pelanggan hanya dikunjungi satu kali:
0
1,2,…, ≠
1
∑∑ 1
2. Kendaraan yang sama akan mengunjungi dan meninggalkan setiap pelanggan:
∑
∑
0
0
1,2,…, 0,1,…,
0
3. Terdapat K kendaraan yang beroperasi yang berawal dari depot:
∑
1
0
1,2,…,
1
4. Total permintaan dari setiap kota dalam rute yang dilalui setiap kendaraan tidak boleh melebihi kapasitas muatan kendaraan:
1,2,…,
∑∑ 1
5. Total jarak dari rute yang dilalui setiap kendaraan tidak boleh melebihi jarak tempuh maksimal kendaraan yang diberikan:
1,2,…,
∑∑ 0
0
dengan: 1, 0
{
Skripsi
n
n
n
n
n
(2.7)
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 pelangganpelanggannya 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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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)
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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) Titik A Titik pilihan 1
Titik pilihan 2
Sumber makanan
Sarang
Titik B Semut 1
Semut 2
Gambar 2.2 Percobaan yang dilakukan Goss et al. (1989)
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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:
() ∑
Skripsi
1
[
] [ ] n
[
1
(2.8)
] [ ]
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 {Ntabuk}. Menghitung panjang perjalanan dengan rumusan sebagai berikut: n
5.
n-1 1
∑
1
(2.9)
1
Perbaruhi matrik pheromone (
1)
( )
∑
(2.10)
1
adalah perubahan harga pheromone antar node setiap semut
dengan
yang dihitung berdasarkan persamaan {
0,
6.
t
(, )
n t
a a (, ) a
tab a
(2.11)
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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:
( ) {
(2.12)
∑
0 ( ) adalah probabilitas semut k memilih pelanggan (kota) j setelah
dengan
mengunjungi pelanggan (kota) i pada sebuah rute ke-k, pelanggan i ke pelanggan j, pelanggan j
adalah visibilitas dari jarak pelanggan i ke
dan nilai
pelanggan i ke pelanggan j,
adalah feromon jarak
dan
diperoleh dari
1
dimana dij adalah jarak
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Definisi 2.10
18
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Definisi 2.11
19
Laju mutasi ( p m ) 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: ()
dimana
n
(
n )1
(2.13) n
( ) adalah probabilitas mutasi pada iterasi ke-t,
adalah tingkat
probabilitas mutasi terendah yang didefinisikan dengan persamaan dengan n adalah jumlah semua pelanggan (kota), mutasi tertinggi yang didefinisikan dengan persamaan
n
1 n
adalah tingkat probabilitas 1 n
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Misalkan diberikan suatu rute c0, c1, c2, … , pelanggan ci, cj dengan i < j; i,j
k,
20
c0. Untuk setiap kombinasi
{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.
i+1,
ci, cj+1, cj+2,…, k, c0.
maka setelah perbaikan menjadi: c0, c1, c2, … ,
i−1,
cj, cj−1, cj−2,… ,
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)
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
21
2.6.4 Update Pheromone Pada proses update pheromone ini menggunakan persamaan sebagai berikut : n
∑
0, 1
(2.14)
n
adalah feromon jarak pelanggan (kota) i ke pelanggan (kota) j setelah
diupdate,
adalah feromon jarak pelanggan (kota) i ke pelanggan (kota) j
dengan
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 0
n n 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,
pelanggan j, dan
adalah jarak pelanggan i ke
adalah banyaknya pelanggan pada rute ke-k. (Bin et al., 2008)
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
22 Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 sekurangkurangnya 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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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.
Skripsi
Hitung total jarak rute pada setiap perpindahan posisi pelanggan.
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
iii.
25
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
26
Mulai
Inisialisasi
Konstruksi Rute
Cek nilai_random ≤ Pm(t) ?
Tidak
Ya Mutasi
Local Search
Update Pheromone
Tidak
Cek Iterasi_Max ?
Gambar 3.1
Skripsi
Ya
Selesai
Flowchart dari algoritma IACO.
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
selesai
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
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.
27 Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
28
Prosedur inisialisasi mulai selesai
pengisian parameter() pengisian data pelanggan()
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
selesai
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
Gambar 4.3 Prosedur pengisian parameter
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
selesai
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
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
30
Prosedur konstruksi rute mulai
selesai
hitung nilai Pij(k)() cek konstrain() pembentukan rute()
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
selesai
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
Gambar 4.6 Prosedur hitung nilai Pij(k) Pada prosedur hitung nilai Pij(k), formula yang digunakan dalam perhitungan nilai PijkAvCity adalah kota i ke kota j,
Skripsi
∑
, dengan
adalah feromon jarak
adalah visibilitas dari jarak kota i ke kota j
≤
dan
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
nilai
dimana dij adalah jarak kota i ke kota j,
diperoleh dari
31
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
selesai
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
Gambar 4.7 Prosedur cek konstrain
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Pada
prosedur
cek
konstrain
32
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
33
Prosedur pembentukan rute mulai
selesai
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
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
selesai
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
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
selesai
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
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
37
Prosedur update pheromone mulai
selesai
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
Gambar 4.13 Prosedur update pheromone Pada prosedur update pheromone di atas, formula untuk perhitungan dan untuk perhitungan feromonBaru2 adalah
feromonBaru1 adalah ∑
, dengan
adalah feromon jarak pelanggan (kota) i ke
pelanggan (kota) j sebelum diupdate, kecepatan evaporasi dan
adalah konstanta yang mengontrol
, 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, k,
adalah total jarak pada rute ke-
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
39
4.3 Penyelesaian Manual terhadap Permasalahan P01 Proses penyelesaiannya pada langkah-langkah sebagai berikut: 1) Inisialisasi / input parameter
Jumlah semut / kendaraan = 5
Rho = 0,8
Jumlah kota = 50
Pheromon awal = 0,1
Jarak maksimal kendaraan = 0
Total iterasi = 1
Kapasitas kendaraan = 160
Konstanta Q = 1000
Alpha = 2
Service duration = 0
Beta = 1
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 =
=>
Jarak =
=>
Jarak =
236.60222730370072, dengan Demand = 160.0 Rute ke-3 >> 0 12 49 45 48 32 13 30 37 35 36 0 328.03740614747, dengan Demand = 160.0 Rute ke-4 >> 0 17 10 50 16 7 14 15 33 34 26 43 0 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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Rute ke-2 >>
0 47 25 36 19 42 39 31 3 28 8 0
42
=>
Jarak =
=>
Jarak =
=>
Jarak =
332.9907519469181, dengan Demand = 159.0 Rute ke-3 >> 0 12 49 45 48 32 13 30 37 35 40 0 400.83494709147897, dengan Demand = 161.0 Rute ke-4 >> 0 17 10 50 16 7 14 15 33 34 26 43 0 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.
Skripsi
Rute ke-3 dengan total jarak = 328.03740614747
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
ii.
43
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 =
=>
Jarak =
=>
Jarak =
236.60222730370072, dengan Demand = 160.0 Rute ke-3>> 0 12 49 45 48 32 13 30 37 35 50 0 330.8787111290517, dengan Demand = 164.0 Rute ke-4>> 0 17 10 36 16 7 14 15 33 34 26 43 0 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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Rute ke-2 >>
0 47 25 40 19 42 39 31 3 28 8 0
44
=>
Jarak =
=>
Jarak =
=>
Jarak =
236.60222730370072, dengan Demand = 160.0 Rute ke-3 >> 0 12 49 45 48 32 13 30 37 35 36 0 328.03740614747, dengan Demand = 160.0 Rute ke-4 >> 0 17 10 50 16 7 14 15 33 34 26 43 0 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 :
Skripsi
Jumlah semut / kendaraan = 5
Beta = 1
Jumlah kota = 50
Rho = 0,8
Jarak maksimal kendaraan = 0
Pheromon awal = 0,1
Kapasitas kendaraan = 160
Total iterasi = 1000
Alpha = 2
Konstanta Q = 1000
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 =
=>
Jarak =
=>
Jarak =
171.65973469778262, dengan Demand = 157.0 Rute ke- 1 >>
0 41 19 42 38 16 2 50 29 35 36 22 0
188.11764655359866, dengan Demand = 156.0 Rute ke- 2 >>
0 4 40 13 25 43 26 31 28 6 5 10 46 0
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 :
Skripsi
Jumlah semut / kendaraan = 12
Jumlah kota = 75
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
46
Jarak maksimal kendaraan = 0
Pheromon awal = 0,1
Kapasitas kendaraan = 140
Total iterasi = 1000
Alpha = 2
Konstanta Q = 1000
Beta = 1
Service duration = 0
Rho = 0,8
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Rute ke- 8 >> 0 64 42 1 73 50 24 31 0 =>
47
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
Rho = 0,8
Jumlah kota = 100
Pheromon awal = 0,1
Jarak maksimal kendaraan = 0
Total iterasi = 1000
Kapasitas kendaraan = 200
Konstanta Q = 1000
Alpha = 2
Service duration = 0
Beta = 1 Dengan parameter di atas, diperoleh solusi sebagai berikut:
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Rho = 0,8
Jumlah kota = 150
Pheromon awal = 0,1
Jarak maksimal kendaraan = 0
Total iterasi = 1000
Kapasitas kendaraan = 200
Konstanta Q = 1000
Alpha = 2
Service duration = 0
Beta = 1 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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 =
Rute ke- 10 >> 0 47 144 147 65 6 13 109 145 44 137 0 =>
Jarak =
137.58036419764028, dengan Demand = 187.0
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 :
Skripsi
Jumlah semut / kendaraan = 20
Jumlah kota = 199
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
51
Jarak maksimal kendaraan = 0
Pheromon awal = 0,1
Kapasitas kendaraan = 200
Total iterasi = 250
Alpha = 2
Konstanta Q = 1000
Beta = 1
Service duration = 0
Rho = 0,8
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Rho = 0,8
Jumlah kota = 50
Pheromon awal = 0,1
Jarak maksimal kendaraan = 200
Total iterasi = 1000
Kapasitas kendaraan = 160
Konstanta Q = 1000
Alpha = 2
Service duration = 10
Beta = 1 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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 :
Skripsi
Jumlah semut / kendaraan = 22
Beta = 1
Jumlah kota = 75
Rho = 0,8
Jarak maksimal kendaraan = 160
Pheromon awal = 0,1
Kapasitas kendaraan = 140
Total iterasi = 1000
Alpha = 2
Konstanta Q = 1000
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 :
Skripsi
Jumlah semut / kendaraan = 20
Kapasitas kendaraan = 200
Jumlah kota = 100
Alpha = 2
Jarak maksimal kendaraan = 230
Beta = 1
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
57
Rho = 0,8
Konstanta Q = 1000
Pheromon awal = 0,1
Service duration = 10
Total iterasi = 1000 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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Rute ke- 9 >>
0 73 74 94 17 84 83 16 85 95 0
58
=>
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 :
Skripsi
Jumlah semut / kendaraan = 33
Beta = 1
Jumlah kota = 150
Rho = 0,8
Jarak maksimal kendaraan = 200
Pheromon awal = 0,1
Kapasitas kendaraan = 200
Total iterasi = 500
Alpha = 2
Konstanta Q = 1000
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 =
=>
Jarak =
177.83627881254466, dengan Demand = 99.0 Rute ke- 14 >>
0 126 76 29 131 100 32 81 11 0
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Rute ke- 21 >> 0 97 7 26 99 86 132 68 0 =>
61
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
Rho = 0,8
Jumlah kota = 199
Pheromon awal = 0,1
Jarak maksimal kendaraan = 200
Total iterasi = 250
Kapasitas kendaraan = 200
Konstanta Q = 1000
Alpha = 2
Service duration = 10
Beta = 1 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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Rute ke- 2 >> 0 30 54 50 40 77 100 60 0 =>
62
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 =
=>
Jarak =
186.16091827860183, dengan Demand = 95.0 Rute ke- 11 >>
0 183 62 192 43 41 191 1 198 190 0
195.57933512724335, dengan Demand = 115.0 Rute ke- 12 >> 0 31 71 131 17 95 2 0 => Jarak = 189.87734980607647, dengan Demand = 107.0
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Rute ke- 13 >> 0 92 161 74 189 0 =>
63
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Rho = 0,8
Jumlah kota = 120
Pheromon awal = 0,1
Jarak maksimal kendaraan = 0
Total iterasi = 1000
Kapasitas kendaraan = 200
Konstanta Q = 1000
Alpha = 2
Service duration = 0
Beta = 1 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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Rho = 0,8
Jumlah kota = 100
Pheromon awal = 0,1
Jarak maksimal kendaraan = 0
Total iterasi = 1000
Kapasitas kendaraan = 200
Konstanta Q = 1000
Alpha = 2
Service duration = 0
Beta = 1 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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Rute ke- 2 >>
0 25 34 39 18 15 17 30 26 23 1 0
67
=>
Jarak =
=>
Jarak =
155.6970020363125, dengan Demand = 200.0 Rute ke- 3 >>
0 19 16 12 14 11 10 2 13 21 20 0
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 =
=>
Jarak =
=>
Jarak =
196.40510570929692, dengan Demand = 200.0 Rute ke- 7 >>
0 33 31 64 81 78 83 82 85 91 86 0
197.07659571670558, dengan Demand = 200.0 Rute ke- 8 >>
0 98 96 94 93 97 92 89 88 87 90 0
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Rho = 0,8
Jumlah kota = 120
Pheromon awal = 0,1
Jarak maksimal kendaraan = 720
Total iterasi = 1000
Kapasitas kendaraan = 200
Konstanta Q = 1000
Alpha = 2
Service duration = 50
Beta = 1 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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Beta = 1
Jumlah kota = 100
Rho = 0,8
Jarak maksimal kendaraan =
Pheromon awal = 0,1
1040
Total iterasi = 1000
Kapasitas kendaraan = 200
Konstanta Q = 1000
Alpha = 2
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
73
Tabel 4.2 Total jarak semua rute dengan pembanding alpha Data (jumlah kota, kapasitas kendaraan) Alpha
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 Data (jumlah kota, kapasitas kendaraan) Beta
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
74
Tabel 4.4 Total jarak semua rute dengan pembanding rho Data (jumlah kota, kapasitas kendaraan) Rho
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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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.
75 Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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, 171176.
[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, CyberneticsPart 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
76 Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Skripsi
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.
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 1 - 1
Lampiran 1 : Data P01 Depot : 1 Vehicle : 5 Customer : 50 Total jarak max : 0 Kapasitas max : 160
i x 0 1 2 3 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 31 32 33 34 35 36 37 38 39 40 41 42 43
Skripsi
30 37 49 52 20 40 21 17 31 52 51 42 31 5 12 36 52 27 17 13 57 62 42 16 8 7 27 30 43 58 58 37 38 46 61 62 63 32 45 59 5 10 21 5
y d 40 52 49 64 26 30 47 63 62 33 21 41 32 25 42 16 41 23 33 13 58 42 57 57 52 38 68 48 67 48 27 69 46 10 33 63 69 22 35 15 6 17 10 64
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
q 0 7 30 16 9 21 15 19 23 11 5 19 29 23 21 10 15 3 41 9 28 8 8 16 10 28 7 15 14 6 19 11 12 23 26 17 6 9 15 14 7 27 13 11
44 45 46 47 48 49 50
30 39 32 25 25 48 56
15 10 39 32 55 28 37
0 0 0 0 0 0 0
16 10 5 25 17 18 10
Keterangan : i x y d q
= = = = =
customer number koordinat X koordinat Y service duration permintaan / demand
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 2 - 1
Lampiran 2 : Data P02 Depot : 1 Vehicle : 12 Customer : 75 Total jarak max : 0 Kapasitas max : 140 i 0 1 2 3 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 31 32 33 34 35 36 37
Skripsi
x 40 22 36 21 45 55 33 50 55 26 40 55 35 62 62 62 21 33 9 62 66 44 26 11 7 17 41 55 35 52 43 31 22 26 50 55 54 60
y 40 22 26 45 35 20 34 50 45 59 66 65 51 35 57 24 36 44 56 48 14 13 13 28 43 64 46 34 16 26 26 76 53 29 40 50 10 15
d 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
q 0 18 26 11 30 21 19 15 16 29 26 37 16 12 31 8 19 20 13 15 22 28 12 6 27 14 18 17 29 13 22 25 28 27 19 10 12 14
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
47 30 30 12 15 16 21 50 51 50 48 12 15 29 54 55 67 10 6 65 40 70 64 36 30 20 15 50 57 45 38 50 66 59 35 27 40 40
66 60 50 17 14 19 48 30 42 15 21 38 56 39 38 57 41 70 25 27 60 64 4 6 20 30 5 70 72 42 33 4 8 5 60 24 20 37
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24 16 33 15 11 18 17 21 27 19 20 5 22 12 19 22 16 7 26 14 21 24 13 15 18 11 28 9 37 30 10 8 11 3 1 6 10 20
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 3 - 1
Lampiran 3 : Data P03 Depot : 1 Vehicle : 10 Customer : 100 Total jarak max : 0 Kapasitas max : 200
i 0 1 2 3 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 31 32
Skripsi
x y d 35 41 35 55 55 15 25 20 10 55 30 20 50 30 15 30 10 5 20 15 45 45 45 55 65 65 45 35 41 64 40 31 35
35 49 17 45 20 30 30 50 43 60 60 65 35 25 10 5 20 30 40 60 65 20 10 5 35 20 30 40 37 42 60 52 69
q
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 10 7 13 19 26 3 5 9 16 16 12 19 23 20 8 19 2 12 17 9 11 18 29 3 6 17 16 16 9 21 27 23
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
53 65 63 2 20 5 60 40 42 24 23 11 6 2 8 13 6 47 49 27 37 57 63 53 32 36 21 17 12 24 27 15 62 49
52 55 65 60 20 5 12 25 7 12 3 14 38 48 56 52 68 47 58 43 31 29 23 12 12 26 24 34 24 58 69 77 77 73
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 14 8 5 8 16 31 9 5 5 7 18 16 1 27 36 30 13 10 9 14 18 2 6 7 18 28 3 13 19 10 9 20 25
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
67 56 37 37 57 47 44 46 49 49 53 61 57 56 55 15 14 11 16 4 28 26 26 31 15 22 18 26 25 22 25 19 20 18
5 39 47 56 68 16 17 13 11 42 43 52 48 37 54 47 37 31 22 18 18 52 35 67 19 22 24 27 24 27 21 21 26 18
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25 36 6 5 15 25 9 8 18 13 14 3 23 6 26 16 11 7 41 35 26 9 15 3 1 2 22 27 20 11 12 10 9 17
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 4 - 1
Lampiran 4: Data P04 Depot : 1 Vehicle : 14 Customer : 150 Total jarak max : 0 Kapasitas max : 200 i 0 1 2 3 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
Skripsi
x 35 37 49 52 20 40 21 17 31 52 51 42 31 5 12 36 52 27 17 13 57 62 42 16 8 7 27 30 43 58 58 37 38 46 61 62 63 32 45 59 5 10 21 5 30 39
y 35 52 49 64 26 30 47 63 62 33 21 41 32 25 42 16 41 23 33 13 58 42 57 57 52 38 68 48 67 48 27 69 46 10 33 63 69 22 35 15 6 17 10 64 15 10
d 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
q 0 7 30 16 9 21 15 19 23 11 5 19 29 23 21 10 15 3 41 9 28 8 8 16 10 28 7 15 14 6 19 11 12 23 26 17 6 9 15 14 7 27 13 11 16 10
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
32 25 25 48 56 41 35 55 55 15 25 20 10 55 30 20 50 30 15 30 10 5 20 15 45 45 45 55 65 65 45 35 41 64 40 31 35 53 65 63 2 20 5 60 40 42
39 32 55 28 37 49 17 45 20 30 30 50 43 60 60 65 35 25 10 5 20 30 40 60 65 20 10 5 35 20 30 40 37 42 60 52 69 52 55 65 60 20 5 12 25 7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5 25 17 18 10 10 7 13 19 26 3 5 9 16 16 12 19 23 20 8 19 2 12 17 9 11 18 29 3 6 17 16 16 9 21 27 23 11 14 8 5 8 16 31 9 5
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
24 23 11 6 2 8 13 6 47 49 27 37 57 63 53 32 36 21 17 12 24 27 15 62 49 67 56 37 37 57 47 44 46 49 49 53 61 57 56 55 15 14 11 16 4 28
12 3 14 38 48 56 52 68 47 58 43 31 29 23 12 12 26 24 34 24 58 69 77 77 73 5 39 47 56 68 16 17 13 11 42 43 52 48 37 54 47 37 31 22 18 18
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5 7 18 16 1 27 36 30 13 10 9 14 18 2 6 7 18 28 3 13 19 10 9 20 25 25 36 6 5 15 25 9 8 18 13 14 3 23 6 26 16 11 7 41 35 26
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
138 139 140 141 142
Skripsi
26 26 31 15 22
52 35 67 19 22
0 9 0 15 0 3 0 1 0 2
143 144 145 146 147
18 26 25 22 25
24 27 24 27 21
0 0 0 0 0
22 27 20 11 12
Lampiran 4 - 2
148 149 150
19 20 18
21 0 10 26 0 9 18 0 17
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 5 - 1
Lampiran 5: Data P05 Depot : 1 Vehicle : 20 Customer : 199 Total jarak max : 0 Kapasitas max : 200 i 0 1 2 3 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
Skripsi
x 35 22 36 21 45 55 33 50 55 26 40 55 35 62 62 62 21 33 9 62 66 44 26 11 7 17 41 55 35 52 43 31 22 26 50 55 54 60 47 30 30 12 15 16 21 50 51
y 35 22 26 45 35 20 34 50 45 59 66 65 51 35 57 24 36 44 56 48 14 13 13 28 43 64 46 34 16 26 26 76 53 29 40 50 10 15 66 60 50 17 14 19 48 30 42
d 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
q 0 18 26 11 30 21 19 15 16 29 26 37 16 12 31 8 19 20 13 15 22 28 12 6 27 14 18 17 29 13 22 25 28 27 19 10 12 14 24 16 33 15 11 18 17 21 27
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
50 48 12 37 49 52 20 40 21 17 31 52 51 42 31 5 12 36 52 27 17 13 57 62 42 16 8 7 27 30 43 58 58 37 38 46 61 62 63 32 45 59 5 10 21 5 30
15 21 38 52 49 64 26 30 47 63 62 33 21 41 32 25 42 16 41 23 33 13 58 42 57 57 52 38 68 48 67 48 27 69 46 10 33 63 69 22 35 15 6 17 10 64 15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19 20 5 7 30 16 9 21 15 19 23 11 5 19 29 23 21 10 15 3 41 9 28 8 8 16 10 28 7 15 14 6 19 11 12 23 26 17 6 9 15 14 7 27 13 11 16
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
39 32 25 25 48 56 41 35 55 55 15 25 20 10 55 30 20 50 30 15 30 10 5 20 15 45 45 45 55 65 65 45 35 41 64 40 31 35 53 65 63 2 20 5 60 40 42
10 39 32 55 28 37 49 17 45 20 30 30 50 43 60 60 65 35 25 10 5 20 30 40 60 65 20 10 5 35 20 30 40 37 42 60 52 69 52 55 65 60 20 5 12 25 7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 5 25 17 18 10 10 7 13 19 26 3 5 9 16 16 12 19 23 20 8 19 2 12 17 9 11 18 29 3 6 17 16 16 9 21 27 23 11 14 8 5 8 16 31 9 5
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
Skripsi
24 23 11 6 2 8 13 6 47 49 27 37 57 63 53 32 36 21 17 12
12 3 14 38 48 56 52 68 47 58 43 31 29 23 12 12 26 24 34 24
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5 7 18 16 1 27 36 30 13 10 9 14 18 2 6 7 18 28 3 13
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
24 27 15 62 49 67 56 37 37 57 47 44 46 49 49 53 61 57 56 55
58 69 77 77 73 5 39 47 56 68 16 17 13 11 42 43 52 48 37 54
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19 10 9 20 25 25 36 6 5 15 25 9 8 18 13 14 3 23 6 26
Lampiran 5 - 2
181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198
15 47 0 14 37 0 11 31 0 16 22 0 4 18 0 28 18 0 26 52 0 26 35 0 31 67 0 15 19 0 22 22 0 18 24 0 26 27 0 25 24 0 22 27 0 25 21 0 19 21 0 20 26 0 199 8 18
16 11 7 41 35 26 9 15 3 1 2 22 27 20 11 12 10 9 0 17
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 6 - 1
Lampiran 6: Data P06 Depot : 1 Vehicle : 11 Customer : 50 Total jarak max : 200 Kapasitas max : 160 i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Skripsi
x 30 37 49 52 20 40 21 17 31 52 51 42 31 5 12 36 52 27 17 13 57 62 42 16 8 7
y 40 52 49 64 26 30 47 63 62 33 21 41 32 25 42 16 41 23 33 13 58 42 57 57 52 38
d 0 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
q 0 7 30 16 9 21 15 19 23 11 5 19 29 23 21 10 15 3 41 9 28 8 8 16 10 28
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
27 30 43 58 58 37 38 46 61 62 63 32 45 59 5 10 21 5 30 39 32 25 25 48 56
68 48 67 48 27 69 46 10 33 63 69 22 35 15 6 17 10 64 15 10 39 32 55 28 37
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
7 15 14 6 19 11 12 23 26 17 6 9 15 14 7 27 13 11 16 10 5 25 17 18 10
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 7 - 1
Lampiran 7: Data P07 Depot : 1 Vehicle : 22 Customer : 75 Total jarak max : 160 Kapasitas max : 140 i 0 1 2 3 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 31 32 33 34 35 36 37
Skripsi
x 40 22 36 21 45 55 33 50 55 26 40 55 35 62 62 62 21 33 9 62 66 44 26 11 7 17 41 55 35 52 43 31 22 26 50 55 54 60
y 40 22 26 45 35 20 34 50 45 59 66 65 51 35 57 24 36 44 56 48 14 13 13 28 43 64 46 34 16 26 26 76 53 29 40 50 10 15
d 0 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
q 0 18 26 11 30 21 19 15 16 29 26 37 16 12 31 8 19 20 13 15 22 28 12 6 27 14 18 17 29 13 22 25 28 27 19 10 12 14
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
47 30 30 12 15 16 21 50 51 50 48 12 15 29 54 55 67 10 6 65 40 70 64 36 30 20 15 50 57 45 38 50 66 59 35 27 40 40
66 60 50 17 14 19 48 30 42 15 21 38 56 39 38 57 41 70 25 27 60 64 4 6 20 30 5 70 72 42 33 4 8 5 60 24 20 37
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
24 16 33 15 11 18 17 21 27 19 20 5 22 12 19 22 16 7 26 14 21 24 13 15 18 11 28 9 37 30 10 8 11 3 1 6 10 20
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 8 - 1
Lampiran 8: Data P08 Depot : 1 Vehicle : 20 Customer : 100 Total jarak max : 230 Kapasitas max : 200 i 0 1 2 3 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 31 32 33
Skripsi
x 35 41 35 55 55 15 25 20 10 55 30 20 50 30 15 30 10 5 20 15 45 45 45 55 65 65 45 35 41 64 40 31 35 53
y 35 49 17 45 20 30 30 50 43 60 60 65 35 25 10 5 20 30 40 60 65 20 10 5 35 20 30 40 37 42 60 52 69 52
d 0 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
q 0 10 7 13 19 26 3 5 9 16 16 12 19 23 20 8 19 2 12 17 9 11 18 29 3 6 17 16 16 9 21 27 23 11
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
65 63 2 20 5 60 40 42 24 23 11 6 2 8 13 6 47 49 27 37 57 63 53 32 36 21 17 12 24 27 15 62 49 67
55 65 60 20 5 12 25 7 12 3 14 38 48 56 52 68 47 58 43 31 29 23 12 12 26 24 34 24 58 69 77 77 73 5
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
14 8 5 8 16 31 9 5 5 7 18 16 1 27 36 30 13 10 9 14 18 2 6 7 18 28 3 13 19 10 9 20 25 25
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
56 37 37 57 47 44 46 49 49 53 61 57 56 55 15 14 11 16 4 28 26 26 31 15 22 18 26 25 22 25 19 20 18
39 47 56 68 16 17 13 11 42 43 52 48 37 54 47 37 31 22 18 18 52 35 67 19 22 24 27 24 27 21 21 26 18
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
36 6 5 15 25 9 8 18 13 14 3 23 6 26 16 11 7 41 35 26 9 15 3 1 2 22 27 20 11 12 10 9 17
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 9 - 1
Lampiran 9: Data P09 Depot : 1 Vehicle : 32 Customer : 150 Total jarak max : 200 Kapasitas max : 200 i 0 1 2 3 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
Skripsi
x 35 37 49 52 20 40 21 17 31 52 51 42 31 5 12 36 52 27 17 13 57 62 42 16 8 7 27 30 43 58 58 37 38 46 61 62 63 32 45 59 5 10 21 5 30 39 32
y 35 52 49 64 26 30 47 63 62 33 21 41 32 25 42 16 41 23 33 13 58 42 57 57 52 38 68 48 67 48 27 69 46 10 33 63 69 22 35 15 6 17 10 64 15 10 39
d 0 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
q 0 7 30 16 9 21 15 19 23 11 5 19 29 23 21 10 15 3 41 9 28 8 8 16 10 28 7 15 14 6 19 11 12 23 26 17 6 9 15 14 7 27 13 11 16 10 5
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
25 25 48 56 41 35 55 55 15 25 20 10 55 30 20 50 30 15 30 10 5 20 15 45 45 45 55 65 65 45 35 41 64 40 31 35 53 65 63 2 20 5 60 40 42 24 23
32 55 28 37 49 17 45 20 30 30 50 43 60 60 65 35 25 10 5 20 30 40 60 65 20 10 5 35 20 30 40 37 42 60 52 69 52 55 65 60 20 5 12 25 7 12 3
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
25 17 18 10 10 7 13 19 26 3 5 9 16 16 12 19 23 20 8 19 2 12 17 9 11 18 29 3 6 17 16 16 9 21 27 23 11 14 8 5 8 16 31 9 5 5 7
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
11 6 2 8 13 6 47 49 27 37 57 63 53 32 36 21 17 12 24 27 15 62 49 67 56 37 37 57 47 44 46 49 49 53 61 57 56 55 15 14 11 16 4 28 26 26 31
14 38 48 56 52 68 47 58 43 31 29 23 12 12 26 24 34 24 58 69 77 77 73 5 39 47 56 68 16 17 13 11 42 43 52 48 37 54 47 37 31 22 18 18 52 35 67
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
18 16 1 27 36 30 13 10 9 14 18 2 6 7 18 28 3 13 19 10 9 20 25 25 36 6 5 15 25 9 8 18 13 14 3 23 6 26 16 11 7 41 35 26 9 15 3
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
141 142 143 144
Skripsi
15 22 18 26
19 22 24 27
10 1 10 2 10 22 10 27
145 146 147 148
25 22 25 19
24 27 21 21
10 10 10 10
20 11 12 10
Lampiran 9 - 2
149 150
20 18
26 10 9 18 10 17
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 10 - 1
Lampiran 10: Data P10 Depot : 1 Vehicle : 42 Customer : 199 Total jarak max : 200 Kapasitas max : 200 i 0 1 2 3 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
Skripsi
x 35 22 36 21 45 55 33 50 55 26 40 55 35 62 62 62 21 33 9 62 66 44 26 11 7 17 41 55 35 52 43 31 22 26 50 55 54 60 47 30 30 12 15 16 21 50
y 35 22 26 45 35 20 34 50 45 59 66 65 51 35 57 24 36 44 56 48 14 13 13 28 43 64 46 34 16 26 26 76 53 29 40 50 10 15 66 60 50 17 14 19 48 30
d 0 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
q 0 18 26 11 30 21 19 15 16 29 26 37 16 12 31 8 19 20 13 15 22 28 12 6 27 14 18 17 29 13 22 25 28 27 19 10 12 14 24 16 33 15 11 18 17 21
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
51 50 48 12 37 49 52 20 40 21 17 31 52 51 42 31 5 12 36 52 27 17 13 57 62 42 16 8 7 27 30 43 58 58 37 38 46 61 62 63 32 45 59 5 10 21
42 15 21 38 52 49 64 26 30 47 63 62 33 21 41 32 25 42 16 41 23 33 13 58 42 57 57 52 38 68 48 67 48 27 69 46 10 33 63 69 22 35 15 6 17 10
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
27 19 20 5 7 30 16 9 21 15 19 23 11 5 19 29 23 21 10 15 3 41 9 28 8 8 16 10 28 7 15 14 6 19 11 12 23 26 17 6 9 15 14 7 27 13
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
5 30 39 32 25 25 48 56 41 35 55 55 15 25 20 10 55 30 20 50 30 15 30 10 5 20 15 45 45 45 55 65 65 45 35 41 64 40 31 35 53 65 63 2 20 5
64 15 10 39 32 55 28 37 49 17 45 20 30 30 50 43 60 60 65 35 25 10 5 20 30 40 60 65 20 10 5 35 20 30 40 37 42 60 52 69 52 55 65 60 20 5
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
11 16 10 5 25 17 18 10 10 7 13 19 26 3 5 9 16 16 12 19 23 20 8 19 2 12 17 9 11 18 29 3 6 17 16 16 9 21 27 23 11 14 8 5 8 16
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
Skripsi
60 40 42 24 23 11 6 2 8 13 6 47 49 27 37 57 63 53 32 36 21
12 25 7 12 3 14 38 48 56 52 68 47 58 43 31 29 23 12 12 26 24
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
31 9 5 5 7 18 16 1 27 36 30 13 10 9 14 18 2 6 7 18 28
159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
17 12 24 27 15 62 49 67 56 37 37 57 47 44 46 49 49 53 61 57 56
34 24 58 69 77 77 73 5 39 47 56 68 16 17 13 11 42 43 52 48 37
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
3 13 19 10 9 20 25 25 36 6 5 15 25 9 8 18 13 14 3 23 6
Lampiran 10 - 2
180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199
55 15 14 11 16 4 28 26 26 31 15 22 18 26 25 22 25 19 20 18
54 47 37 31 22 18 18 52 35 67 19 22 24 27 24 27 21 21 26 18
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
26 16 11 7 41 35 26 9 15 3 1 2 22 27 20 11 12 10 9 17
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 11 - 1
Lampiran 11: Data P11 Depot : 1 Vehicle : 8 Customer : 120 Total jarak max : 0 Kapasitas max : 200 i 0 1 2 3 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 31 32 33 34 35 36 37 38 39 40
Skripsi
x 10 25 25 31 32 31 32 34 46 35 34 35 47 40 39 36 73 73 24 76 76 76 78 78 79 79 79 82 82 90 84 84 84 85 87 85 87 86 86 86 85
y 45 1 3 5 5 7 9 9 9 7 6 5 6 5 3 3 6 8 36 6 10 13 3 9 3 5 11 3 7 15 3 5 9 1 5 8 7 41 44 46 55
d 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
q 0 25 7 13 6 14 5 11 19 5 15 15 17 13 12 18 13 18 12 17 4 7 12 13 8 16 15 6 5 9 11 10 3 7 2 4 4 18 14 12 17
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
89 89 89 92 92 94 94 94 96 99 99 83 83 85 85 85 87 87 90 90 93 93 93 94 95 99 37 50 35 35 44 46 46 46 46 48 50 50 54 54 10
43 46 52 42 52 42 44 48 42 46 50 80 83 81 85 89 80 86 77 88 82 84 89 86 80 89 83 80 85 87 86 89 83 87 89 83 85 88 86 90 35
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20 14 16 10 9 11 7 13 5 4 21 13 11 12 14 10 8 16 19 5 17 7 16 14 17 13 17 13 14 16 7 13 9 11 35 5 28 7 3 10 7
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
10 18 17 16 14 15 11 18 21 20 18 20 22 16 20 25 30 20 22 18 16 20 18 14 15 16 28 33 30 13 15 18 25 30 25 16 25 5 5
40 30 35 38 40 42 42 40 39 40 41 44 44 45 45 45 55 50 51 49 48 55 53 50 51 54 33 38 50 40 36 31 37 46 52 33 35 40 50
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12 11 10 8 11 21 4 15 16 4 16 7 10 9 11 17 12 11 7 9 11 12 7 8 6 5 12 13 7 7 8 11 13 11 10 7 4 20 13
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 12 - 1
Lampiran 12: Data P12 Depot : 1 Vehicle : 12 Customer : 100 Total jarak max : 0 Kapasitas max : 200 i 0 1 2 3 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 31 32 33
Skripsi
x 40 45 45 42 42 42 40 40 38 38 35 35 25 22 22 20 20 18 15 15 30 30 28 28 25 25 25 23 23 20 20 10 10 8
y 50 68 70 66 68 65 69 66 68 70 66 69 85 75 85 80 85 75 75 80 50 52 52 55 50 52 55 52 55 50 55 35 40 40
d 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
q 0 10 30 10 10 10 20 20 20 10 10 10 20 30 10 40 40 20 20 10 10 20 20 10 10 40 10 10 20 10 10 20 30 40
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
8 5 5 2 0 0 35 35 33 33 32 30 30 30 28 28 26 25 25 44 42 42 40 40 38 38 35 50 50 50 48 48 47 47
45 35 45 40 40 45 30 32 32 35 30 30 32 35 30 35 32 30 35 5 10 15 5 15 5 15 5 30 35 40 30 40 35 40
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20 10 10 20 30 20 10 10 20 10 10 10 30 10 10 10 10 10 10 20 40 10 30 40 30 10 20 10 20 50 10 10 10 10
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
45 45 95 95 53 92 53 45 90 88 88 87 85 85 75 72 70 68 66 65 65 63 60 60 67 65 65 62 60 60 58 55 55
30 35 30 35 30 30 35 65 35 30 35 30 25 35 55 55 58 60 55 55 60 58 55 60 85 85 82 80 80 85 75 80 85
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 10 30 20 10 10 50 20 10 10 20 10 10 30 20 10 20 30 10 20 30 10 10 10 20 40 10 30 10 30 20 10 20
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 13 - 1
Lampiran 13: Data P13 Depot : 1 Vehicle : 18 Customer : 120 Total jarak max : 720 Kapasitas max : 200 i 0 1 2 3 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 31 32 33 34 35 36 37 38 39 40
Skripsi
x 10 25 25 31 32 31 32 34 46 35 34 35 47 40 39 36 73 73 24 76 76 76 78 78 79 79 79 82 82 90 84 84 84 85 87 85 87 86 86 86 85
y 45 1 3 5 5 7 9 9 9 7 6 5 6 5 3 3 6 8 36 6 10 13 3 9 3 5 11 3 7 15 3 5 9 1 5 8 7 41 44 46 55
d 0 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
q 0 25 7 13 6 14 5 11 19 5 15 15 17 13 12 18 13 18 12 17 4 7 12 13 8 16 15 6 5 9 11 10 3 7 2 4 4 18 14 12 17
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
89 89 89 92 92 94 94 94 96 99 99 83 83 85 85 85 87 87 90 90 93 93 93 94 95 99 37 50 35 35 44 46 46 46 46 48 50 50 54 54 10
43 46 52 42 52 42 44 48 42 46 50 80 83 81 85 89 80 86 77 88 82 84 89 86 80 89 83 80 85 87 86 89 83 87 89 83 85 88 86 90 35
50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
20 14 16 10 9 11 7 13 5 4 21 13 11 12 14 10 8 16 19 5 17 7 16 14 17 13 17 13 14 16 7 13 9 11 35 5 28 7 3 10 7
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
10 18 17 16 14 15 11 18 21 20 18 20 22 16 20 25 30 20 22 18 16 20 18 14 15 16 28 33 30 13 15 18 25 30 25 16 25 5 5
40 30 35 38 40 42 42 40 39 40 41 44 44 45 45 45 55 50 51 49 48 55 53 50 51 54 33 38 50 40 36 31 37 46 52 33 35 40 50
50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
12 11 10 8 11 21 4 15 16 4 16 7 10 9 11 17 12 11 7 9 11 12 7 8 6 5 12 13 7 7 8 11 13 11 10 7 4 20 13
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 14 - 1
Lampiran 14: Data P14 Depot : 1 Vehicle : 15 Customer : 100 Total jarak max : 1040 Kapasitas max : 200 i 0 1 2 3 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
Skripsi
x 40 45 45 42 42 42 40 40 38 38 35 35 25 22 22 20 20 18 15 15 30 30 28 28 25 25 25 23 23 20 20 10 10 8 8 5 5 2 0 0 35 35 33 33 32 30 30
y 50 68 70 66 68 65 69 66 68 70 66 69 85 75 85 80 85 75 75 80 50 52 52 55 50 52 55 52 55 50 55 35 40 40 45 35 45 40 40 45 30 32 32 35 30 30 32
d 0 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
q 0 10 30 10 10 10 20 20 20 10 10 10 20 30 10 40 40 20 20 10 10 20 20 10 10 40 10 10 20 10 10 20 30 40 20 10 10 20 30 20 10 10 20 10 10 10 30
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
30 28 28 26 25 25 44 42 42 40 40 38 38 35 50 50 50 48 48 47 47 45 45 95 95 53 92 53 45 90 88 88 87 85 85 75 72 70 68 66 65 65 63 60 60 67 65
35 30 35 32 30 35 5 10 15 5 15 5 15 5 30 35 40 30 40 35 40 30 35 30 35 30 30 35 65 35 30 35 30 25 35 55 55 58 60 55 55 60 58 55 60 85 85
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
10 10 10 10 10 10 20 40 10 30 40 30 10 20 10 20 50 10 10 10 10 10 10 30 20 10 10 50 20 10 10 20 10 10 30 20 10 20 30 10 20 30 10 10 10 20 40
94 95 96 97 98 99 100
65 62 60 60 58 55 55
82 80 80 85 75 80 85
90 90 90 90 90 90 90
10 30 10 30 20 10 20
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
solusiVRP = new LinkedList(); 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.
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 ");
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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); } });
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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) {
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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()
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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)))
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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)))
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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,
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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)
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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,
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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(); }// 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: }
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 15 - 13
System.out.println("======== ITERASI KE- "+i+" ============="); System.out.println("========================================\n"); //tampilArray(mPheromone); //menampilkan update pheromone LinkedList 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 y = mutation(x, pm); double[] before = getSumDistance(x), after = getSumDistance(y); LinkedList bestOnIt = new LinkedList(); 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()]);
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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);
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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{
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 jTextField2.setText(""+(nCity-1)); absTabJarak=new Object[nCity][nCity+1]; absTabDemand = new Object[1][nCity];
yang terisi
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 15 - 19
JTable tabDemand = new JTable(absTabDemand,nmKlmDemand); tabDemand.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); tabDemand.setEnabled(false); jScrollPane2.setViewportView(tabDemand); } private LinkedList ruteConstruction(){ LinkedList solusi; LinkedList availableCity ; int cek=0; // membatasi banyaknya ruteconts do{ solusi = new LinkedList(); // solusi merupakan list yang isinya linkedlist ant (be double link list) LinkedList ant; // membuat variable kota2 yang masih tersedia (belum terpilih) availableCity = new LinkedList(); for(int i=0;i(); 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;
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 kota){ // kota disini adalah kota yang belum ada pada tabuList double sigma = 0; int nKota = kota.size(); for(int i=0;i avCity, int kotaAwal){ int kotaTujuan; int nKota = avCity.size(); LinkedList listPIJK = new LinkedList(); double pijk;
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 15 - 21
for(int i=0;i 0){ for(int i=0;i=(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 mJarak[kotaTujuan][0]+serviceDuration){ W -= demand[kotaTujuan]; break; }else{ kotaTujuan = 0; listPIJK.set(i, -1.0);
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 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 list){ int n = list.size(); double[] all = new double[n]; for(int i=0;i vecList = (LinkedList) list.get(i); all[i] = getDemandAnt(vecList); } return all; } private double getDemandAnt(LinkedList 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){ int n = list.size(); double[] all = new double[n]; for(int i=0;i vecList = (LinkedList) list.get(i); all[i] = getJarakAnt(vecList); } return all; } private double getJarakAnt(LinkedList 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 mutation(LinkedList list, double pm){ LinkedList mut = new LinkedList(); int n = list.size(); if(n<2){ // jika pada list hanya ada semut < 2, maka akan menghasilkan null return mut = null;
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 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 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 semut1 = (LinkedList) mut.get(indSemutMut1); LinkedList semut2 = (LinkedList) mut.get(indSemutMut2); LinkedList semutLS1 = (LinkedList) mut.get(indSemut1); LinkedList semutLS2 = (LinkedList) mut.get(indSemut2);
< pm < pm maka maka
Skripsi
/* ================ proses mutasi ==================== * indexSemut1 adalah kota yang terpilih pada semut1 yang ataupun yang terkecil * indexSemut2 adalah kota yang terpilih pada semut2 yang ataupun yang terkecil */ int indexSemut1 = getIndexSubList(semut1, pm); // jika < 0 idiom dg null (berarti tidak ada yang kurank dari pm) int indexSemut2 = getIndexSubList(semut2, pm); // jika < 0 idiom dg null (berarti tidak ada yang kurank dari pm) int indexSemutLS1 = getIndexSubList(semutLS1, pm); int indexSemutLS2 = getIndexSubList(semutLS2, pm);
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 "+indSemut1+") adalah customer urutan System.out.println("Index "+indSemut2+") adalah customer urutan
semut 1 (rute keke- "+(indexSemut1+1)); semut 2 (rute keke- "+(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();
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 15 - 27
indexSemut1 = r.nextInt(semutLS1.size()); indexSemut2 = r.nextInt(semutLS2.size()); System.out.println("=====>>> LOCAL SEARCH <<<====="); System.out.println("Index "+indSemut1+") adalah customer urutan keSystem.out.println("Index "+indSemut2+") adalah customer urutan ke-
semut 1 (rute ke"+(indexSemut1+1)); semut 2 (rute 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 locSrc1 = localSearch(semut1, indexSemut1); LinkedList 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 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;
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 15 - 28
for(int i=0;i localSearch(LinkedList list, int indPos){ // metode local search pada metode LinkedList hasil = new LinkedList(); LinkedList temp = new LinkedList(); 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 "+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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 15 - 29
double[] distanceRute = getSumDistance(solusiVRP); for(int i=0;i ant = (LinkedList) 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 copyListAnt(LinkedList src){ LinkedList dest = new LinkedList(); int n = src.size(); for(int i=0;i source, LinkedList destination){ int n = source.size(); for(int i=0;i tempSrc = new LinkedList(); 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";
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 15 - 30
return hasil; } for(int i=0;i list){ boolean hasil = true; int n = list.size(); if (E>0){ for(int i=0;i E){ return hasil = false; }
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 15 - 31
} }else{ return hasil = true; } return hasil; } private boolean isTrueDemand(LinkedList list){ boolean hasil = true; int n = list.size(); for(int i=0;i W){ return hasil = false; } } return hasil; } // methode show list n all of array private void tampilList(LinkedList list){ // tampil solusi int n = list.size(); double[] dist = getSumDistance(list); for(int i=0;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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 solusi = new LinkedList(); 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);
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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(); }// /** * @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> "; 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";
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 15 - 34
} output += "\n======= Total Jarak = "+(dist[solusi.size()]servDur*sumKota); output += "\n\nWaktu Eksekusi = "+exDur+" detik"; } }
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 =============
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 ==========
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
=>
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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 224.05009541094032, dengan Rute ke-1>> 0 36 47 46 48 228.85136177928848, dengan Rute ke-2>> 0 97 96 91 42 228.32864854825488, dengan
Skripsi
========== 25 39 2 6 0 => Jarak = Demand = 106.0 86 59 37 92 0 => Jarak = Demand = 142.0 61 99 40 12 89 0 => Jarak = Demand = 94.0
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Rute ke- 20 >> 0 90 87 149 63 13 67 95 58 0 198.5599351192529, dengan Demand = 99.0 Rute ke- 21 >> 0 97 7 26 99 86 132 68 0 => 199.53011868019837, dengan Demand = 116.0 ======= Total Jarak = 2724.0227544796026
Lampiran 24 - 2
=>
Jarak =
Jarak =
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 25 - 8
Rute ke-31>> 0 8 27 0 => Jarak = 73.38566416949868, dengan Demand = 33.0 ======= TOTAL JARAK SEMUA RUTE = 3974.6523758559797
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
=>
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
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
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem
ADLN Perpustakaan Universitas Airlangga
Lampiran 30 - 1
Lampiran 30 : Output Program 1.) Form input parameter
2.) Form solusi
Skripsi
Muhammad Harun Ar Rosyid Algoritma Improved Ant Colony Optimization (IACO) untuk Menyelesaikan Vehicle Routing Problem