ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING

  

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 ii ALGORITMA IMPROVED ANT COLONY OPTIMIZATION (IACO) UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM SKRIPSI Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Sains Bidang Matematika Pada Fakultas Sains dan Teknologi Universitas Airlangga Disetujui Oleh : Pembimbing I Dr. Herry Suprajitno, M.Si NIP. 19680404 199403 1 020 Pembimbing II Dr. Miswanto, M.Si NIP. 19680204 199303 1 002

  

ADLN Perpustakaan Universitas Airlangga

  

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 Dr. Miswanto, M.Si NIP. 19680404 199403 1 020 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

  

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

  

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

  

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 vii

  Penulis menyadari bahwa skripsi ini masih banyak terdapat kekurangan. Oleh karena itu, penulis mengharapkan kritik dan saran yang membangun agar skripsi ini dapat lebih baik lagi.

  Surabaya, Juli 2012 Penyusun Muhammad Harun Ar Rosyid

  

ADLN Perpustakaan Universitas Airlangga

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

  

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

  

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

  

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

  

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

  xii DAFTAR GAMBAR

  29

  7

  14

  20

  26

  27

  28

  28

  30

  Prosedur cek konstrain Prosedur pembentukan rute Prosedur cek nilai_randomPm(t) Prosedur Pm(t)

  30

  31

  33

  34

  34

  35

  36

  Prosedur mutasi Prosedur local search Prosedur update pheromone

  Prosedur pengisian parameter Prosedur pengisian data pelanggan Prosedur konstruksi rute Prosedur hitung nilai P ij (k)

  Gambar Judul Halaman

  4.4

  2.1

  2.2

  2.3

  3.1

  4.1

  4.2

  4.3

  4.5

  Flowchart dari algoritma IACO Prosedur algoritma IACO Prosedur inisialisasi

  4.6

  4.7

  4.8

  4.9

  4.10

  4.11

  4.12

  4.13 Contoh penyelesaian VRP dengan 3 rute Percobaan yang dilakukan Goss et al. (1989) Contoh metode 2-opt

  37 ADLN Perpustakaan Universitas Airlangga

  

ADLN Perpustakaan Universitas Airlangga

DAFTAR TABEL

  Tabel Judul Halaman

  2.1 Parameter yang digunakan pada model matematis dasar

  9 VRP

  2.2 Indeks yang digunakan pada model matematis VRP

  9

  4.1 Permasalahan VRP (Beasley, 1990)

  38

  4.2 Total jarak semua rute dengan pembanding alpha

  73

  4.3 Total jarak semua rute dengan pembanding beta

  73

  4.4 Total jarak semua rute dengan pembanding rho

  74

  4.5 Total jarak semua rute dengan pembanding konstanta Q

  74 xiii xiv DAFTAR LAMPIRAN No.

  Judul Lampiran

  17.

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

  29.

  28.

  27.

  26.

  25.

  24.

  23.

  22.

  21.

  20.

  19.

  18.

  16.

  1. Data Permasalahan P01

  15.

  14.

  13.

  12.

  11.

  10.

  9.

  8.

  7.

  6.

  5.

  3. Data Permasalahan P03 4.

  2. Data Permasalahan P02

  

ADLN Perpustakaan Universitas Airlangga

  

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

  

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 (food- seeking) oleh koloni semut yang terjadi di alam. Hal ini membuat pengkodean ACO untuk VRP cukup sederhana. Pada studi yang dilakukan oleh Bullnheimer et al.

   (1997) menunjukkan sebuah algoritma hybrid ant system dengan menggunakan prosedur local search 2-opt exchange dan algoritma saving untuk

  VRP yang mampu memperbaiki kualitas dari solusi awal yang diperoleh dari algoritma semut. Dalam ACO, 2-opt exchange digunakan untuk memperbaiki

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

  Pada skripsi ini akan dibahas masalah vehicle routing yang bertujuan menentukan rute yang optimal untuk sejumlah kendaraan yang akan beroperasi mendistribusikan barang ke sejumlah pelanggan. Rute yang terbentuk diharapkan menghasilkan total jarak yang minimum sehingga akan menghemat biaya transportasi untuk pendistribusian barang. Dari uraian di atas, penulis tertarik untuk menyelesaikan masalah vehicle routing dengan menggunakan algoritma improved ant colony optimization, yaitu algoritma yang dibentuk dengan menambahkan proses mutasi dan local search sebelum proses update pheromone ke dalam algoritma ACO. Dengan adanya proses mutasi dan local search,

  3 algoritma IACO mempunyai kelebihan, yaitu mampu menemukan solusi optimal dari solusi awal yang terbentuk pada proses konstruksi rute.

1.2 Rumusan Masalah

  Berdasarkan uraian latar belakang di atas, maka permasalahan yang akan dibahas dalam skripsi ini adalah:

  1. Bagaimana menyelesaikan vehicle routing problem (VRP) dengan menggunakan algoritma Improved Ant Colony Optimization (IACO) ?

  2. Bagaimana membuat program komputer untuk menyelesaikan VRP dengan algoritma IACO ?

3. Bagaimana menerapkan program ke dalam contoh kasus ?

1.3 Tujuan

  Dalam penulisan skripsi ini, penulis mempunyai tujuan sebagai berikut:

  1. Menyelesaikan vehicle routing problem (VRP) dengan menggunakan algoritma Improved Ant Colony Optimization (IACO)

  2. Membuat program komputer untuk menyelesaikan VRP dengan algoritma

  IACO

  3. Menerapkan program ke dalam contoh kasus

1.4 Manfaat

  Adapun manfaat yang nantinya akan didapatkan adalah sebagai berikut:

ADLN Perpustakaan Universitas Airlangga

  

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.

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 i

v dan elemen dari E(G) dinotasikan dengan

j i v v dan kadang dinotasikan dengan i e . Jika terdapat garis e yang menghubungkan titik i v dan j v maka i v dikatakan terhubung (adjacent) dengan j v dalam hal ini titik i v dan j v dikatakan insiden dengan e .

  

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

dinotasikan |V(G)|.

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

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

W : v , e

  1 , v

  1 , e

  2 , v

  

2

, …, v n-1

  , e n

  , v n

  , (n ≥ 0)

ADLN Perpustakaan Universitas Airlangga

  

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 v , v , …, v , n ≥ 3, dengan v = v , dan 1 n n titik-titik v 1 , v 2 , …, v n semuanya berbeda. Dengan kata lain sikel adalah path tertutup. Sikel dengan panjang n mempunyai n titik.

  Definisi 2.6 Misalkan u dan v titik-titik dalam graph G, u dikatakan terhubung (connected) pada v jika terdapat path u-v.

  Definisi 2.7 Graph G dikatakan terhubung (connected) jika setiap dua titiknya dihubungkan oleh suatu path.

  Definisi 2.8 Graph lengkap (complete graph) adalah suatu graph dengan order p dimana setiap dua titik yang berbeda selalu adjacent.

2.2 Vehicle Routing Problem (VRP)

  Vehicle routing problem berkaitan dengan penentuan rute optimal untuk permasalahan lebih dari satu kendaraan (vehicle) dengan kapasitas tertentu untuk mengunjungi sejumlah pelanggan dengan permintaannya masing-masing. Rute yang terbentuk harus dimulai dan diakhiri di suatu tempat yang disebut depot. Setiap pelanggan dikunjungi hanya satu kali dan total permintaan semua pelanggan dalam satu rute tidak melebihi kapasitas kendaraan yang melayani rute tersebut. Contoh penyelesaian VRP diberikan pada Gambar 2.1.

  

ADLN Perpustakaan Universitas Airlangga

  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 q . i

  Tujuan dari VRP adalah menentukan rute yang optimal untu`k sejumlah kendaraan maka VRP dapat dimodelkan dalam bentuk sebagai berikut (Toth dan Vigo, 2002): n n

  ∑ ∑ ∑

   1

  

ADLN Perpustakaan Universitas Airlangga

8 dengan kendala:

  1. Setiap pelanggan hanya dikunjungi satu kali: ∑ ∑ 1 1,2,…,

  

   1

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

  ∑ ∑ 0,1,…,

  3. Terdapat K kendaraan yang beroperasi yang berawal dari depot: 1 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,…, dengan:

  1, n n n n (2.7) { n

  

ADLN Perpustakaan Universitas Airlangga

  9 Tabel 2.1 Parameter yang digunakan pada model matematis dasar VRP Notasi Keterangan x ijk Kendaraan k melayani kota j setelah mengunjungi kota i d ij Jarak antara kota i dengan kota j q i Permintaan dari kota i W Kapasitas maksimum dari kendaraan E Jarak tempuh maksimum kendaraan

Tabel 2.2 Indeks yang digunakan pada model matematis VRP Notasi Keterangan

  i Indeks kota awal j Indeks kota tujuan k Indeks kendaraan

2.2.1 Jenis-jenis Vehicle Routing Problem

  Dalam penggunaan VRP untuk dunia nyata, banyak faktor sampingan yang muncul. Faktor-faktor tersebut berpengaruh pada munculnya variasi dari VRP, antara lain:

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

  

ADLN Perpustakaan Universitas Airlangga

  10 CVRP adalah sebuah VRP dimana sejumlah kendaraan dengan kapasitas tertentu yang harus melayani sejumlah permintaan pelanggan yang telah diketahui untuk satu komoditas dari sebuah depot dengan biaya minimum. Pada dasarnya CVRP sama seperti VRP dengan faktor tambahan yaitu setiap kendaraan mempunyai kapasitas tertentu untuk satu komoditas. CVRP bertujuan meminimalisasi jumlah kendaraan dan total waktu perjalanan, dan total permintaan barang untuk tiap rute tidak

melebihi kapasitas kendaraan yang melewati rute tersebut.

  2. VRP with Time Windows (VRPTW), dengan faktor: Setiap pelanggan harus disuplai dalam jangka waktu tertentu.

  3. Mulitple Depot VRP (MDVRP), dengan faktor: Distributor memiliki banyak depot untuk menyuplai pelanggan.

  Sebuah perusahaan yang memiliki lebih dari satu depot, dan pelanggan- pelanggannya tersebar di sekitar depot-depot yang ada, maka masalah pendistribusiannya harus dimodelkan menjadi sebuah kumpulan dari

  VRP-VRP yang independen. Namun, jika pelanggan dan depot-depot tidak terkumpul secara teratur maka masalahnya menjadi Multi-Depot

  VRP atau MDVRP. Sebuah MDVRP membutuhkan pengaturan para pelanggan ke depot-depot yang ada. Setiap kendaraan berangkat dari satu depot melayani pelanggan-pelanggan yang sudah ditentukan oleh depot tersebut, dan kembali lagi ke depot tersebut. Tujuan utama dari MDVRP

  

ADLN Perpustakaan Universitas Airlangga

11 adalah untuk melayani semua pelanggan, sementara jumlah kendaraan dan jarak perjalanan diminimalisasi.

  4. VRP with Pick-Up and Delivering (VRPPD), dengan faktor: Pelanggan mungkin mengembalikan barang pada depot asal.

  VRPPD adalah sebuah VRP dimana pelanggan mengembalikan barang yang sudah diantarkan. Barang yang dikembalikan dapat dimasukkan ke dalam kendaraan pengantar. Perencanaan pengantaran menjadi lebih sulit dan dapat mengakibatkan penyalahgunaan kapasitas kendaraan, memperbesar jarak perjalanan atau kendaraan yang diperlukan lebih dari yang seharusnya. Seluruh permintaan pengantaran dimulai dari depot dan seluruh permintaan penjemputan dibawa kembali ke depot, sehingga tidak ada pertukaran barang antar pelanggan.

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

  SDVRP adalah perluasan VRP dimana setiap pelanggan dapat dilayani dengan kendaraan yang berbeda bilamana biayanya dapat dikurangi.

  Perluasan ini dapat dilaksanakan jika jumlah permintaan pelanggan sama dengan kapasitas kendaraan. Tujuan dari SDVRP untuk meminimalisasikan jumlah kendaraan dan total waktu perjalanan untuk pelayanan.

  

ADLN Perpustakaan Universitas Airlangga

  12

  6. Stochastic VRP (SVRP), dengan faktor: Munculnya random values (seperti jumlah pelanggan, jumlah permintaan, waktu pelayanan atau waktu perjalanan). Untuk mendapatkan solusi dari SDVRP, maka masalah harus dibagi dalam dua tahap, solusi pada tahap pertama ditentukan sebelum variable random diketahui. Pada tahap kedua pengoreksian dilakukan jika nilai dari variable random sudah diketahui.

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

  PVRP merupakan VRP yang digeneralisasi dengan memperluas rentang perencanaan pengiriman menjadi M hari, dari semula hanya dalam rentang sehari, dengan tujuan meminimalisasi jumlah kendaraan dan total waktu perjalanan untuk melayani tiap pelanggan.

  (Tarigan, 2008)

2.3 Algoritma Penjelasan mengenai algoritma akan dijelaskan pada definisi berikut.

  Definisi 2.9 Algortima merupakan suatu himpunan aturan atau instruksi yang telah dirumuskan dengan baik (well – defined) dengan masukan khusus (spesific input) untuk memperoleh keluaran khusus (spesific output) dalam langkah – langkah yang jumlahnya berhingga.

  (Chartrand dan Oellerman, 1993)

  

ADLN Perpustakaan Universitas Airlangga

  13

  2.4 Optimisasi Optimisasi adalah suatu proses untuk mencapai hasil yang optimal (nilai efektif yang dapat dicapai). Dalam disiplin matematika optimisasi merujuk pada studi permasalahan yang mencoba untuk mencari nilai minimal atau maksimal dari suatu fungsi riil. Untuk dapat mencapai nilai optimal baik minimal atau maksimal tersebut, secara sistematis dilakukan pemilihan nilai variabel integer atau riil yang akan memberikan solusi optimal.

  (Wardy, 2007)

  2.5 Algoritma Ant Colony Optimization (ACO) Pada tahun 1989, Goss et al. membuat percobaan dengan menggunakan spesies semut Iridomyrmex Humilis (semut Argentina). Percobaan itu untuk menunjukkan kemampuan kerjasama semut mendapatkan jalan terpendek menuju sumber makanan dengan bantuan pheromone yaitu zat kimia yang berasal dari kelenjar endokrin dan digunakan makhluk hidup untuk mengenali sesama jenis dalam satu spesies. Percobaan tersebut seperti terlihat pada Gambar 2.2.

  Pada Gambar 2.2, semut 1 dan semut 2 meninggalkan sarang pada waktu yang sama. Semut-semut tersebut sampai pada titik pilihan 1 bersama-sama dan membuat keputusan dengan probabilitas yang sama untuk memilih cabang. Semut 1 memilih cabang yang lebih pendek dan mencapai sumber makanan lebih dulu (melalui titik A), mengambil makanan dan kembali lagi ke sarang. Ketika kembali pada titik pilihan 2, semut tersebut mendeteksi pheromone pada cabang yang lebih pendek (pheromone yang ditaruh oleh semut 1 itu sendiri pada saat perjalanan menuju sumber makanan) dan dengan probabilitas yang tinggi untuk memilih

  

ADLN Perpustakaan Universitas Airlangga

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 Sarang makanan

  Titik B Semut 1

  Semut 2

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

  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 (d ij ), jumlah semut atau kendaraan, jumlah node atau pelanggan, jumlah siklus atau iterasi, dan kostanta Q (Q > 0).

2. Menempatkan sejumlah ant pada node awal

  3. Mengisi tabu list dengan cara menghitung nilai probabilitas dari node awal ke node yang akan dikunjungi. Tabu list adalah tempat yang disediakan untuk penyiimpanan sementara dari solusi – solusi yang dihasilkan pada tiap iterasi. Persamaan untuk menentukan nilai probabilitas sebagai berikut:

  ( ) [ ] [

  1 ] ∑

  [ ] [

  1 ] n

  (2.8)

ADLN Perpustakaan Universitas Airlangga

  

ADLN Perpustakaan Universitas Airlangga

16 keterangan: p (t) = probabilitas dari node i ke node j disaat t ij 4. Menghitung panjang perjalanan.

  Setelah semua semut menyelesaikan satu siklus selanjutnya dihitung panjang perjalanan. Indeks s menyatakan indeks urutan perjalanan, node asal dinyatakan tabu k (s) dan node – node lainnya dinyatakan sebagai {N- tabu }. Menghitung panjang perjalanan dengan rumusan sebagai berikut: k n - 1

  ∑ (2.9) n

   1

   1

   1

5. Perbaruhi matrik pheromone

  ( 1 ) ( ) ∑ (2.10)

   1 adalah perubahan harga pheromone antar node setiap semut dengan yang dihitung berdasarkan persamaan

  ( , )

t n a a tab

(2.11)

  { 0, t

  ( , ) a a

  6. Apabila siklus maksimum atau kondisi stagnan belum terpenuhi, maka kosongkan tabu list dan kembali ke langkah 2. Apabila siklus maksimum atau kondisi stagnan telah terpenuhi maka iterasi berakhir. Kondisi stagnan yaitu kondisi semua ant melakukan tour yang sama.

  (Dorigo et al., 1996)

2.6 Algoritma Improved Ant Colony Optimization

  Dalam jurnal karya Bin et al. (2008) dijelaskan bahwa algoritma IACO adalah algoritma ACO yang telah dimodifikasi dengan menyertakan proses mutasi dan local search sebelum proses update pheromone.

  

ADLN Perpustakaan Universitas Airlangga

  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)

  { ∑ dengan ( ) adalah probabilitas semut k memilih pelanggan (kota) j setelah mengunjungi pelanggan (kota) i pada sebuah rute ke-k, adalah feromon jarak pelanggan i ke pelanggan j, adalah visibilitas dari jarak pelanggan i ke

  1 pelanggan j dan nilai diperoleh dari dimana d ij adalah jarak pelanggan i ke pelanggan j, dan adalah masing-masing pengendali intensitas jejak semut dan pengendali visibilitas jarak pelanggan i ke pelanggan j (α ≥ 0, β ≥ 0) , dan adalah himpunan dari pelanggan-pelanggan yang tidak boleh dipilih oleh semut k.

  (Bin et al., 2008)

  2.6.2 Mutasi Dalam algoritma genetik, definisi tentang mutasi adalah sebagai berikut.

  

ADLN Perpustakaan Universitas Airlangga

  18 Definisi 2.10 Mutasi merupakan proses perubahan sebagian sifat individu secara random yang menghasilkan struktur genetik baru.

  (Obitko, 1998)

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

  a. Mutasi Inversi (inversion Mutation) Memilih dua posisi dalam kromosom secara acak dan kemudian membalik untaian diantara dua posisi itu.

b. Mutasi Sisipan (Insertion Mutation) Memilih gen secara acak dan menyisipkannya di posisi acak.

  c. Mutasi perpindahan (Displacement Mutation) Memilih sebuah subtour secara acak dan memasukkannya pada posisi lain secara acak.

  d. Reciprocal Exchange Mutation Memilih dua posisi gen secara acak kemudian menukar gen pada kedua posisi tersebut. Pada algoritma IACO, proses mutasi yang digunakan adalah reciprocal exchange mutation. Berikut adalah langkah-langkah dari proses reciprocal exchange mutation menurut Bin et al. (2008):