• Tidak ada hasil yang ditemukan

Penerapan Pigeon Inspired Optimization Untuk Menyelesaikan Capacitated Vehicle Routing Problem

N/A
N/A
Protected

Academic year: 2021

Membagikan "Penerapan Pigeon Inspired Optimization Untuk Menyelesaikan Capacitated Vehicle Routing Problem"

Copied!
13
0
0

Teks penuh

(1)

Penerapan Pigeon Inspired Optimization Untuk Menyelesaikan Capacitated

Vehicle Routing Problem

Felix Arya Gunadi1, Cynthia Prithadevi Juwono, Ir., M.S.2, Hanky Fransiscus, S.T., M.T.3 1,2) Fakultas Teknologi Industri, Jurusan Teknik Industri, Universitas Katolik Parahyangan

Jl. Ciumbuleuit 94, Bandung 40141

Email: [email protected], [email protected], [email protected]

Abstrak

Capacitated Vehicle Routing Problem (CVRP) merupakan suatu permasalahan untuk menentukan rute pengiriman dari satu depot dengan menggunakan beberapa kendaraan yang berada pada depot yang dapat digunakan untuk mengirimkan barang menuju ke pelanggan. CVRP menentukan set rute S (satu rute untuk setiap kendaraan yang harus dimulai dan diakhiri di depot) sehingga seluruh kebutuhan pelanggan dan batasan operasional dapat dipenuhi dengan jarak transportasi minimal. Masalah CVRP adalah variasi dari VRP dimana pada CVRP terdapat tambahan batasan kapasitas kendaraan.

Pada Penelitian ini CVRP akan diselesaikan dengan menggunakan algoritma Pigeon Inspired

Optimization (PIO). Algoritma ini adalah algoritma swarm intelligence yang terinspirasi dari kemampuan burung merpati yang dapat mencari jalan pulang sendiri (homing ability). Terdapat dua kemampuan merpati yang digunakan sebagai inspirasi dalam algoritma ini yaitu map and compass operator dan landmark operator. Terdapat 4 parameter yang digunakan pada algoritma ini yaitu NP, Nc1max, Nc2max, dan R.

Pernacangan algoritma PIO untuk menyelesaikan CVRP telah dilakukan dan algoritma PIO telah diimplementasikan pada 6 kasus benchmark CVRP. Performansi PIO akan dibandingkan dengan Artificial Bee

Colony (ABC), Genetic Algorithm (GA), dan Dragonfly Algorithm (DA). Algoritma PIO berhasil mendapatkan solusi optimal pada kasus dengan 15 pelanggan, namun untuk kasus lain algoritma ABC dan GA menghasilkan solusi yang lebih baik dari PIO. Pengujian parameter telah dilakukan dengan ANOVA Multifaktor, hasilnya parameter R dan Nc1max memiliki pengaruh pada beberapa kasus.

Kata kunci: Capacitated Vehicle Routing Problem (CVRP), NP-Hard Problem, Distribution, Pigeon

Inspired Optimization, Metaheuristics.

1. Pendahuluan

Pada masa kini persaingan antar perusahaan sudah semakin ketat. Persaingan yang ketat menuntut perusahaan untuk terus berinovasi agar dapat bertahan. Perusahaan bersaing di pasar melalui produk dan jasa yang ditawarkan oleh perusahaan. Perusahaan bersaing dari segi kualitas produk dan harga. Ketatnya persaingan harga membuat perusahaan dituntut untuk mengurangi biaya dengan berbagai cara seperti mengurangi biaya distribusi dengan mendirikan pusat produksi dimana biaya bahan baku, tenaga kerja, dan distribusi yang murah.

Pergerakan barang dari suatu titik menuju titik yang lain akan membutuhkan biaya yang disebut sebagai biaya transportasi. Tentunya semua perusahaan menginginkan total biaya yang sekecil-kecilnya. Permasalahan ini dapat diselesaikan dengan merancang sistem transportasi yang baik, seperti memilih rute dan jenis kendaraan yang tepat. Perancangan sistem transportasi yang baik diharapkan dapat mengurangi biaya. Salah satu cara untuk mengurangi biaya transportasi adalah

mengurangi jarak transportasi. Dengan menyelesaikan permasalahan rute maka akan didapat rute terpendek yang akan berpengaruh secara langsung dengan biaya.

Permasalahan kombinatorial untuk memilih rute kendaraan yang optimal pada konsep distribusi ini dikenal sebagai Vehicle Routing Problem (VRP). Vehicle Routing Problem pertama dikenalkan oleh Danzig & Ramser pada tahun 1959 (Toth dan Vigo, 2002). Menurut (Toth dan Vigo, 2002) Vehicle Routing Problem merupakan suatu permasalahan mengenai bagaimana suatu barang dikirimkan dari satu atau beberapa depot dengan menggunakan beberapa kendaraan yang berada pada depot yang dapat digunakan untuk mengirimkan barang menuju ke pelanggan. VRP menentukan set rute S (satu rute untuk setiap kendaraan yang harus dimulai dan diakhiri di depot) sehingga seluruh kebutuhan pelanggan dan batasan operasional dapat dipenuhi dengan jarak transportasi minimal. Vehicle Routing Problem masih memerlukan beberapa tambahan batasan agar dapat menyerupai

(2)

keadaan nyata seperti batasan kapasitas, waktu, jarak, dan lain sebagainya.

Pada kasus nyata seringkali kendaraan dibatasi oleh kapasitas atau yang sering disebut sebagai CVRP (Capacitated Vehicle Routing Problem). Dalam CVRP seluruh pelanggan harus didatangi satu kali, permintaan setiap pelanggan diketahui secara pasti di awal dan tidak dapat dibagi, kendaraan yang digunakan identik dan mempunyai batasan kapasitas. Tujuan dari CVRP adalah untuk meminimasi ongkos total (dengan cara mengurangi jarak transportasi total) yang diperlukan untuk memenuhi demand pelanggan. Ada beberapa kasus dimana jarak transportasi antara setiap lokasi konsumen sama untuk kedua arah (simetris) yang disebut sebagai SCVRP, namun terdapat beberapa kasus yang memiliki jarak yang tidak simetris (asimetrsi) yang disebut sebagai ACVRP.

Pencarian rute optimal dalam penyelsaian masalah CVRP dapat dilakukan dengan menggunakan metode eksak (analitic), heuristik, atau metaheuristik. Metode eksak yang digunakan untuk menyelesaikan CVRP adalah branch and bound (Toth dan Vigo, 2002). Namun, penyelesaian dengan menggunakan metode eksak sulit dilakukan karena CVRP adalah suatu masalah yang tergolong dalam NP-hard (Toth dan Vigo, 2002). Optimasi rute untuk mendapatkan ongkos paling rendah sulit dilakukan karena terdapat banyak variasi solusi yang dapat dihasilkan untuk CVRP sehingga akan memakan waktu yang lama. Batas ukuran masalah yang dapat diselesaikan dengan optimal menggunakan metode eksak hanya 50 pelanggan (Toth dan Vigo, 2002). Pada kasus nyata jumlah pelanggan yang harus dilayani dapat melebihi 50 pelanggan sehingga penerapan metode lain untuk menyelesaikan CVRP perlu dilakukan.

CVRP dapat diselesaikan dengan menggunakan metode heuristik yang merupakan suatu metode pendekatan yang dapat memberikan solusi yang “memuaskan” dalam waktu yang dapat diterima (Talbi, 2009). Metode heuristik yang digunakan untuk menyelesaikan masalah CVRP adalah metode sweep algorithm (Suthikarnnarunai, 2008). Namun, menurut (Talbi, 2009) metode heuristik memiliki kelemahan yaitu metode ini dapat terjebak pada solusi lokal optimal. Dengan alasan ini, dirancanglah penyelesaian CVRP dengan metode metaheuristik. Menurut Talbi

(2009), metaheuristik dapat didefinisikan sebagai metode lanjut (advanced) berbasis heuristik untuk menyelesaikan persoalan optimisasi secara effisien. Metode metaheuristik memiliki kemampuan mencari di dalam ruang solusi yang lebih luas karena memiliki mekanisme eksplorasi dan eksploitasi. Pemilihan untuk menggunakan metode metaheuristik didasari alasan metode ini cepat dan bisa menghasilkan solusi yang lebih baik dari metode heuristik.

Salah satu algoritma metaheuristic adalah swarm intelligence algorithm. Swarm intelligence algorithm merupakan algoritma yang terinspirasi dari tingkah laku suatu spesies seperti semut, ikan, burung (Talbi, 2009). CVRP telah berhasil di selesaikan dengan menggunakan beberapa algoritma swarm intelligence seperti Genetic Algorithm (Costa, Machado, Pereira and Tavares, 2002), Artificial Bee Colony (Brajevic, 2011), dan Dragonfly Algorithm (Susanto, 2016) sehingga terdapat potensi untuk menggunakan algoritma swarm intelligence lainnya untuk menyelesaikan CVRP.

Algoritma swarm intelligence yang akan digunakan pada penelitian ini adalah Pigeon Inspired Optimization (PIO) yang terinspirasi dari kemampuan burung merpati yang dapat mencari jalan pulang sendiri (homing ability) (Duan, 2014). Terdapat dua kemampuan merpati yang digunakan sebagai inspirasi dalam algoritma ini. Pertama map and compass operator. Map and compass operator adalah kemampuan untuk mengenali kountur tanah dengan magnetoreception untuk membentuk sebuah peta didalam otak mereka. Merpati melihat ketinggian dari matahari sebagai kompas untuk membantu mereka menentukan arah. Kemampuan ini banyak digunakan di awal perjalanan dan semakin berkurang penggunaannya saat mendekati tujuan. Kemampuan kedua adalah landmark operator. landmark operator adalah kemampuan yang digunakan pada saat merpati terbang mendekati tujuannya yaitu dengan mengandalkan tanda-tanda geografis. Jika mereka sudah mengenali tanda-tanda geografis pada tujuan mereka maka merpati akan langsung terbang menuju ke tujuan. Namun jika mereka berada jauh dari tujuan dan tidak mengenali tanda-tanda geografis tujuannya maka mereka akan mengikuti merpati yang mengenal tujuannya. Pada proses map and compass operator terdapat 2

(3)

parameter yang mengatur proses ini yaitu parameter R (map and compass factor) yang mempengaruhi nilai kecepatan dan NC1 max

yang merupakan jumlah iterasi proses map and compass operator. Pada proses landmark operator terdapat parameter NC2 max yang

merupakan jumlah iterasi proses landmark operator. Parameter lain yang ada pada algoritma ini adalah jumlah merpati yang digunakan.

Menurut penelitian Duan (2014) algorima Pigeon Inspired Optimization (PIO) memiliki tingkat konvergensi yang tinggi dan terbukti lebih konvergen dibandingkan Artificial Bee Colony dan Genetic Algorithm. Algoritma Pigeon Inspired Optimization telah digunakan untuk menyelesaikan transportation problem dan mampu menghasilkan solusi yang lebih baik dibandingkan dengan algoritma Viral System. Melihat bahwa CVRP pernah diselesaikan dengan baik menggunakan algoritma swarm intelligence dan melihat potensi yang dimiliki oleh algoritma Pigeon Inspired Optimization maka dalam penelitian ini algoritma Pigeon Inspired Optimization (PIO) akan digunakan untuk menyelesaikan CVRP. Dengan mengaplikasikan algoritma Pigeon Inspired Optimization ke beberapa kasus CVRP diharapkan performansi dari algoritma ini dapat diketahui. Performansi algoritma Pigeon Inspired Optimization akan dibandingkan dengan performansi algoritma lain yang pernah digunakan untuk menyelesaikan CVRP.

2. Capacitated Vehicle Routing Problem Seperti yang telah dijelaskan sebelumnya. CVRP adalah suatu permasalahan kombinatoral yang bertujuan untuk mencari rute dengan jarak terendah. Pada Capacitated Vehicle Routing Problem terdapat beberapa parameter sebagai berikut.

V: Jumlah titik yang harus dikunjungi Uk: Kapasitas setiap kendaraan

Di: permintaan konsumen ke-i

Cij: jarak dari pelanggan i ke pelanggan j

Seluruh parameter bernilai integer non-negatif. Kendaraan yang digunakan memiliki kapasitas yang sama sebesar Uk

dan sebuah depot yang memiliki index 0. Pengiriman akan dilakukan kepada pelanggan dari index ke 1 sampai ke n. Permasalahannya adalah untuk menentukan rute kendaraan dari titik awal hingga titik akhir. Setiap pelanggan harus

dilayani dalam satu rute dan hanya dapat dilayani oleh satu buah kendaraan. Tujuannya adalah untuk meminimasi total travel distance, dapat juga digunakan untuk meminimasi jarak. jarak antar titik membutuhkan asumsi yang harus digunakan sesuai dengan masalah yang dihadapi. jarak yang digunakan bisa simetris yang berarti jarak pengiriman dari pelanggan i ke j sama dengan pelanggan j ke I atau asimetris yang berarti jaraknya berbeda. Kendaraan bergerak dengan kecepatan konstan. Jumlah kendaraan harus mampu mencukupi seluruh permintaan pelanggan.

Capacitated Vehicle Routing Problem dapat dimodelkan dalam bentuk grafik (V, A). titik V merupakan kumpulan titik customer dari 0 hingga n dengan depot dilambangkan dengan index 0. Garis A merupakan garis penghubung yang memungkinkan antar titik. Setiap garis memiliki jarak sebesar Cij dan jarak dari Cii

=∞ untuk mencegah suatu kendaraan memilih tidak bergerak. Kendaraan memiliki kapasitas Uk dan seluruh pelanggan

memiliki permintaan sebesar di. Decision

variable yang digunakan adalah Xijk.

Sebagai tambahan terdapat variabel biner yik yang memiliki nilai 1 jika titik I didatangi

oleh kendaraan k dan bernilai 0 jika sebaliknya. Berikut adalah model matematis Capacitated Vehicle Routing Problem menurut (Suthikarnnarunai, 2008) Decision Variable 1 0 1 0 Objective function:

min ∑k∈K∑i,j ∈ACijXijk Pers.1

Subject to: ∑ ∈ 1 ∀ ∈ \ 0 Pers.2 ∑ ∈ Pers.3 ∑∈ / ∀ ∈ , 1 … . Pers.4 ∑∈ / ∀ ∈ , 1 … Pers.5 ∑∈ / ∀ 1 … … . Pers.6 ∑∈ ∑∈ / | | 1 ∀ ⊆ \ 0 , | | 2, 1, . . , Pers .7 Keterangan:

= Jarak dari titik i ke titik j

(4)

S = Titik yang dikunjungi oleh kendaraan K

= Jumlah permintaan pelanggan ke i = Kapasitas kendaraan

Persamaan 2 sampai 5 digunakan untuk memastikan bahwa setiap pelanggan dilayani oleh satu kali, terdapat K kendaraan yang meninggalkan depot, kendaraan yang sama masuk dan meninggalkan konsumen. Persamaan 6 merupakan batasan kapasitas untuk setiap kendaraan. Persamaan 7 merupakan subtour elimination constraint yang digunakan untuk memastikan kesinambungan antar rute pada tiap kendaraan.

3. Pigeon Inspired Optimization Algorithm Metode metaheuristic yang populer saat ini adalah population swarm intelligence. Algoritma swarm intelligence adalah algoritma yang meniru pola dari suatu makhluk hidup dan diterapkan untuk mencari solusi. Algoritma swarm intelligence yang akan digunakan dalam penelitian ini adalah Pigeon Inspired Optimization. Algoritma mampu menyelesaikan masalah path planning dan memiliki hasil yang sangat baik dibandingkan metode differential evolution (Duan,2014).

Kata pigeon berasal dari kata “pipio” yang berarti burung muda berkicau. Merpati merupakan burung yang mudah ditemui di daerah perkotaan yang ditinggali oleh manusia. Merpati memiliki kemampuan unik disebut homing ability. Homing ablility adalah kemampuan yang dimiliki merpati untuk mencari jalan pulang. Kemampuan ini membuat merpati sering digunakan sebagai alat komunikasi. Merpati sering digunakan untuk memberi kabar karena kemampuannya untuk kembali ke tempat asalnya.

Algoritma ini terinspirasi dari kemampuan homing ability merpati. Merpati mencari jalan pulang dengan menggunakan cara tertentu. Pada awal perjalanan, mereka mengandalkan teknik yang seperti menggunakan kompas dan membaca arah angin. Dengan menggunakan partikel magnetik kecil di ujung paruhnya merpati dapat mendeteksi medan magnet. Partikel magnetik di ujung paruhnya mampu berfungsi sebagai kompas dan dapat mendeteksi arah utara.Saat berada di tengah perjalanan merpati mempunyai kemampuan khusus untuk

mengevaluasi posisinya saat ini dan melakukan penggantian arah perjalanan. Sifat alami inilah yang digunakan sebagai pembuatan algoritma ini.

Model matematis dari algoritma ini dibuat berdasarkan kemampuan merpati. Terdapat 2 buah kemampuan yang diadaptasi yaitu :

1. Map and compass operator: Merpati memiliki kemampuan untuk mengenali permukaan tanah dengan magnetoreception untuk membentuk peta didalam otak mereka. Merpati melihat ketinggian dari matahari sebagai kompas untuk membantu mereka menentukan arah. Semakin dekat dengan tujuan maka penggunaan kemampuan ini akan semakin berkurang

2. Landmark operator: Pada saat merpati sudah dekat dengan tujuannya mereka mengandalkan ingatan mengenai tanda-tanda geografis disekitarnya. Bila mereka sudah mengenali tanda-tanda geografis pada tujuan mereka maka merpati akan langsung terbang menuju ke tujuan. Namun, jika mereka berada jauh dari tujuan dan tidak mengenali tanda-tanda geografis tujuannya maka mereka akan mengikuti merpati yang mengenal tujuannya.

Pada map and compass

operator,persaman didefinisikan sebagai posisi Xi dan kecepatan Vi dari merpati i, posisi dan kecepatan, dimensi pencarian D akan berubah setiap iterasi. Posisi baru Xi dan kecepatan Vi dari merpati i pada iterasi ke-t dapat dihitung dengan persamaan:

Vi t = Vi t-1 . e-Rt+rand.(Xg -Xi t-1 ) Pers .8

Xi t = Xi t-1 . + Vi t Pers .9

R adalah faktor dari map and compass operator, rand adalah bilangan acak, dan Xg adalah posisi global terbaik yang bisa didapatkan dengan membandingkan semua posisi merpati. Gambar.1 menunjukan map and compass operator model pada PIO.

(5)

Gambar. 1. Map and Compass Operator (Sumber: Duan. H & Qiao. P (2014). Pigeon

Inspired Optimization: A New Swarm Intelligence Optimizer for Air Robot Path Planning page 5)

Pada gambar.1, posisi terbaik dari semua merpati dapat ditunjukan dari map and compass operator. Posisi merpati terbaik dapat dilihat dengan membandingkan posisi semua merpati dimana pada gambar diatas burung merpati di tengah kanan adalah yang paling baik. Setiap merpati akan memperbaiki arah terbang dengan menggunakan persamaan

yang ditunjukan oleh panah tebal. Panah

tipis yang merupakan arah terbang sebelumnya merupakan nilai dari 1 . pada

persamaan diatas. Penggunaan kedua persamaan ini akan digunakan untuk menentukan arah terbang selanjutnya. Dengan menggunakan persamaan tersebut merpati akan terbang mengikuti merpati dengan posisi terbaik.

Pada landmark operator setengah dari jumlah merpati akan berkurang pada setiap generasi. Namun kawanan ini masih jauh dari tujuan mereka dan tidak familiar dengan petunjuk geografis di lokasi mereka. Anggap

merupakan posisi tengah dari beberapa

posisi merpati pada iterasi ke-t dan asumsikan bahwa semua merpati dapat terbang langsung ke destinasi mereka. Aturan pada posisi baru untuk merpati i pada iterasi ke-t dapat menggunakan persamaan: Np t = Npt-1 2 Pers .10 Xc t = ∑ Xi t . fitness ( Xi t ) Np ∑ fitness ( Xi t ) Pers .11 Xi t = Xi t-1 +rand.(Xc (t)-Xi t-1 ) Pers .12

dimana fitness merupakan kualitas dari setiap merpati. Untuk masalah minimasi, nilai fitness dapat dihitung dengan fitness ( Xi t )=

1 fmin ( Xi t + Є*

. Untuk masalah maksimasi nilai fitness dapat dihitung dengan fitness

( Xi t )= fmax ( Xi t ). Gambar II.2 menunjukan landmark operator model pada PIO.

Gambar.2. Landmark Operator

(Sumber: Duan. H & Qiao. P (2014). Pigeon Inspired

Optimization: A New Swarm Intelligence Optimizer for Air Robot Path Planning page 6)

Seperti yang ditunjukan pada gambar.2, bagian tengah dari semua merpati (di dalam lingkaran) adalah tujuan mereka tiap iterasinya. Setengah dari merpati (merpati yang berada di luar lingkaran) yang berada jauh dari destinasi akan mengikuti merpati lokal (yang berada didalam) yang dekat dengan tujuan mereka. Artinya terdapat kemungkinan dua merpati berada pada posisi yang sama. Merpati yang sudah berada didalam lingkaran akan terbang langsung ke tujuan dengan cepat.

Dalam merancang algoritma Pigeon Inspired Optimization terdapat beberapa prosedur yang dapat digunakan untuk membantu menerjemahkan konsep dan formulasi diatas (Duan, 2014):

1. Lakukan pemodelan lingkungan berdasarkan permasalahan yang akan diselesaikan

2. Menentukan parameter pada algoritma PIO, seperti ruang solusi pada dimensi D dan ukuran populasi Np, map and compass R factor, jumlah iterasi Nc1 max dan Nc2 max untuk dua operator dimana Nc2 max > Nc1 max.

3. Lakukan inisialisasi kecepatan dan posisi awal merpati secara acak. Lalu Bandingkan fitness setiap merpati. 4. Operasikan map and compass operator.

Pertama perbarui nilai kecepatan dan posisi dari setiap merpati menggunakan persamaan yang telah diformulasikan. Lalu bandingkan fitness setiap merpati untuk menentukan merpati terbaik yang dijadikan acuan

5. Jika Nc > Nc1 max, hentikan map and compass operator dan operasikan landmark operator. Jika tidak, tetap lanjutkan langkah ke empat.

6. Lakukan ranking untuk semua merpati berdasarkan nilai fitnessnya dari yang

(6)

terbesar hingga yang terkecil. Setengah merpati yang nilai fitnessnya rendah akan mengikuti merpati yang nilai fitnessnya tinggi. Kemudian kita menemukan titik tengah dari semua merpati, dan titik tengah ini akan dijadikan tujuan seluruh merpati. Semua merpati akan terbang ke arah ini dengan mengatur arah terbang mereka.

7. Jika Nc > Nc2 max, hentikan landmark operator, dan evaluasi hasilnya. Jika tidak, tetap lanjutkan langkah enam.

Langkah-langkah ini dapat dirangkum dalam pseudocode :

PIO algorithm Input

Np: number of individuals in pigeon swarm D: dimension of the search space

R: the map and compass factor

Search range: the borders of the search space Nc1max: the maximum number of generations that the map and compass operation is carried out

Nc2max: the maximum number of generations that the landmark operation is carried out. Output

Xg : the global optima of the fitness function f 1. Initialization

Set initial values for Nc1max, Nc2 max, N P, D, R and the search range

Set initial path Xi and velocity Vi for each pigeon individual

Set Xp = Xi, Nc = 1

Calculate fitness values of different pigeon individuals

Xg := arg min [ f(X p)]

2. Map and compass operations For Nc = 1 to Nc1max do for i = 1 to Np do

while Xi is beyond the search range do calculate Vi and Xi

end while end for

evaluate Xi, and update Xp and Xg end for

3. Landmark operations

For Nc = Nc1max þ 1 to Nc2max do while Xp is beyond the search range do

rank all the available pigeon individuals according to their fitness values

NP = NP/2

keep half of the individuals with better fitness value, and abandon the other half

Xc = average value of the paths of the remaining pigeon individuals

calculate Xi end while

evaluate Xi, and update Xp and Xg end for

4. Output

Xg is output as the global optima of the fitness function

4. Algoritma Umum Pigeon Inspired Optimization Untuk CVRP Pada bab ini dijelaskan mengenai implementasi algoritma Pigeon Inspired Optimization untuk menyelesaikan CVRP, struktur umum dari Pigeon Inspired Optimization yang digunakan pada CVRP. Struktur algoritma tersebut memiliki langkah-langkah sebagai berikut

1. Penentuan parameter masalah (a) Jumlah pelanggan (cust) (b) Permintaan Pelanggan (Qc)

(c) Jumlah kendaraan (kend) (d) Kapasitas kendaraan (cap) (e) Biaya

Penentuan parameter merpati (a) Penentuan jumlah merpati (Np)

(b) Penentuan map and compass factor (R)

(c) Penentuan jumlah iterasi Map and compass operator (Nc1max)

(d) Penentuan Jumlah iterasi landmark operator (Nc2max)

2. Mengatur nilai i=1 3. Mengatur nilai j=1

4. Generate bilangan random U [0,0.7] untuk nilai Vij (k) dan U [0,0.5] untuk

nilai Xij untuk nilai posisi dan kecepatan

awal

5. Periksa apakah saat ini nilai j= Dmax.

Jika tidak benar maka atur nilai j= j+1, jika benar maka dilanjutkan ke langkah berikutnya

6. Periksa apakah saat ini nilai i= NP. Jika tidak benar maka atur nilai j=j+1, jika benar maka dilanjutkan ke langkah berikutnya

7. Menghitung nilai fitness setiap merpati. 8. Mencari nilai Xglobal.

9. Atur nilai k=1

10. Melakukan proses map and compass operator.

11. Jika Nc> Nc1max maka proses

berlanjut ke langkah selanjutnya jika tidak maka kembali ke langkah ke 9 12. Melakukan proses landmark operator.

(7)

13. Periksa apakah nilai Nc>Nc2max Jika

nilai Nc>Nc2max maka proses telah

berakhir, jika tidak maka proses kembali ke langkah 12.

5. Encoding-Decoding

Dalam menerapkan algoritma pigeon inspired optimization (PIO) untuk menyelesaikan capacitated vehicle routing problem (CVRP) perlu dilakukan proses encoding dan decoding. Proses encoding adalah proses memetakan masalah CVRP ke dalam algoritma sedangkan proses decoding adalah proses memetakan solusi yang dihasilkan algoritma pada masalah. Algoritma PIO melakukan pencarian solusi dengan menggunakan sekelompok merpati. Pada algoritma PIO sebuah solusi digambarkan sebagai sebuah posisi dari seekor merpati dalam seluruh dimensi. Setiap merpati memiliki posisi yang berbeda-beda sehingga menghasilkan solusi yang berbeda-beda

Posisi merpati mempunyai dimensi sebanyak jumlah pelanggan yang harus dilayani. Pada proses encoding dibangkitkan bilangan acak sebanyak jumlah dimensinya untuk setiap merpati. Setelah didapatkan posisi merpati pada setiap dimensi dilakukan proses decoding yaitu pengurutan posisi dari kecil ke besar. Hasil pengurutan posisi merpati menggambarkan urutan prioritas konsumen yang kemudian diubah menjadi rute kendaraan dan dihitung total biayanya. Berikut adalah contoh penyelesaian kasus sederhana dengan menggunakan algoritma PIO. PT X ingin mengirimkan barang dari gudang pusat menuju ke 3 pelanggan dengan jarak seperti pada Tabel.1. Barang dikirimkan dari gudang menuju ke pelanggan dan kendaraan kembali lagi ke gudang.

Tabel. 1. Matriks Jarak Konsumen (km) Kota  Kota    0  1  2  3  0  0  30  40  50  1  30  0  40  20  2  40  40  0  40  3  50  20  40  0 

Perincian jumlah permintaan konsumen dapat dilihat di tabel.2. Kendaraan yang digunakan adalah

kendaraan identik yang memiliki kapasitas sebanyak 45 kg. Kendaraan tidak boleh mengangkut benda melebihi kapasitas. Jumlah kendaraan yang dimiliki adalah 2 kendaraan.

Tabel.2 Rincian Permintaan Konsumen (kg) Konsumen  1  2  3  Total 

Demand (kg)  20  15  30  65 

Pertama, pada proses encoding dihasilkan bilangan random dari 0-1 untuk setiap dimensi untuk mempresentasikan nilai posisi dari merpati. Jumlah dimensi diatur sesuai dengan jumlah pelanggan. Nilai posisi merpati ini dimanipulasi oleh algoritma pada setiap iterasi. Tabel.3 adalah representasi hasil posisi merpati dari 2 ekor merpati.

Tabel.3 Hasil Random Posisi Merpati Merpati

1 0,327 0,299 0,265

Merpati

2 0,038 0,126 0,36

Proses decoding dimulai dengan pengurutan nilai dimensi merpati dari kecil ke besar. Urutan posisi menggambarkan prioritas konsumen yang dilayani. Tabel.4 adalah representasi hasil pengurutan posisi merpati. Dari hasil pengurutan merpati 1 dan 2 didapatkan prioritas konsumen yang harus dilayani adalah 3-2-1 pada merpati 1 dan 1-2-3 pada merpati 2.

Tabel.4 Hasil Pengurutan Posisi Merpati

Langkah selanjutnya adalah melakukan penentuan rute kendaraan sesuai dengan urutan prioritas konsumen yang telah didapatkan. Penentuan rute dilakukan dengan memeriksa apakah demand setiap konsumen melebihi kapasitas kendaraan yaitu sebesar 45 kg. Penentuan rute dimulai dengan pelanggan dengan prioritas pertama jika demand pelanggan tersebut lebih kecil atau sama dengan kapasitas kendaraan tersebut maka pelanggan tersebut masuk ke rute kendaraan pertama, jika sisa kapasitas kendaraan kurang dari demand kota tersebut maka kota tersebut dimasukan untuk rute kendaraan yang lain. Contohnya pada merpati 1 pelanggan dengan urutan prioritas pertama adalah pelanggan 3, demand pelanggan 3 sebesar 30 kg

(8)

sehingga kapasitas kendaraan pertama tersisa 25 kg. Selanjutnya pelanggan pada urutan prioritas kedua adalah pelanggan 2, demand pelanggan kedua sebesar 15 kg maka kapasitas kendaraan pertama tersisa 10 kg. Pelanggan dengan urutan prioritas ketiga adalah pelanggan 1 dengan demand 20 kg. Kapasitas kendaraan tidak cukup untuk memenuhi demand pelanggan 1 sehingga pelanggan pertama dilayani oleh kendaraan kedua. Dari hasil penentuan rute didapat rute untuk merpati 1 adalah 0-3-2-0 untuk kendaraan pertama dan 0-1-0 untuk kendaraan kedua sedangkan untuk merpati 2 didapat rute 0-1-2-0 untuk kendaraan pertama dan 0-3-0 untuk kendaraan kedua. Tabel .5 adalah tabel penentuan rute kendaraan

Tabel.5 Tabel Penentuan Rute Kendaraan

Metode encoding decoding ini disebut sebagai random key. Menurut Talbi (2009), metode encoding yang dianggap tepat untuk menyelesaikan masalah TSP dan VRP adalah permutasi sehingga metode random key adalah metode yang cocok untuk menyelesaikan masalah CVRP karena merupakan pendekatan metode permutasi dengan real value. Setelah rute masing-masing kendaraan ditentukan selanjutnya dilakukan perhitungan objective function. Objective Function dihitung dengan cara menghitung jarak total dari rute yang dihasilkan pada masing-masing merpati. Matriks jarak dapat dilihat pada tabel.1.

Tabel .6 adalah tabel perhitungan objective function

Tabel. 6 Perhitungan Objective Function

Untuk meningkatkan hasil yang didapatkan maka dilakukan local improvement pada tahapan decoding. Local Improvement akan dilakukan setelah dilakukan penugasan rute setiap kendaraan. Tujuan local improvement yang dilakukan adalah untuk mengurangi jarak total yang ditempuh setiap kendaraan dengan cara mengubah urutan kota yang

dikunjungi. Local improvement dilakukan dengan mengubah kombinasi rute di dalam suatu kendaraan dan membandingkannya dengan hasil solusi awal. Perubahan rute dilakukan dengan cara menukar urutan rute yang ada dalam sebuah kendaraan. Bila rute yang dihasilkan memberikan objective function yang lebih baik maka rute tersebut akan disimpan. Sebagai contoh pada tabel.6 rute kendaraan pertama pada merpati 1 adalah 0-3-2-0 dengan jarak total 130. Local Improvement mengubah kombinasi rute menjadi 0-2-3-0 misalkan jarak total yang dihasilkan sebesar 110 maka rute 0-2-3-0 akan disimpan karena memiliki nilai objective function yang lebih kecil dibandingkan rute 0-3-2-0, namun bila rute 0-2-3-0 menghasilkan total jarak sebesar 140 maka rute yang digunakan adalah rute 0-3-2-0 karena memiliki nilai objective function yang lebih kecil dibandingkan dengan rute 0-2-3-0.

6. Perubahan Posisi Merpati Dalam algoritma PIO terdapat 2 operator yang digunakan yaitu map and compass operator (eksplorasi) dan landmark operator (eksploitasi). Posisi setiap merpati dimanipulasi oleh kedua operator tersebut. Map and Compass Operator dan Landmark Operator akan dilakukan dalam jumlah iterasi tertentu. Jumlah iterasi kedua operator ini tergantung dari nilai yang diinput dan jumlah iterasi yang diinput untuk kedua operator ini tidak harus sama. Pada algoritma PIO Map and Compass Operator dilakukan terlebih dahulu hingga mencapai jumlah iterasi yang diinginkan, kemudian masuk ke Landmark Operator. Sebelum masuk ke Map and Compass Operator dihasilkan bilangan random dari 0-1 untuk setiap dimensi merpati yang merepresentasikan posisi dan kecepatan merpati. Tabel.7 adalah contoh posisi dan kecepatan awal merpati.

(9)

7. Map and Compass Operator Pada Map and Compass Operator posisi setiap merpati pada setiap dimensi diperbarui untuk setiap iterasinya dengan menggunakan posisi pada iterasi sebelumnya, posisi merpati terbaik pada iterasi sebelumnya dan kecepatan pada iterasi tersebut. Rumus yang digunakan untuk mengubah posisi merpati dapat dilihat pada pers II.9, posisi terbaik digunakan untuk menghitung kecepatan pada iterasi tersebut, perhitungan kecepatan dilakukan dengan menggunakan pers II.8. Sehingga pada setiap iterasi dilakukan perubahan nilai posisi dan kecepatan merpati sejumlah dimensinya.

Pertama, dilakukan pencarian nilai Xglobal dengan cara mencari merpati dengan

nilai fitness terbesar atau objective function terkecil. Rumus untuk mencari fitness dapat dilihat pada halaman II-5 paragraf ketiga. Dapat dilihat pada tabel.6 merpati dengan objective function terkecil adalah merpati pertama sehingga Xglobal adalah nilai posisi

merpati 1 pada seluruh dimensi, nilai posisi merpati 1 dapat dilihat pada tabel.5. Kemudian lakukan perhitungan kecepatan dan posisi pada masing-masing dimensi untuk setiap merpati. Berikut adalah contoh perhitungan posisi untuk merpati pertama.

0,412 0,67 0,327 0,327 0,276 0,327 0,276 0,603 0,53 0,67 0,299 0,299 0,355 0,299 0,355 0,654 0,281 0,67 0,265 0,265 0,188 0,265 0,188 0,453

Pada Contoh diatas dapat dilihat bahwa merpati 1 merupakan merpati terbaik pada iterasi sebelumnya. Nilai Xglobal

akan menggunakan nilai posisi merpati pada iterasi sebelumnya. Tabel .8 adalah tabel hasil Map and Compass Operator pada iterasi pertama.

Tabel.8 Kecepatan dan Posisi Merpati Iterasi Pertama Map and Compass operator

8. Landmark Operator

Setelah Map and Compass operator dilakukan sejumlah iterasi yang ditentukan selanjutnya dilakukan Landmark Operator.

Langkah pertama pada Landmark Operator adalah melakukan pengurutan merpati berdasarkan nilai fitness dari yang terbesar hingga yang terkecil dan setengah merpati dengan nilai terendah dibuang. Kemudian dilakukan perhitungan Xcj dengan

menggunakan rumus pada pers II.11 yang digunakan untuk melakukan perhitungan posisi selanjutnya dengan menggunakan pers II.12. Berikut akan dijelaskan cara melakukan perhitungan Xcj dan posisi

merpati pertama. Tabel .9 adalah tabel hasil landmark operator iterasi pertama. Xc1= 0,124×0,0059 +(0,147×0,0059) 0,0059+0,0059 ×2 =0,09 0,381 0,0059 0,552 0,0059 0,0059 0,0059 2 0,311 Xc3= 0,531×0,0059 +(0,413×0,0059) 0,0059+0,0059 ×2 =0,314 X11=0,124+rand× 0,09-0,124 =0,119 X12=0,381+rand× 0,09-0,381 =0,343 X13=0,531+rand× 0,09-0,531 =0,415

Tabel.9 Posisi Merpati iterasi pertama Landmark

Operator

9. Fungsi Sigmoid

Dalam algoritma PIO terdapat parameter search range yang digunakan untuk membatasi rentang posisi merpati. Nilai search range yang digunakan adalah 0-1 untuk memperkuat kemampuan pencarian solusi. Sesuai dengan yang telah dijelaskan pada bab III.2 proses decoding dilakukan dengan cara mengurutkan nilai posisi pada seluruh dimensi dan menukar index dimensi sesuai dengan urutan. Dengan membatasi nilai search range yang kecil memungkinkan algoritma untuk mendapatkan hasil yang lebih bervariatif. Untuk memungkinkan algoritma mendapatkan nilai posisi pada rentang 0-1 maka proses perubahan posisi perlu dimodifikasi. Modifikasi yang dilakukan adalah dengan menggunakan fungsi sigmoid. Fungsi sigmoid dijelaskan pada bagian berikut. Fungsi sigmoid dapat dituliskan dalam bentuk berikut ini. (Krause, Cordeiro, Parpinelli & Lopes, 2013).

(10)

(Pers III.1) Fungsi sigmoid dapat menghasilkan suatu nilai dalam rentang tertentu. Ketika suatu nilai dari -10 hingga 10 dimasukan ke dalam persamaan III.1 maka didapatkan nilai dalam rentang 0 hingga mendekati 1. Berikut adalah grafik nilai sigmoid.

Gambar.3 Grafik Nilai Sigmoid

Namun dengan posisi awal yang memiliki rentang antara 0-1 posisi merpati yang mungkin dihasilkan hanya berada pada rentang -1 hingga 2. Nilai posisi tersebut jika dimasukan ke dalam fungsi sigmoid hanya menghasilkan nilai antara 0,5 hingga 0,9. Nilai yang ingin dihasilkan berada pada rentang 0-1 sehingga perlu dilakukan modifikasi pada fungsi yang digunakan. Terinspirasi dari modifikasi fungsi sigmoid yang telah dilakukan oleh (Sunjaya, 2015) maka persamaan sigmoid dimodifikasi agar dapat menghasilkan nilai dalam rentang antara 0-1. Modifikasi dilakukan dengan mencari konstanta yang tepat agar persamaan dapat menghasilkan nilai 0 jika dimasukan nilai -1 dan menghasilkan nilai 1 jika dimasukan nilai 2. Berikut adalah perhitungan konstanta yang dilakukan. 0 A 1 e1 ‐3,718B A Pers.13 1 A 1 e‐2 B 1,135‐1,135B A Pers.14 1,135‐1,135B ‐3,718B 0,439 Pers.15 1,634 Pers.16 Dengan melakukan perhitungan seperti yang telah dilakukan diatas didapat suatu persamaan baru. Persamaan ini digunakan untuk mengubah posisi merpati

dalam setiap dimensi dan pada setiap iterasi. Berikut adalah persamaan hasil modifikasi.

Xij 1 e1,634Xij ‐0,439 (Pers III.6)

Untuk memeriksa nilai yang dihasilkan oleh Pers.6 maka pers.6 dimasukan angka dari -1 sampai 2. Hasil dari Pers.6 di plot. Gambar.2 adalah grafik hasil nilai posisi yang dihasilkan oleh Pers .6. Dapat dilihat bahwa nilai yang dihasilkan berada pada rentang 0-1.

Gambar.4 Hasil plot nilai posisi merpati Fungsi yang telah dimodifikasi akan digunakan pada map and compass operator dan landmark operator. Setelah map and compass operator menghasilkan nilai posisi maka nilai posisi akan dimasukan ke dalam fungsi ini. Nilai posisi pada tabel.8 akan dimasukan ke dalam fungsi ini untuk mendapatkan nilai dalam rentang 0-1. Sedangkan pada landmark operator nilai posisi sesudah pada tabel.9 akan dimasukan pada fungsi ini.

10. Implementasi Pigeon Inspired Optimization Algorithm

Algoritma PIO akan

diimplementasikan pada 6 buah kasus benchmark yaitu pada 2 kasus kecil, 2 kasus sedang, dan 2 kasus besar. Kasus yang dipilih adalah kasus-kasus yang pernah diselesaikan algoritma pembanding. Ukuran kasus ditentukan dari jumlah pelanggan. Kasus-kasus benchmark dapat diunduh dari (https://projects.coin-or.org/)

Algoritma digunakan untuk menyelesaikan kasus benchmark dengan menggunakan software Netbeans pada 10 komputer dengan spesifikasi yang sama secara serentak. Dengan penerapan secara serentak pada 10 komputer yang berbeda maka memungkinkan hasil yang

0 0.2 0.4 0.6 0.8 1 1.2 ‐10 ‐8 ‐6 ‐4 ‐2 0 2 4 6 8 10 0 0.2 0.4 0.6 0.8 1 1.2 ‐1 ‐0.7 ‐0.4 ‐0.1 0.2 0.5 0.8 1.1 1.4 1.7 2

(11)

acak dan tidak menimbulkan pola tertentu atau meninggalkan memory. Tabel.3 adalah rekapitulasi karakteristik kasus benchmark

Tabel.10 Rekapitulasi karakteristik kasus

benchmark Kasus Jumlah Kota Jumlah Minimal Kendaraan Kapasitas Kendaraan Rata-rata Demand P-N16-K8 15 8 35 16.4 P-N19-K2 18 2 160 17.222 B-N31-K5 30 5 100 13.733 A-N32-K5 31 5 100 13.226 B-N57-K7 56 7 100 12.446 A-N54-K7 53 7 100 12.623

Pengujian parameter PIO dilakukan pada setiap kasus benchmark. Pengujian parameter dilakukan untuk mengetahui pengaruh suatu parameter dan interaksi antar parameter terhadap hasil. Parameter yang diuji adalah R, Nc1max , dan Nc2max. Parameter R memiliki 3 level, parameter Nc1max dan Nc2max memiliki 2 level. Hipotesis yang digunakan untuk pengujian pengaruh parameter adalah sebagai berikut.

1. H0: Parameter R tidak berpengaruh

terhadap hasil PIO

H1: Parameter R berpengaruh terhadap

hasil PIO

2. H0: Parameter Nc1max tidak

berpengaruh terhadap hasil PIO

3. H1: Parameter Nc1max berpengaruh

terhadap hasil PIO

4. H0: Parameter Nc2max tidak

berpengaruh terhadap hasil PIO

H1: Parameter Nc2max berpengaruh

terhadap hasil PIO

5. H0: Tidak ada interaksi antara parameter

R dan parameter Nc1max terhadap hasil PIO

H1: Ada interaksi antara parameter R dan

parameter Nc1max terhadap hasil PIO 6. H0: Tidak ada interaksi antara parameter

R dan parameter Nc2max terhadap hasil PIO

H1: Ada interaksi antara parameter R dan

parameter Nc2max terhadap hasil PIO 7. H0: Tidak ada interaksi antara parameter

Nc1max dan parameter Nc2max terhadap hasil PIO

H1: Ada interaksi antara parameter

Nc1max dan parameter Nc2max terhadap hasil PIO

8. H0: Tidak ada interaksi antara parameter

R, parameter Nc1max, dan parameter Nc2max terhadap hasil PIO

H1: Ada interaksi antara parameter R,

parameter Nc1max, dan parameter Nc2max terhadap hasil PIO.

Uji ANOVA dilakukan dengan bantuan software MINITAB 17. Nilai α yang digunakan pada pengujian ini sebesar 0.05. H0

akan ditolak jika nilai P-Value berada di bawah 0,05 dan H0 tidak ditolak jika nilai P-Value

berada diatas 0,05. Kasus P-N16-K5 tidak dapat diuji karena memiliki hasil yang sama pada seluruh kombinasi parameter dan pada seluruh replikasi sehingga dapat disimpulkan bahwa parameter tidak memiliki pengaruh pada kasus tersebut. Berikut Rekapitulasi hasil ANOVA dapat dilihat pada tabel.11.

Tabel.11 Rekapitulasi Hasil ANOVA

Untuk mengetahui performansi dari PIO maka algoritma PIO dibandingkan dengan algoritma lain. Perbandingan dilakukan dengan membandingkan solusi terbaik yang dihasilkan oleh setiap algoritma Perbandingan ini dilakukan untuk mengetahui kelebihan dan kekurangan algoritma PIO

Algoritma lain yang digunakan sebagai pembanding PIO adalah Algoritma Genetika (Costa et al, 2002), Algoritma Artificial Bee Colony (Brajevic, 2011), dan Dragonfly Algorithm (Susanto, 2013). Kasus yang digunakan adalah kasus benchmark yang telah digunakan sebelumnya. Kasus yang digunakan pada implementasi berjumlah 6 kasus yang terdiri dari 2 kasus kecil, 2 kasus sedang, dan 2 kasus besar.

PIO akan dibandingkan dengan Dragonfly Algorithm pada semua kasus. PIO akan dibandingkan dengan Algoritma Genetika (Costa, et.al, 2004) hanya pada kasus A-N32-K5, A-N54-K7, dan b-57-k7. Sedangkan perbandingan dengan Algoritma Artificial Bee Colony (Brajevic, 2011) menggunakan kasus B-N31-K5, P-N16-K8, dan P-N19-K2. Tabel.12 berisi rekapitulasi hasil percobaan PIO. Tabel.12 Rekapitulasi Hasil Percobaan Terbaik

(12)

11. Kesimpulan

Kesimpulan yang dapat ditarik berdasarkan penelitian yang telah dilakukan yakni sebagai berikut :

1. Algoritma Pigeon Inspired Optimization dapat diterapkan sesuai dengan rancangan yang telah dibuat pada bab III.

2. Terdapat 2 parameter yang berpengaruh terhadap performansi algoritma Pigeon Inspired Optimization yaitu Map and compass factor (R) dan Nc1max. R mempengaruhi performansi algoritma pada kasus N32-K5, A-N54-K7, P-N19-K2. Sedangkan Nc1max mempengaruhi performansi algoritma pada kasus N32-K5, A-N54-K7, B-N31-K5, B-N57-K7.

3. Algoritma Pigeon Inspired Optimization memiliki performansi yang lebih tinggi dibandingkan dengan Dragonfly Algorithm (Susanto, 2013) pada semua kasus, memiliki performansi yang sama dengan Artificial Bee Colony (Brajevic, 2011) pada kasus P-N16-K8 namun kalah pada 2 kasus lainnya, dan memiliki performansi yang lebih rendah dibandingkan dengan

Algoritma Genetika (Pereira, et.al, 2004).

12. Daftar Pustaka

Ai. T.J., & Kachitvichyanukul. V. (2009) Particle Swarm Optimization and Solution Representations for Solving the Capacitated Vehicle Routing Problem. Computers & Industrial Engineering, 56, 380-387. Doi: 10.1016.

Costa. E., Machado. P., Pererira.F.B., & Tavares.J. (2002). GVR a New Genetic Representation for The Vehicle Routing Problem. Artificial Intelligence and Cognitive Science, 2464, 95-102. Doi: 10.1007/3-540-45750-x_12. Diunduh dari :http://neo.lcc.uma.es/radi-aeb/WebVRP/data/articles/vrp_aics20 02.pdf

Chopra. S., & Meindl., P. (2013). Supply Chain Management Strategy, Planning, and Operation. New Jersey: Pearson Education Limited.

Brajevic. I. (2011). Artificial Bee Colony Algorithm for the Capacitated Vehicle Routing Problem. European Computing Conference. Diunduh dari:

http://www.wseas.us/e-library/conferences/2011/Paris/ECC/E CC-39.pdf

Duan. H & Qiao. P (2014). Pigeon Inspired Optimization: a New Swarm Intelligence Optimizer for Air Robot Path Planning. International Journal of Intelligent Computing and Cybernetics,7, 24-37.doi: 10.1108/IJICC-02-2014-0005. Diunduh dari:

http://hbduan.buaa.edu.cn/papers/IJIC C_DuanHB_PIO_2014.pdf

Duan. H & Li.C (2014). Target Detection Approach for UAVs via improved Pigeon-Inspired Optimization and Edge Potential Function. Aerospace Science and Technology, 39, 352-360.

Krause. J., Cordeiro. J,. Parpinelli.R.S., Lopes.H.S. (2015). A Survey of Swarm Algorithms Applied to Discrete Optimization Problems. Elsevier Insight.

Montgomery, D. C., & Runger, G. C. (2003). Applied statistics and probability for engineers. (3th ed.). New York: John Wiley & Sons, Inc.

Septiano. E. (2016). Penerapan Algoritma Pigeon Inspired Optimization Pada Permasalahan Transportasi. Skripsi. Jurusan Teknik Industri Universitas Katholik Parahyangan. Bandung

Susanto. B. (2016). Penerapan Algoritma Dragonfly untuk Menyelesaikan Capacitated Vehicle Routing Problem. Skripsi. Jurusan Teknik Industri Universitas Katholik Parahyangan Bandung

Sunjaya. A. W. Penerapan Bat Algorithm Untuk Menyelesaikan Probabilistic Travelling Salesman Problem. Skripsi. Jurusan Teknik Industri Universitas Katholik Parahyangan Bandung

Suthikarnnarunai. N. (2008). A Sweep Algorithm for the Mix Fleet Vehicle Routing Problem. International Multi Conference of Engineers and Computer Scientist. Diunduh dari: http://www.iaeng.org/publication/IMEC S2008/IMECS2008_pp1914-1919.pdf Talbi. E. (2009). Metaheuristics From Design to

Implementation. New Jersey, Canada: John Wiley & Sons, Inc.

Toth, P. & Vigo, D. (2002). Models, Relaxations and Exact Approaches for the

(13)

Capacitated Vehicle Routing Problem. Discrete Applied Mathematics 123, 487-512. Diunduh dari: http://dis.unal.edu.co/~gjhernandezp/T OS/ROUTING/VRP1.pdf

Gambar

Tabel .6 adalah tabel perhitungan objective  function

Referensi

Dokumen terkait

Dengan ini menyatakan bahwa tugas akhir saya dengan judul “ Penerapan Multi- Objective Particle Swarm Optimization untuk Kasus Capacitated Vehicle Routing Problem dengan Load

Toth and Vigo (2002) menyatakan Vehicle Routing Problem (VRP) merupakan suatu permasalahan penentuan rute pengiriman atau distribusi yang melibatkan sekumpulan

Vehicle Routing Problem (VRP)Multiple Depot Vehicle routing problem ini berkembang ketika sejumlah kendaraan dari beberapa depot (lebih dari satu) akan melakukan

Dengan ini menyatakan bahwa tugas akhir saya dengan judul “Penerapan Multi- Objective Particle Swarm Optimization untuk Kasus Capacitated Vehicle Routing Problem dengan Load

Berdasarkan penelitian yang dilakukan dalam penentuan rute pengangkutan buah kelapa sawit pada kasus Capacitated Vehicle Routing Problem Multi vehicle dengan

Counterpart Open Capacitated Vehicle Routing Problem with time windows and deadline (DRC-OCVRPtw,d) Berbasis Lingo 13.0 dalam Mendesain Rute Optimal Pengangkutan Sampah di

Namun, keberhasilan algoritma genetika untuk menyelesaikan permasalahan- permasalahan lain seperti travelling salesman problem (TSP) dan vehicle routing problem with

[16] yang melakukan optimasi transportasi angkutan sampah menggunakan robust counterpart model of open capacitated vehicle routing problem dengan mengambil data jumlah kendaraan,