1
ALGORITMA GENETKA PADA MULTI DEPOT VEHICLE ROUTING PROBLEM (MDVRP) Igusta Wibis Vidi Akbar1 Purwanto2 FMIPA Universitas Negeri Malang E-mail:
[email protected] Abstrak: Multi Depot Vehicle Routing Problem (MDVRP)adalah perluasan dari Vehicle Routing Problem (VRP)Multiple Depot Vehicle routing problem ini berkembang ketika sejumlah kendaraan dari beberapa depot (lebih dari satu) akan melakukan pendistribusian ke beberapa customer dan kembali ke depot yang sama dengan jarak pendistribusian yang minimum tanpa melanggar kendala kapasitas dari kendaraan. Algoritma Genetika pada MDVRP dibagi menjadi tiga tahap, yaitu grouping, routing dan scheduling. Pada tahap grouping, customer-customer dikelompokkan ke depot terdekat, pada tahap ini dapat digunakan algoritma pada Shortest Path. Kemudian pada tahap Grouping, customer-customer dikelompokkan ke sejumlah rute. Selanjutnya pada tahap Scheduling dilakukan proses genetika, diantaranya seleksi dengan metode Roulette, pindah silang dengan Order Crossover(OX) dan mutasi dengan Inversion Mutation. Pada contoh 1diperoleh solusi dengan total jarak 1285 km, dan dengan Algoritma Clark and Wright diperoleh solusi dengan total jarak 1115km. Sedangkan pada contoh 2 diperoleh 4 rute sebagai solusi dengan total jarak yang sama dengan Algoritma Clark and Wright, yaitu 797 km. Jadi, pada Algoritma Genetika dimungkinkan diperoleh lebih dari satu solusi dengan fitness yang sama, sehingga diperoleh alternatif solusi. Kata kunci: algoritma genetika, Multi Depot Vehicle Routing Problem(MDVRP), Order Crossover(OX).
Pada sebagian besar industri, biaya pendistribusian hasil produksi memegang proporsi yang besar dari rata-rata nilai penjualan. Perancangan sistem distribusi yang efektif dapat menghasilkan penghematan biaya distribusi yang cukup signifikan bagi perusahaan. Potensi peghematan biaya dapat dihasilkan dari distribusi produk ke beberapa customer yang dikombinasikan ke dalam beberapa rute sehingga diperoleh jalur pendistribusian yang optimal. Salah satu cabang ilmu matematika yang dapat digunakan untuk menyelesaikan permasalahan tersebut adalah teori graph. Salah satu terapan dari teori graph yang banyak digunakan untuk menyelesaikan permasalahan adalah Multi Depot Vehicle Routing Problem (MDVRP) yang merupakan perluasan dari Vehicle Routing Problem (VRP). Multi Depot Vehicle routing problem (MDVRP) ini berkembang ketika sejumlah kendaraan dari beberapa depot (lebih dari satu) akan melakukan pendistribusian ke beberapa customer dan kembali ke depot yang sama dengan jarak pendistribusian yang minimum tanpa melanggar kendala kapasitas dari kendaraan (Surekha dan Sumathi, 2011). Salah satu algoritma yang dapat digunakan untuk menyelesaikan Multi Depot Vehicle Routing Problem (MDVRP) adalah Algoritma Genetika. Surekha dan Sumanthi (2011) dalam jurnal βSolution to Multi Depot Vehicle Routing Problem Using Genetic Algorithmsβ menuliskan bahwa Algoritma Genetika pada Multi Depot Vehicle Routing Problem (MDVRP) dibagi ke dalam 3 tahap, yaitu grouping, raouting, scheduling. Dalam tahap grouping, customer dikelompokkan ke depot terdekat berdasarkan jarak antara customer dan depot. Kemudian 1. Igusta Wibis Vidi Akbar adalah mahasiswa jurusan Matematika FMIPA Universitas Negeri Malang 2. Purwanto adalah dosen jurusan Matematika FMIPA Universitas Negeri Malang
2
customer-customer pada depot yang sama dikelompokkan ke sejumlah rute pada tahap routing dan rute tersebut dievaluasi pada tahap scheduling. Tulisan ini membahas bagaimana Algoritma Genetika menyelesaikan MDVRP dengan menggunakan Order Crossover sebagi metode pindah silang dan inversion mutation sebagai metode mutasi. Dan kemudian solusi dari algoritna Genetika tersebut dibandingkan dengan solusi dengan Algoritma Clark and Wright. HASIL DAN PEMBAHASAN Aldous dan Wilson (2000: 6) mengungkapkan gagasan tentang graph, yaitu diagram yang merepresentasikan titik yang disebut verteks sebagai objek dan garis yang disebut sisi merepresentasikan hubungan antar objek. Graph yang digunakan untuk masalah pencarian rute kendaraan adalah graph komplit yang telah diberi bobot yaitu bilangan yang berasosiasi pada setiap sisi. Graph komplit adalah graph yang setiap dua titik yang berbeda dihubungkan oleh satu sisi. Graph komplit berbobot digunakan sebagai model dalam Multi Depot Vehicle Routing Problem (MDVRP). Multi Depot Vehicle Routing Problem (MDVRP) Multi Depot Vehicle Routing Problem (MDVRP) adalah suatu perluasan dari VRP yang merupakan permasalahan menentukan semua rute untuk sejumlah kendaraan dari depot-depot(lebih dari satu) untuk himpunan customer dan kembali ke depot yang sama. Langkah-langkah pada MDVRP dapat dikelompokkan menjadi Grouping, Routing dan Scheduling. Dalam Grouping, customer dikelompokkanke depot terdekat berdasarkan jarak antara customer dan depot. Selanjutnya dilakukan tahap Routing, yaitu customer-customer pada depot yang sama dikelompokkan untuk sejumlah rute. Tujuan dari Routing adalah untuk meminimalisasi jumlah rute tanpa melanggar batas kapasitas. Dan kemudian ruterute diurutkan dalam tahap Scheduling sehingga diperoleh rute dengan jarak yang minimum. Surekha dan Sumathi(2011) menuliskan bahwa: π· = adalah himpunan semua depot πΌ = adalah himpunan semua customer πΎ = adalah himpunan semua kendaraan π = adalah jumlah kendaraan π = adalah indeks depot π = adalah indeks customer π = adalah indeks kendaraan/rute πΆππ = adalah jarak antara titik π dan π, π, π π πΌ βͺ π· ππ = adalah kapasitas maksimum depot π ππ = adalah permintaan dari customer π ππ = adalah kapasitas kendaraan π Fungsi tujuan π πΆππ πππ
πππ πππΌ βͺπ· πππΌ βͺπ· πππΎ
3
Dengan
1, jika kendaraan dijalankan dari titik π ke π = 0, untuk yang lain 1, jika customer π dialokasikan untuk depot π πππ = 0, untuk yang lain πππ adalah batasan untuk eliminasi sub-tour Dengan batasan-batasan sebagai berikut: π πππ
Batasan 1: Setiap customer hanya dikunjungi satu kali dan hanya oleh satu kendaraan π πππ = 1, βπ β π/{π} πππΎ πππΌ βͺπ·
Batasan 2: Total permintaan dari setiap customer dalam satu rute tidak boleh melebihi kapasitas kendaraan π πππ β€ ππ , βπ β πΎ
ππ πβπΌ
πβπΌβͺπ·
Batasan 3: sub-tour eliminasi yang baru π ππ β πππ + ππππ β€ π β 1, π, π β πΌ, π β πΎ Batasan 4: setiap kendaraan harus meninggalkan customer yang telah dikunjungi. π πππ β πβπΌβͺπ·
π πππ = 0 , π β πΌ βͺ π·, βπ β πΎ πβπΌβͺπ·
Batasan 5: Setiap rute dilayani satu kali. π πππ β€ 1, βπ β πΎ πππ· πππΌ
Batasan 6: Batasan kapasitas untuk depot yang diberikan ππ πππ β€ ππ , π β π· πβπΌ
Batasan 7: Sebuah customer dapat ditempatkan pada suatu depot jika terdapat rute dari depot dan melalui customer tersebut. π π (ππ’π + πππ ) β€ 1,
βπππ +
π β π·, π, π’ β πΌ βͺ π·, π β πΎ
π’ βπΌβͺπ·
Batasan 8: Nilai positif untuk variabel bantu πππ β₯ 0, π β πΌ, π β πΎ Algoritma Genetika pada Multi Depot Vehicle Routing Problem (MDVRP) Algoritma sebagai cabang dari Algoritma Evolusi merupakan metode adaptive yang biasa digunakan untuk memecahkan suatu pencarian nilai dalam
4
suatu masalah optimasi. Algoritma ini didasarkan pada proses genetic yang ada dalam makhluk hidup, yaitu prkembangan generasi dalam sebuah populasi yang alami, secara lambat laun mengikuti prinsip seleksi alam atauβsiapa yang kuat, dia yang bertahan (survivve)β. Dengan meniru teori evolusi ini, Algoritma Genetika dapat digunakan untuk mencari solusi permasalahan-permasalahan dalam dunia nyata(Basuki, Achmad, 2003) Pada proses algoritma genetika terdapat beberapa hal yang harus dilakukan, yaitu pengkodean (encoding), mendefinisikan nilai fitness, pembangkitan populasi awal, seleksi (selection), persilangan (crossover), mutasi (mutation). Pertama-tama, proses encoding adalah suatu proses kodifikasi atas solusi dari permasalahannya, prose ini juga bias disebut sebagai endefinisian individu. Hasil encoding adalah berbentuk string yang merupakan representasi dari suatu kromosom atau individu. Proses selection menentukan kromosom mana yang tetap tinggal pada generasi berikutnya. Proses crossover akan menghasilkan kromosom baru yang merupakan pengganti dari kromosom yang hilang sehinga total kromosom pada satu generasi berjumlah tetap. Proses mutation memungkinkan terjadinya kromosom baru secara unpredictable. Keseluruhan proses tersebut akan menghasilkan populasi baru, yang kemudian akan digunakan sebagai populasi awal pada proses iterasi selanjutnya.
1.
Pendefinisian individu(Encoding) Teknik encoding yang digunakan pada Multi Depot Vehicle Routing Problem adalah permutation encoding. Pada permutation encoding, kromosomkromosom adalah kumpulan angka yang mewakili posisi customer atau depot pada suatu rute. 2.
Pendefinisian Nilai Finess Pada evolusi di dunia nyata, individu bernilai fitness tinggi akan bertahan hidup, sedangkan individu bernilai fitness rendah akan mati. Pada Algoritma Genetika, suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran nilai fitness-nya. Pada masalah optimasi, jika masalahnya adalah 1 meminimalkan fungsi β(masalah minimasi), maka fungsinya adalah π = β , artinya semakin kecil nilai β semakin besar nilai π. Oleh karena itu digunakan 1 fungsi fitness π = . π‘ππ‘ππ πππππ
3.
Pembentukan populasi Salah satu cara dalam menghasilkan poulasi awal adalah dengan menggunakan Permutasi Josephus. Misalkan ada kota dari 1 sampai 9. Permutasi dari lintasan dapat dilakukan dengan menentukan titik awal dan selang. Misalnya titik awal adalah 6 dan selang adalah 5. Maka lintasan berangkat dari kota 6, selang 5 dari kota 6 adalah kota 2 (dengan asumsi kota 1 sampai 9 membentuk circular list). Kota 2 dihapus dari list. Selang 5 kemudian adalah kota 7. Proses ini diulang hingga semua kota terpilih. Hasil dari permutasi ini adalah 2 β 7 β 3 β 8 β 4 β 9 β 5 β 1 β 6.
5
4.
Seleksi Pada tahap seleksi digunakan metode roulette whell selection. Cara kerja metode ini adalah sebagai berikut: a) Menghitung nilai fitness dari masing-masing individu (ππ dimana π adalah individu ke-1 sampai dengan ke-π). b) Menghitung total fitness semua individu. c) Menghitung probabilitas masing-masing individu. d) Dari probabilitas tersebut, dihitung jatah masing-masing individu pada angka 0 sampai 1. e) Bangkitkan bilangan random antara 0 sampai 1. Dari bilangan random yang dihasilkan, ditentukan individu mana yang akan terpilih dalam proses seleksi. 5.
Crossover Pada tahap pindah silang(crossover) digunakan metode Order Crossover(OX). Pada proses crossover terlebih dahulu membangkitkan bilangan acak antara 0 dan 1 sebanyak kromosom dalam populasi. Jika nilai bilangan acak kromosom lebih kecil atau sama dengan probabilitas crossover ππ , maka kromosom tersebut akan mengalami proses crossover. Selanjutnya kromosom terpilih akan mengalami proses crossover dengan langkah sebagai berikut. 1. Menentukan dua posisi secara random pada kromosom sebagai substring. 2. Menyalin gen yang berada diantara substring tersebut ke keturunan dengan posisi yang sama. 3. Mengurutkan gen yang berada pada parent kedua dengan urutan gen yang berada setelah posisi random kedua diikuti dengan gen yang berada pada sebelum posisi random pertama dan diakhiri dengan gen yang berada pada posisi diantara substring. 4. Kemudian gen yang telah diurutkan tersebut dibandingkan dengan parent pertama. Apabila gen tersebut ada pada parent pertama maka abaikan gen tersebut dari urutan itu. 5. Kemudian memasukkan urutan yang baru saja didapat pada keturunan dengan cara memasukkan urutan gen pada posisi setelah posisi random kedua terlebih dahulu dan sisanya dimasukkan pada posisi sebelum posisi random pertama. Mengulangi langkah 3 sampai 5 untuk menghasilkan keturunan kedua. 6.
Mutasi Metode mutasi yang digunakan adalah Inversion Mutation, yaitu memilih dua posisi dalam kromosom secara random, kemudian menginversikan substring diantara dua posisi tersebut. Contoh Multi Depot Vehicle Routing Problem (MDVRP) dengan Algoritma Genetika Suatu perusahaan akan melakukan pengiriman barang kepada customer yang tersebar di berbagai daerah. Perusahaan tersebut memiliki 2 depot yang terletak diantara customer-customer, yaitu depot 0 dan depot 1. Adapun daftar permintaan tiap customer seperti pada Tabel 1 berikut:
6
Tabel 1 Jumlah permintaan tiap customer Customer permintaan 2 15 3 20 4 10 5 25 6 15 7 25 8 20 9 30 10 25
dan jarak depot ke customer dan antar customer dapat dilihat pada Tabel 2 berikut:
0 1 2 3 4 5 6 7 8 9 10
Tabel 2 Jarak depot ke customer dan antar customer 0 1 2 3 4 5 6 0 160 0 50 185 0 70 157 38 0 80 87 110 75 0 165 100 160 125 51 0 143 60 150 115 36 36 0 154 75 193 176 119 140 100 93 90 137 130 97 140 100 60 195 10 48 120 170 160 185 120 180 145 71 20 56
7
8
9
10
0 58 203 160
0 147 160
0 55
0
Dengan jumlah populasi adalah 6, probabilitas crossover (ππ = 0,65), probabilitas mutasi (ππ = 0,3) dan maksimum generasi adalah 2, diperoleh hasil sebagai berikut : Rute untuk depot 0 adalah 0 β 9 β 2 β 3 β 0 dan 0 β 4 β 0 dengan total jarak 338 km. Atau 0 β 2 β 9 β 3 β 0 dan 0 β 4 β 0 dengan total jarak 338 km. Rute untuk depot 1 adalah 1 β 10 β 5 β 6 β 1 dan 1 β 7 β 8 β 1 dengan total jarak 459 km. Atau 1 β 5 β 10 β 6 β 1 dan 1 β 7 β 8 β 1 dengan total jarak 459 km.
Selain contoh diatas, telah diselesaikan contoh lain dengan 3 depot dan 18 customer. Dan solusi dari masing-masing contoh dibandingkan dengan solusi menggunakan Algoritma Clark and Wright(Masruroh, Annisa, 2012). Solusi yang diperoleh dari masing-masing contoh disajikan dalam Tabel 3 berikut:
7
Tabel 3 Perbandingan solusi dengan Algoritma Genetika dan Algoritma Clark and Wright Contoh
Algoritma
depot
0 Genetika 1
1
Clark and Wright
0 1 0
Genetika
1 2
2
0 Clark and Wright
1 2
Rute 0β9β2β3β0 Atau 0β2β9β3β0 0β4β0 1 β 10 β 5 β 6 β 1 Atau 1 β 5 β 10 β 6 β 1 1β7β8β1 0β2β9β3β0 0β4β0 1 β 6 β 5 β 10 β 1 1β7β8β1 0 β 16 β 13 β 15 β 0 0 β 7 β 10 β 0 1 β 4 β 11 β 17 β 1 1 β 6 β 20 β 12 β 5 β 14 β 1 2 β 19 β 18 β 3 β 2 2β8β2 0 β 9 β 15 β 13 β 16 β 0 0 β 10 β 7 β 0 1 β 4 β 5 β 12 β 20 β 14 β 17 β 6 β 1 1 β 11 β 1 2 β 8 β 18 β 19 β 2
jarak
Total jarak
338 797 459
338 797 459 405 448
1285
432 395 396
1115
324
Terlihat bahwa dengan Algoritma Genetika dimungkinkan diperoleh beberapa solusi dengan total jarak yang sama-sama minimum, seperti solusi pada contoh 1, diperoleh 4 rute dengan total jarak yang sama. Namun solusi pada Algoritma Genetika tidak selalu merupakan solusi yang terbaik, karena solusi diperoleh dari solusi terbaik pada iterasi terakhir, seperti terlihat pada contoh 2, solusi pada Algoritma Genetika kurang optimum jika dibandingkan dengan solusi menggunakan Algoritma Clark and Wright. Dan untuk contoh dengan banyak titik akan diperlukan jumlah iterasi atau maksimum generasi yang banyak pula, hal ini akan membutuhkan waktu pengerjaan yang lebih lama. PENUTUP Kesimpulan Berdasarkan pembahasan diperoleh kesimpulan sebagai berikut: 1. Model permasalahan yang akan diselesaikan menggunakanMDVRP dengan Algoritma Genetika digambarkan sebagai Graph komplit πΎπ , dengan π adalah jumlah depot dan customer.Algoritma Genetika pada MDVRP dapat dibagi ke dalam 3 tahap, yaitu Grouping, Routing, dan Scheduling. Pada tahap Grouping, customer-customer dikelompokkan ke depot dengan jarak terdekat. Kemudian pada tahap Grouping, dibangun sejumlah rute dengan Permutasi Josephus untuk customer-customer pada depot yang sama,
8
sehingga sejumlah rute tersebut akan menjadi populasi awal. Selanjutnya, pada tahap Scheduling dilakukan proses-proses genetika, diantaranya seleksi dengan metode roulette berdasarkan nilai finess dari masing-masing kromosom, kemudian pindah silang (crossover) dengan metode Order Crossover(OX) dan mutasi dengan metode Inversion Mutation. Setelah itu, kromosom-kromosom awal dan kromosom hasil pindah silang maupun mutasi dikumpulkan dan dipilih sejumlah kromosom terbaik sebagai hasil dari iterasi, dan nantinya akan digunakan sebagai populasi awal pada iterasi berikutnya. Proses ini akan dilakukan berulang-ulang sampai batas maksimum iterasi telah tercapai, sehingga kromosom dengan fitness terbaik(dengan jarak minimum) pada iterasi terakhir akan menjadi solusi dari Algoritma Genetika pada MDVRP. 2.
Jika dibandingkan dengan Algoritma Clark and Wright, solusi pada Algoritma Genetika pada MDVRP tidak selalu merupakan solusi yang terbaik, karena pencarian dilakukan dengan cara random, namun hasil yang diperoleh pada algoritma Genetika bisa lebih dari satu solusi atau beragam, sehinngga diperoleh alternatif solusi. Seperti pada contoh 2 diperoleh alternatif solusi dengan total jarak yang sama, yaitu 0 β 9 β 2 β 3 β 0 dan 1 β 10 β 5 β 6 β 1, 0 β 9 β 2 β 3 β 0 dan 1 β 5 β 10 β 6 β 1, 0 β 2 β 9 β 3 β 0 dan 1 β 10 β 5 β 6 β 1, 0 β 2 β 9 β 3 β 0 dan 1 β 5 β 10 β 6 β 1, dengan total jarak yang sama yaitu 797 km.
Saran Dalam tulisan ini, metode pindah silang yang digunakan adalah OX dan metode mutasi yang digunakan adalah Inversion Mutation, dimungkinkan bagi pembaca untuk menganalisa hasil penyelesaian menggunakan metode pindah silang dan metode mutasi yang lain. Dan belum dikaji bagaimana Implementasi Algoritma Genetika pada suatu program tertentu, dimungkinkan bagi pembaca untuk mengkaji Implementasi Algoritma Genetika pada Bahasa pemrograman tertentu. DAFTAR PUSTAKA Aldous, Joan M. and Wilson, Robin J. 2004. Graphs and Applications An Introductory Approach. Great Britain: Springer. Basuki, Achmad. 2009. Algoritma Genetika. (Online) (http://budi.blog.undip.ac.id/files/2009/06/algoritma_genetika.pdf), diakses pada 12 Januari 2013. Desiani, Anita dan Arhani, Muhammad. 2007. Konsep Kecerdasan Buatan. Andi Publisher. Larson, Richard C., and Odini, Amedeo R. 1999. Urban Operations Research. Massachusetts: Prentice-Hall. (Online), (http://web.mit.edu/urban_or_book/www/book/chapter6/6.4.12.html), diakses 10 Mei 2013.
9
Masruroh, Annisa. 2012. Algoritma Clark and Wright pada Multi Depot Vehicle Routing Problem. Skripsi tidak diterbitkan. Malang: Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Negeri Malang. Surekha, P. & Sumathi, S. 2011. Solution To Multi-Depot Vehicle Routing Problem Using Genetic Algorithms. WAP Journal, (Online), 1(3) : 118131, (http://waprogramming.com/papers/voll-no3/%28118131%29%20Solution%To%20MultiDepot%20Vehicle%20Routing%20Problem%20Using%20Genetic%20Al gorithms.pdf), diakses 2 Januari 2013. Sarwadi & KSW, Anjar. 2004. Algoritma Genetika untuk Penyelesaian Masalah Vehicle Routing. Jurnal Matematika dan Komputer, (Online), 7(2) : 1-10, (http://eprints.undip.ac.id/2226/1/1_Sarwadi_-_Anjar_Krismi.pdf), diakses 3 Januari 2013.