Penerapan Adaptive Genetic Algorithm dengan Fuzzy Logic Controller pada Capacitated Vehicle Routing Problem Tri Kusnandi Fazarudin 1, Rasyid Kurniawan 2, Mahmud Dwi Sulistiyo 3 1,2 Prodi S1 Teknik Informatika, Fakultas Informatika, Universitas Telkom 1 inet113112258@gmail.com, 2 rasyidk@gmail.com, 3 mahmuddwis@telkomuniversity.ac.id Abstrak Capacitated Vehicle Routing Problem (CVRP) merupakan permasalahan pendistribusian barang dari sebuah depot kepada sejumlah pelanggan menggunakan beberapa kendaran dengan batas kapasitas tertentu. Tujuan utama dari CVRP adalah bagaimana proses pendistribusian barang dapat dilakukan secara efisien sehingga dapat menghemat biaya dengan meminimalkan jarak yang perlu ditempuh. Biaya pengiriman barang dari depot ke konsumen yang optimal dapat mengurangi biaya produksi dari perusahaan tersebut. Penentuan jalur pengiriman yang optimal dapat menekan biaya pengiriman barang pada sebuah perusahaan. Genetic Algorithm (GA) dipilih karena cocok untuk penyelesaian masalah stokastik dan dapat mencari nilai optimum global lebih cepat karena tidak semua kemungkinan nilai dihitung. Tetapi, GA dapat terjebak dalam optimum lokal. Salah satu strategi yang dapat digunakan untuk mengurangi kemungkinan terjadinya hal tersebut adalah dengan membuat GA menjadi adaptif. Parameter pada GA dibuat menjadi adaptif menggunakan Fuzzy Logic Controller (FLC). Pada inisialisasi individu pada GA, digunakan greedy search berdasarkan lokasi pelanggan dengan jarak yang terdekat untuk menentukan daftar jalur acuan agar pencarian pada GA tidak terlalu acak sehingga pencarian jalur optimal dapat menjadi lebih cepat. Rata-rata akurasi dari penelitian yang telah dilakukan adalah 86,81% dari solusi yang paling optimal yang disertakan pada dataset. Kata kunci: Capacitated Vehicle Routing Problem, Genetic Algorithm, Fuzzy Logic Controller, greedy search, rute optimal 1. Pendahuluan Proses pendistribusian barang pada sebuah perusahaan merupakan salah satu hal penting. Biaya distribusi barang dari produsen (depot) ke konsumen yang optimum dapat mengurangi biaya produksi dari perusahaan tersebut. Pada proses pendistribusian barang, depot akan mengirim barang ke konsumen dengan beberapa kendaraan dimana setiap kendaraan memiliki kapasitas maksimal yang dapat dimuat. Permasalahan tersebut dapat dimodelkan dalam Capacitated Vehicle Routing Problem (CVRP). Tujuan utama pada penelitian ini adalah mencari komposisi jalur pengiriman untuk setiap kendaraan dengan total jarak terpendek pada kasus CVRP menggunakan Adaptive Genetic Algorithm (GA) dengan Fuzzy Logic Controller (FLC). GA dibuat berdasarkan mekanisme pencarian paralel yang terinspirasi dari alam. GA dipilih karena cocok untuk penyelesaian masalah stokastik dan dapat mencari nilai optimum global lebih cepat karena tidak semua kemungkinan nilai dihitung. GA dapat terjebak dalam optimum lokal. FLC adalah sistem yang digunakan untuk mengontrol sistem lain (GA). FLC digunakan untuk membuat parameter GA menjadi adaptif. GA yang adaptif dapat menghindari terjsdinys konvergensi prematur. Batasan masalah pada penelitian ini adalah data menggunakan CVRP dataset oleh Cordeau [2]. Inisialisasi populasi menggunakan greedy search berdasarkan jarak yang terdekat. Sistematika penulisan pada paper ini adalah sebagai berikut. Bab II berisi resume penelitianpenelitian terdahulu yang berhubungan dengan penelitian. Bab III berisi penjelasan adaptive GA. Bab IV berisi rancangan sistem yang dibuat. Bab V berisi hasil implementasi sistem dan analisis hasil. Bab VI berisi kesimpulan dan saran dari penelitian. 2. AdaptiveGeneticAlgorithm Adaptive Genetic Algorithm (GA) adalah pengembangan dari GA dengan parameter yang dapat menyesuaikan dengan keadaan populasi. Adaptive GA terdiri dari GA dan sistem lain yang digunakan untuk mengontrol parameter pada GA. Keunggulan Adaptive GA dibandingkan dengan GA biasa adalah dapat menghindari konvergensi prematur yang sering terjadi pada GA biasa. Konvergensi prematur merupakan keadaan pada saat solusi yang dihasilkan terjebak pada optimum lokal mulai dari awal generasi sampai akhir pencarian. 79
3.Genetic Algorithm GeneticAlgorithm (GA) adalah salah satu teknik searching pada kecerdasan buatan yang bersifat probabilistik. GA dapat menghasilkan solusi yang berbeda-beda setiap kali dijalankan meskipun menggunakan persoalan dan pengaturan yang sama. Keunggulan GA adalah waktu komputasinya lebih cepat untuk permasalahan yang luas dibandingkan jika menggunakan teknik searching lain. Namun, GA mempunyai kekurangan yaitu hasil dari pencarian seringkali bukan merupakan solusi yang optimal, hanya mendekati optimal. GA cocok untuk digunakan pada permasalahan yang luas dan jika solusi yang diperlukan tidak harus yang paling optimal, cukup yang mendekati optimal. 4.Representasi individu Individu perlu direpresentasikan kedalam kromosom dengan menggunakan pengkodean yang sesuai dengan permasalahan yang dihadapi [6]. Terdapat beberapa pengkodean untuk representasi individu pada GA. Salah satunya adalah dengan pengkodean permutasi. Pengkodean permutasi adalah pengkodean yang menghasilkan sebuah individu yang setiap gen pada kromosomnya menyatakan suatu urutan. Setiap gen pada kromosom merupakan bilangan integer dari 1 sampai n jumlah pelanggan yang muncul tepat satu kali. Pengkodean ini cocok untuk digunakan pada permasalahan penentuan urutan. Gambar 3 Contoh Kromosom dengan Pengkodean Permutasi 5.Evaluasi Individu Fungsi fitness pada GA merupakan fungsi objektif yang digunakan untuk mengevaluasi korespondensi dari nilai phenotype (nilai decode gen pada nilai sebenarnya) dari sebuah kromosom [6]. Fungsi fitness terdiri dari dua fungsi utama yakni fungsi fitness untuk minimasi dan maksimasi. Pada penelitian ini yang digunakan adalah fitness untuk kasus minimasi, fungsi objektif yang digunakan yang dapat dilihat pada rumus berikut ini: Keterangan: f: nilai fitness j: jumlah jarak pada semua rute t: banyaknya pelanggan yang tidak terlayani 6.Rekombinasi Rekombinasi atau crossover adalah proses pindah silang gen dari dua buah kromosom orangtua untuk menghasilkan dua buah kromosom anak yang semua gennya berasal dari kromosom orangtua [6]. Metode rekombinasi biasa tidak dapat digunakan pada permasalahan dengan pengkodean permutasi karena terkadang menghasilkan kromosom yang tidak valid untuk pengkodean permutasi. Untuk itu, diperlukan metode rekombinasi khusus yang dapat digunakan untuk pengkodean permutasi, salah satunya adalah order crossover. Pada order crossover dilakukan pertukaran bagian gen dari kedua orang tua yang telah ditandai sebelumnya. Sementara gen selain bagian tersebut tetap dijaga. TP1 TP2 (1) Orangtua 1 1 5 2 7 6 4 8 3 2 7 6 Anak 1 Orangtua 2 3 2 1 8 4 6 7 5 1 8 4 Anak 2 Gen orangtua 2 yang belum ada di Anak 1, terurut setelah TP2: {5, 3, 1, 8, 4} 8 4 2 7 6 5 3 1 Anak 1 Gen orangtua 1 yang belum ada di Anak 2, terurut setelah TP2: {3, 5, 2, 7, 6} 7 6 1 8 4 3 5 2 Gambar 4 Contoh Rekombinasi OrderCrossover [6] Anak 2 80
7.Mutasi Mutasi adalah proses pengubahan gen pada kromosom untuk mendapatkan kromosom yang baru [6]. Sama halnya seperti rekombinasi, mutasi biasa tidak dapat digunakan pada permasalahan dengan pengkodean permutasi karena terkadang menghasilkan kromosom yang tidak valid untuk pengkodean permutasi. Untuk itu, diperlukan metode mutasi khusus yang dapat digunakan untuk pengkodean permutasi, salah satunya adalah inversion mutation. Inversion mutation dilakukan dengan memilih dua titik potong pada kromosom secara acak. Kemudian urutan posisi setiap gen dibalik. Kromosom awal 1 5 2 7 6 4 8 3 Kromosom hasil mutasi 1 5 8 2 7 6 4 3 Gambar 5 Contoh InversionMutation [6] 8.Fuzzy Logic Controller Fuzzy Logic Controller (FLC) berfungsi untuk mengatur parameter dari suatu sistem yang sedang dikontrol (dalam hal ini GA) berdasarkan keadaan sebelumnya dari sistem tersebut. FLC terdiri dari fuzzification interface, rule base, sistem inferensi, dan defuzzification interface. Gambar 6 Struktur Umum FuzzyLogicController [4] Proses yang terjadi pada FLC adalah sebagai berikut [7]: 1. Fuzzification adalah proses pengubahan crisp input (masukan dengan nilai kebenaran yang batasannya bersifat jelas), menjadi fuzzy input (masukan dengan nilai kebenaran yang bersifat samar) menggunakan fungsi keanggotaan yang telah ditentukan. 2. Inferensi adalah proses penalaran menggunakan fuzzy rules yang telah ditentukan berdasarkan fuzzy input yang ada dan menghasilkan fuzzy output. 3. Defuzzification adalah proses pengubahan fuzzy output menjadi crisp output menggunakan fungsi keanggotaan yang telah ditentukan untuk menentukan perubahan parameter GA. 9.Inferensi Model Sugeno Model ini sering digunakan untuk membangun sistem kontrol (dalam hal ini pengontrolan parameter GA) yang membutuhkan respon cepat. Karena proses perhitungannya yang sederhana, model ini cocok untuk sistem kontrol [7]. Proses defuzzification pada model ini menggunakan fungsi keanggotaan singleton. Gambar 7 Grafik Fungsi Keanggotaan Singleton [7] 10.Variabel Linguistik Pengontrolan GA dilakukan pada setiap sampling rate tertentu. Parameter yang menjadi masukan adalah lama generasi yang sudah berjalan dan Phenotypic Diversity (PD). PD adalah ukuran keragaman fenotip dari semua individu pada populasi GA dengan rentang nilai [0,1]. PD dapat dihitung dengan rumus berikut [4]: PD = 1 f r f b + f w f r 1 2 81
(2) Keterangan: PD: Phenotypic Diversity f r: fitness rata-rata f b: fitness terbaik f w: fitness terburuk Pengontrolan GA dilakukan pada: 1. Probabilitas rekombinasi. 2. Probabilitas mutasi. 3. Penentuan banyaknya individu yang akan diinisialisasi ulang untuk menghindari keadaan populasi yang bertumpuk pada suatu nilai fitness tertentu. 7. Perancangan Sistem 7.1. Spesifikasi Sistem Spesifikasi sistem yang digunakan adalah sebagai berikut. Tabel 4 Spesifikasi Sistem Parameter masukan bagi sistem adalah nama instansi CVRP. Nama instansi tersebut akan menentukan letak konsumen, depot, serta keterangan mengenai batasan-batasan yang diperlukan. Parameter kontrol pada sistem adalah sebagai berikut: 1. Ukuran populasi. 2. Probabilitas rekombinasi (p r). 3. Probabilitas mutasi (p m). 4. Fungsi keanggotaan. 5. Fuzzyrules. 6. Sampling rate yang menyatakan setiap berapa generasi pengontrolan GA perlu dilakukan oleh FLC. 7. Kondisi berhenti berupa jumlah generasi maksimal dan batas tunggu generasi. Sistem akan berhenti mencari solusi jika generasi sudah mencapai batas generasi maksimal, atau jika tidak ditemukan solusi yang lebih baik setelah mencapai batas tunggu generasi yang ditentukan. Spesifikasi fungsi keanggotaan dari variabel masukan dan variabel keluaran dari FLC adalah sebagai berikut. 82
Gambar 8 Grafik Fungsi Keanggotaan Variabel Masukan Tabel 5 Fungsi Keanggotaan Variabel Keluaran Spesifikasi dari fuzzy rules yang digunakan adalah sebagai berikut: Gambar 9 Daftar FuzzyRules Keterangan: p i: banyaknya individu yang perlu diinisialisasi ulang G: jumlah generasi yang sudah berjalan PD: phenotypic diversity 7.2Alur Kerja Sistem Flow chart dari proses pada rancangan sistem adalah sebagai berikut: Gambar 10FlowChart Proses pada Rancangan Sistem Adapun performansi sistem yang dinyatakan dengan tingkat akurasi di sini dihitung menggunakan rumus sebagai berikut. 83
Akurasi = 1 100% (3) ISSN : 2407-6511 8.Implementasi dan Analisis Rancangan sistem yang telah dibuat kemudian diimplementasikan, dilakukan pengujian, dan dianalisis hasilnya. Pengujian yang dilakukan menggunakan instansi p01, p02, dan p06 dari CVRP library [2]. Tabel dibawah ini menyatakan spesifikasi permasalahan pada setiap instansi. Tabel 6 Spesifikasi Instansi Masalah Nama Instansi Jumlah Jumlah Total Jarak Kapasitas Kota Kendaraan Optimal p01 50 5 160 524,61 p02 75 12 140 835,26 p03 50 7 160 555,43 Berikut ini adalah hasil running untuk setiap instansi. Gambar 11Screenshot Hasil Running Instansi p01 Gambar 12Screenshot Hasil Running Instansi p02 Gambar 13Screenshot Hasil Running Instansi p06 Berikut ini adalah tabel rincian hasil running sistem untuk ketiga instansi. Tabel 7 Rincian Hasil Running untuk p01, p02, dan p06 Kendaraan Jarak yang Ditempuh Barang Bawaan Banyaknya Pelanggan p01 p02 p06 p01 p02 p06 p01 p02 p06 1 112,68 44,79 126,62 157 114 160 11 6 9 2 143,36 83,93 84,02 151 137 157 10 8 10 84
3 98,87 73,56 133,23 156 140 156 10 7 10 4 131,95 80,42 136,45 160 132 154 11 7 11 5 121,43 43,94 131,89 153 135 150 8 7 10 6 78,17 0,00 133 0 7 0 7 127,55 0,00 129 0 6 0 8 124,77 131 10 9 143,74 134 7 10 115,76 127 8 11 30,61 52 2 12 0,00 0 0 Jumlah 608,30 947,24 612,22 777 1364 777 50 75 50 ISSN : 2407-6511 Berdasarkan ketiga hasil running diatas, dapat diperoleh akurasi sistem terhadap solusi yang paling optimal untuk setiap instansi masalah adalah sebagai berikut. Tabel 8 Ringkasan Hasil Running Sistem No Solusi Optimal SolusiSistem Akurasi p01 524,61 608,30 84,05% p02 835,26 947,24 86,59% p06 555,43 612,22 89,78% Akurasi rata-rata sistem (86,81%) yang belum terlalu tinggi atau masih memungkinkan untuk dikembangkan lagi disebabkan karena spesifikasi atau rancangan FLC yang digunakan belumoptimal. Hal ini sangat memungkinkan untuk ditingkatkan hasilnya apabila dilakukan observasi terhadap beberapa parameter pada FLC yang berpengaruh terhadap performansi sistem. 9.Simpulan Saran Kesimpulan yang diperoleh dari pengerjaan penelitian ini adalah GA dapat digunakan untuk menyelesaikan CVRP. Pada inisialisasi populasi, perlu adanya pencarian deterministik untuk dijadikan acuan dalam pencarian solusi oleh GA. Adaptive GA lebih baik karena dapat menyesuaikan diri dengan keadaan populasi. FLC dapat digunakan untuk mengadaptasikan parameter-parameter pada GA agar dapat menghindari konvergensi prematur dan menghindari solusi yang terjebak pada optimum lokal. Untuk penelitian selanjutnya, perlu adanya penelitian lebih lanjut untuk spesifikasi FLC agar dapat menghasilkan solusi yang optimal. Daftar Pustaka: [1] Chun-Ying Liu. 2013. An Improved Adaptive Genetic Algorithm for the Multi-depot Vehicle Routing Problem with Time Window. Department of Computer and Information Engineering. Heze University. Cina. [2] CVRP dataset. http://neumann.hec.ca/chairedistributique/data/vrp/. Diunduh pada tanggal 24 November 2014. [3] Eddy Roflin. 2010. Genetic Algorithm Approach for Capacitated Vehicle Routing Problem with Fuzzy Demand. Edisi Khusus Juni 2010 (A). Jurnal Penelitian Sains. [4] Herrera, Fransisco dan Lozano, Manuel. (tanpa tahun). "Adaptation of Genetic Algorithm Parameters Based on Fuzzy Logic Controllers". University of Granada. Spanyol. [5] Mario Frutos et al,. 2012. A New Approach to Optimization of the CVRP through Genetic Algorithms. American Journal of Operations Research. [6] Suyanto. 2008. Evolutionary Computation: Komputasi Berbasis Evolusi dan Genetika. Penerbit Informatika. Bandung, Indonesia. [7] Suyanto. 2008. Soft Computing: Membangun Mesin Ber-IQ Tinggi. Penerbit Informatika. Bandung, Indonesia. 85