Algoritma Genetika PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM MENGGUNAKAN ALGORITMA GENETIKA DAN NEAREST NEIGHBOUR PADA PENDISTRIBUSIAN ROTI DI CV JOGJA TRANSPORT.

17 Menurut Takes 2010:14, terdapat dua jenis CVRP. Jenis CVRP yang pertama adalah Homogeneous CVRP. Homogeneous CVRP adalah masalah CVRP dengan kapasitas tiap kendaraan sama. Jenis CVRP yang kedua adalah Heterogeneous CVRP. Heterogeneous CVRP adalah masalah CVRP yang kapasitas kendaraannya berbeda satu sama lain.

2.5. Algoritma Genetika

Berikut akan diberikan pengertian, istilah-istilah, komponen, dan parameter dari Algoritma Genetika. 2.5.1 Pengertian Algoritma Genetika Algoritma Genetika merupakan suatu metode heuristic yang dikembangkan berdasarkan prinsip genetika dan proses seleksi alamiah Teori Evolusi Darwin. Metode optimasi dikembangkan oleh John Holland sekitar tahun 1960-an dan dipopulerkan oleh salah seorang mahasiswanya, David Goldberg, pada tahun 1980-an Haupt dan Haupt, 2004:22. Proses Algoritma Genetika secara umum untuk semua kasus adalah mendefinisikan individu, mendefinisikan nilai fitness, menentukan proses pembangkitan populasi awal, menentukan proses seleksi, menentukan proses perkawinan silang dan mutasi gen yang akan digunakan Ahmad Basuki, 2003: 4. 18 2.5.2 Istilah – istilah dalam Algoritma Genetika Berikut diberikan beberapa definisi dari istilah penting yang perlu diperhatikan dalam menyelesaikan masalah menggunakan Algoritma Genetika Satriyanto, 2009:70: 1. Gen Genotype merupakan sebuah nilai yang menyatakan satuan dasar yang membentuk arti tertentu dalam satu kromosom. Gen dapat direpresentasikan dengan bilangan biner, float, integer, karakter, dan kombinatorial. 2. Kromosom merupakan gabungan gen-gen yang membentuk nilai tertentu. 3. Individu merupakan suatu nilai atau keadaan yang menyatakan salah satu solusi yang mungkin dari permasalahan yang diangkat. 4. Populasi merupakan sekumpulan individu yang akan diproses bersama dalam satu siklus proses evolusi. Populasi terdiri dari sekumpulan kromosom. 5. Induk adalah kromosom yang akan dikenai operasi genetika crossover. 6. Crossover atau pindah silang adalah operasi genetika yang mewakili proses perkembangbiakan antar individu. 7. Offspring yang juga dikenal sebagai keturunan atau anak adalah kromosom yang merupakan hasil dari pindah silang. 8. Mutasi merupakan operasi genetika yang mewakili proses mutasi dalam perjalanan hidup individu. Mutasi berperan menghasilkan perubahan acak dalam populasi, yang berguna untuk menambah variasi dari kromosom-kromosom dalam sebuah populasi. 19 9. Proses seleksi merupakan proses yang mewakili proses seleksi alam natural selection dari teori Darwin. Proses ini dilakukan untuk menentukan induk dari operasi pindah silang yang akan dilakukan untuk menghasilkan anak. 10. Nilai fitness merupakan penilaian yang menentukan bagus tidaknya sebuah kromosom. 11. Fungsi evaluasi adalah fungsi yang digunakan untuk menentukan nilai dari nilai fitness. Fungsi evaluasi ini merupakan sekumpulan kriteria-kriteria tertentu dari permasalahan yang ingin diselesaikan. 12. Generasi merupakan satuan dari populasi setelah mengalami operasi-operasi genetika, berkembang biak, dan menghasilkan keturunan. Kromosom-kromosom yang mempunyai nilai fitness yang rendah dan memiliki peringkat dibawah nilai minimal akan dihapus dari populasi pada akhir dari setiap generasi, untuk menjaga agar jumlah kromosom dalam populasi tetap konstan. 2.5.3 Komponen Algoritma Genetika Algoritma Genetika memiliki beberapa komponen, diantaranya yaitu: 1. Penyandian Gen Pengkodean Komponen ini merupakan proses penyandian gen dari kromosom. Gen merupakan bagian dari kromosom, satu gen akan mewakili satu variabel. Gen dapat direpesentasikan dalam bentuk bit, bilangan real, daftar aturan, elemen permutasi, elemen program atau representasi lainnya yang dapat diimplementasikan dalam operator genetika Satriyanto, 2009:74. 20 Penelitian ini menggunakan teknik pengkodean permutasi pada representasi gen, yaitu tiap gen dalam kromosom merepresentasikan suatu urutan Samuel, dkk, 2005. Contoh 2.3: kromosom 1 = 2 3 4 5 1 6 7 Keterangan: kromosom 1 berisi urutan secara acak gen kesatu sampai ke tujuh. Gen direpresentasikan dengan sebuah bilangan dan bilangan-bilangan tersebut representasi dari masing-masing kota. 2. Membangkitkan Populasi Awal Membangkitkan populasi awal dilakukan dengan membangkitkan sejumlah individu secara acak atau melalui prosedur tertentu. Ukuran populasi tergantung pada masalah yang akan diselesaikan dan jenis operator genetika yang akan diterapkan. Setelah ukuran populasi ditentukan, kemudian dilakukan pembangkitan populasi awal menggunakan teknik tertentu Sri Kusumadewi, 2003: 281. Teknik dalam pembangkitan populasi awal ini ada beberapa cara, diantaranya adalah random generator, pendekatan tertentu, dan permutasi gen. Skripsi ini menggunakan teknik pembangkitan populasi berupa random generator, yaitu dengan melibatkan pembangkitan bilangan random untuk nilai setiap gen sesuai dengan representasi kromosom yang digunakan. 3. Menentukan Nilai Fitness Fungsi yang digunakan untuk mengukur baik-tidaknya suatu individu sebagai solusi disebut dengan fungsi fitness fitness function. Nilai yang dihasilkan dari fungsi 21 tersebut menandakan seberapa optimal solusi yang diperoleh. Algoritma Genetika bertujuan mencari individu dengan nilai fitness tertinggi Ahmad Basuki, 2003: 6. Permasalahan CVRP bertujuan meminimalkan jarak, sehingga nilai fitness adalah inversi dari total jarak dari jalur yang didapatkan atau menggunakan rumus: Nilai fitness = � 2.8 atau Nilai fitness = . − � 2.9 dimana x adalah total jarak dari jalur yang didapatkan. 4. Seleksi Seleksi bertujuan untuk memilih dua buah kromosom secara proporsional sesuai dengan nilai fitness-nya untuk dijadikan sebagai induk Michalewicz, 1996:75. Proses pemilihan tersebut dapat dipilih berdasarkan probabilitas dari masing – masing individu. Probabilitas dari setiap individu tersebut ditentukan oleh nilai fitnessnya masing – masing. Menurut Kusumadewi 2003:105, terdapat beberapa metode yang dapat digunakan dalam melakukan seleksi, yaitu rank-based fitness assignment, roulette wheel selection, stochastic universal sampling, local selection, truncation selection, dan tournament selection. Skripsi ini menggunakan metode seleksi Roulette Wheel. Metode seleksi Roulette Wheel merupakan metode yang sangat akurat dalam memilih kromosom untuk dijadikan sebagai induk. Metode ini seleksi yang menirukan permainan Roulette Wheel di mana masing-masing kromosom menempati potongan 22 lingkaran pada roda roulette secara proporsional sesuai dengan nilai fitnessnya. Kromosom yang memiliki nilai fitness lebih besar menempati potongan lingkaran yang lebih besar dibandingkan kromosom bernilai fitness rendah. Sehingga semakin besar nilai fitness suatu kromosom maka semakin besar juga kesempatan kromosom tersebut untuk terpilih. Cara kerja metode seleksi ini yaitu dengan membuat interval nilai kumulatif dari nilai fitness masing masing kromosom dibagi total nilai fitness dari semua kromosom. Sebuah kromosom akan terpilih jika bilangan random yang dibangkitkan berada dalam interval kumulatifnya Zainudin, 2014. Selain itu, metode seleksi Roulette Wheel ini juga mudah diimplementasikan dalam pemrograman. 5. Crossover Pindah Silang Crossover atau pindah silang merupakan operator Algoritma Genetika yang bertujuan untuk membentuk kromosom baru dengan melibatkan dua induk yang telah terseleksi sebelumnya. Pindah silang akan menghasilkan sepasang anak baru dari dua induk. Setiap pasang induk akan dibangkitkan sebuah bilangan acak. Jika bilangan acak tersebut bernilai kurang dari Probabilitas crossover � antara 0,6 sd 0,95 maka induk tersebut akan dikenai pindah silang. Jika pindah silang tidak dilakukan, maka nilai dari induk akan diturunkan sepenuhnya kepada anak Michalewicz, 1996: 35. Secara singkat, pindah silang adalah proses pertukaran gen yang bersesuaian dari dua induk untuk menghasilkan individu baru yang akan membawa sifatgen induknya. Secara skematis, proses crossover dapat dilihat pada gambar 2.4. 23 Gambar 2.4 Skema alur proses crossover Teknik crossover yang digunakan dalam skripsi ini adalah teknik order crossover. Order crossover OX diperkenalkan oleh Davis Wira, 2010: 47. Teknik ini dijelaskan dalam contoh sebagai berikut: Contoh 2.4: Dari 2 induk diketahui: Induk 1 = 1 2 3 | 4 5 6 7 |8 9 Induk 2 = 4 5 2 | 1 8 7 6 |9 3 Dibangkitkan 2 bilangan acak sebelum gen Induk 1 dan setelah gen Induk 1. Hal yang sama juga dilakukan untuk Induk 2. Didapatkan anak dengan gen yang sama: Anak 1 = x x x | 4 5 6 7 |x x Anak 2 = x x x | 1 8 7 6 |x x ya Induk 1 Induk 2 p = random[0,1] p Pc Crossover tidak 24 Langkah berikutnya untuk mendapatkan Anak 1 adalah mengurutkan gen yang berada pada Induk 2 dengan urutan gen yang berada pada posisi setelah bilangan acak kedua diikuti dengan gen yang berada pada posisi sebelum bilangan acak pertama dan diakhiri dengan gen yang berada pada posisi diantara kedua bilangan acak. 9-3-4-5-2-1-8-7-6 Kemudian gen yang telah diurutkan tersebut dibandingkan dengan Anak 1. Apabila gen tersebut ada pada Anak 2 maka abaikan gen tersebut dari urutan itu. Kemudian urutan yang baru saja didapat dimasukkan pada anak dengan cara memasukkan urutan gen pada posisi setelah bilangan acak kedua terlebih dahulu dan sisanya dimasukkan pada posisi sebelum bilangan acak pertama. Begitu juga untuk menghasikan Anak 2. Anak 1 diperoleh: Anak 1 = x x x | 4 5 6 7 |x x Anak 1 = 2 1 8 | 4 5 6 7| 9 3 dengan jalan yang sama dibuat Anak 2 sehingga: Anak 2 = x x x | 1 8 7 6 |x x Anak 2 = 3 4 5 | 1 8 7 6 |9 2 6. Mutasi Anak hasil proses pindah silang selanjutnya dilakukan proses mutasi. Variabel anak dimutasi dengan menambahkan nilai random yang sangat kecil, dengan probabilitas yang rendah. Probabilitas mutasi � didefinisikan sebagai persentasi dari jumlah total gen pada populasi yang mengalami mutasi. � mengendalikan 25 banyaknya gen baru yang akan dimunculkan untuk dievaluasi. Jika � terlalu kecil, banyak gen yang mungkin berguna tidak pernah dievaluasi. Tetapi jika � terlalu besar, maka akan terlalu banyak gangguan acak, sehingga anak akan kehilangan kemiripan dari induknya, dan juga algoritma akan kehilangan kemampuan untuk belajar dari pencarian sebelumnya Sri Kusumadewi, 2003:296. Ada beberapa teknik dalam melakukan mutasi. Teknik mutasi yang digunakan dalam skripsi ini adalah teknik swapping mutation. Teknik ini diawali dengan memilih dua bilangan acak kemudian gen yang berada pada posisi bilangan acak pertama ditukar dengan gen yang berada pada bilangan acak kedua dalam probabilitas tertentu Suyanto, 2005: 65. Secara skematis, proses mutasi dapat dilihat pada gambar 2.5. Gambar 2.5 Skema alur proses mutasi tidak Individu p = random[0,1] p Pm Genr dimutasi ya r = random 26 7. Elitism Elitism merupakan proses untuk menjaga agar individu bernilai fitness tertinggi tidak hilang selama evolusi. Proses evolusi merupakan proses Algoritma Genetika mulai dari pembentukan populasi awal hingga evaluasi nilai fitness dari populasi baru yang terbentuk. Elitism dilakukan karena proses seleksi dilakukan secara random sehingga tidak ada jaminan bahwa individu dengan nilai fitness tertinggi akan selalu dipilih. Walaupun individu bernilai fitness tertinggi terpilih, mungkin saja individu tersebut akan menurun nilai fitnessnya karena proses pindah silang atau mutasi. Oleh sebab itu perlu dibuat satu atau beberapa copynya untuk menjaga agar individu bernilai fitness tertinggi tersebut tidak hilang selama evolusi Suyanto, 2005: 14. Berikut diberikan skema alur Algoritma Genetika pada Gambar 2.6. Gambar 2.6 Skema alur Algoritma Genetika Membangkitkan Populasi Awal Evaluasi Fungsi Tujuan Individu Terbaik Seleksi Perkawinan Silang Mutasi Optimal Ya Tidak Mulai Selesai Populasi Baru 27 2.5.4 Parameter Algoritma Genetika Proses Algoritma Genetika membutuhkan parameter – parameter yang ideal untuk digunakan selama pemrosesan Algoritma Genetika. Pemilihan parameter tersebut akan menentukan kinerja Algoritma Genetika dalam memecahkan masalah. Ada empat parameter dasar dari algoritma genetika, yaitu ukuran populasi, jumlah generasi, probabilitas crossover Pc, dan probabilitas mutasi Pm. 1. Ukuran populasi Ukuran populasi menyatakan jumlah kromosom yang ada pada populasi. Ukuran populasi yang ideal berbeda-beda untuk setiap permasalahan. Menurut Obitko 1998, ukuran populasi yang ideal yaitu berkisar antara 20 sampai 30 kromosom. 2. Jumlah Generasi Jumlah generasi menyatakan jumlah proses yang dijalani untuk suatu rangkaian proses Algoritma Genetika mulai dari proses seleksi, crossover, mutasi hingga pembentukan populasi baru. Jadi proses Algoritma Genetika akan berhenti jika jumlah generasi terpenuhi. terdapat solusi yang dicari yaitu individu dengan nilai fitness terbaik pada generasi terakhir. 3. Probabilitas Crossover Pc Probabilitas crossover menyatakan seberapa sering proses crossover akan terjadi antara dua kromosom induk. Setiap individu dibangkitkan sebuah bilangan acak p, jika p Pc maka individu tersebut akan dilakukan crossover dan sebaliknya. Pemilihan nilai Pc yang ideal akan sangat mempengaruhi hasil dari proses crossover tersebut. Menurut Obitko 1998, probabilitas crossover yang ideal yaitu berkisar 28 antara 80 sampai 95. Sedangkan menurut Michalewicz 1996:35, probabilitas crossover yang ideal yaitu berkisar antara 60 sampai 95. 4. Probablitas Mutasi Pm Probabliltas mutasi menyatakan seberapa sering bagian-bagian kromosom akan dimutasikan. Sama halnya seperti proses crossover, proses mutasi juga membangkitkan sebuah bilangan acak p, jika p Pm maka sebuah gen acak r dimutasi dan sebaliknya. Menurut Obitko 1998, probabilitas mutasi yang ideal yaitu berkisar antara 0,5 sampai 1. Sedangkan menurut Suyanto 2009:14, probabilitas mutasi yang ideal adalah 1jumlah gen. Sri Kusumadewi 2003:283 mengemukakan ada beberapa rekomendasi nilai parameter yang bisa digunakan dalam proses Algoritma Genetika, yaitu sebagai berikut: a. Untuk permasalahan yang memiliki kawasan solusi cukup besar, De Jong dalam Sri Kusumadewi 2003:283 merekomendasikan untuk nilai parameter kontrol: ukupop; Pc; Pm = 50;0.6;0.001 b. Bila rata-rata fitness setiap generasi digunakan sebagai indikator, maka Grefenstette dalam Sri Kusumadewi 2003:283 merekomendasikan: ukupop; Pc; Pm = 30;0.95;0.01 c. Bila fitness dari individu terbaik dipantau pada setiap generasi, maka usulannya adalah: ukupop; Pc; Pm = 80;0.45;0.01 d. Ukuran populasi sebaiknya tidak lebih kecil dari 30, untuk sembarang jenis permasalahan. 29

2.6. Metode Nearest Neighbour

Dokumen yang terkait

Penyelesaian Vehicle Routing Problem Menggunakan Algoritme Genetika

3 10 55

PENYELESAIAN MASALAH SEQUENTIAL TWO DIMENSIONAL LOADING PENYELESAIAN MASALAH SEQUENTIAL TWO DIMENSIONAL LOADING CAPACITATED VEHICLE ROUTING PROBLEM MENGGUNAKAN KOMBINASI ALGORITMA NEAREST NEIGHBOR.

0 4 11

BAB 1 PENDAHULUAN PENYELESAIAN MASALAH SEQUENTIAL TWO DIMENSIONAL LOADING CAPACITATED VEHICLE ROUTING PROBLEM MENGGUNAKAN KOMBINASI ALGORITMA NEAREST NEIGHBOR.

0 3 7

BAB 3 METODOLOGI PENELITIAN PENYELESAIAN MASALAH SEQUENTIAL TWO DIMENSIONAL LOADING CAPACITATED VEHICLE ROUTING PROBLEM MENGGUNAKAN KOMBINASI ALGORITMA NEAREST NEIGHBOR.

0 3 8

BAB 6 KESIMPULAN DAN SARAN PENYELESAIAN MASALAH SEQUENTIAL TWO DIMENSIONAL LOADING CAPACITATED VEHICLE ROUTING PROBLEM MENGGUNAKAN KOMBINASI ALGORITMA NEAREST NEIGHBOR.

0 3 18

PENERAPAN ALGORITMA GENETIKA DAN ALGORITMA SWEEP PADA PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM (CVRP) UNTUK OPTIMASI PENDISTRIBUSIAN GULA.

34 95 171

PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM (CVRP) MENGGUNAKAN METODE SAVING MATRIKS, SEQUENTIAL INSERTION, DAN NEAREST NEIGHBOUR DI VICTORIA RO.

6 27 36

PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM (CVRP) UNTUK DISTRIBUSI SURAT KABAR KEDAULATAN RAKYAT DI KABUPATEN SLEMAN.

15 57 130

IMPLEMENTASI ALGORITMAFLOYD WARSHALL DAN NEAREST NEIGHBOUR DALAM PENGOPTIMALAN RUTE CAPACITATED VEHICLE ROUTING PROBLEM WITH TIME WINDOWS.

18 81 118

Algoritma Genetika Ganda (AGG) untuk Capacitated Vehicle Routing Problem (CVRP).

2 4 8