METODE PENELITIAN
3.7 Proses Umum Algoritma Genetika .1 Pengkodean Kromosom .1 Pengkodean Kromosom
Gen merupakan bagian dari kromosom dimana satu buah kromosom terdiri dari beberapa gen yang saling berhubungan. Kromosom merupakan representasi dari individu, dengan kata lain kromosom sama dengan individu.
Pada permasalahan TSP, kromosom yang dibentuk berisi gen-gen yang merepresentasikan nomor urut dari semua kota yang ada. Jumlah gen dalam setiap kromosom adalah sama dengan jumlah kota. Masing-masing nomor urut kota hanya boleh muncul sekali di dalam suatu kromosom. Kromosom direpresentasikan dalam bentuk Kromosom = [𝑥1 𝑥2 𝑥3… 𝑥𝑘… 𝑥𝑛], 𝑥𝑖 ∈ ℤ+, 𝑘, 𝑛 ∈ ℕ. Sebagai contoh dapat dilihat pada Gambar 3.3.
Contoh:
Proses Algoritma
Output Jarak Terpendek Waktu Komputasi
Penyajian Data (Tabel & Grafik)
Pembahasan Hasil Penelitian Input Data
Bayg29.txt
Dj38.txp
Att48.txp Run 20x, 30x, 50x
Kualitas Solusi Variasi Solusi Waktu Komputasi
37
Perhatikan gambar berikut.
Gambar 3.3 Peta kota yang akan dikunjungi oleh salesman.
3.7.2 Inisialisasi Populasi Awal
Inisialisasi populasi awal dilakukan untuk menghasilkan solusi awal dari suatu permasalahan algoritma genetika. Inisialisasi ini dilakukan secara acak sebanyak jumlah kromosom/populasi yang diinginkan.
Contoh:
Pada Gambar 3.3 terdapat 7 buah kota yang akan dikunjungi oleh sales. Data tersebut adalah merupakan sebuah contoh, dimana keterangannya sebagai berikut.
kota-1 memiliki koordinat (−10, −20) kota-2 memiliki koordinat (5, −5) kota-3 memiliki koordinat (10,0) kota-4 memiliki koordinat (20, −15) kota-5 memiliki koordinat (15, −10) kota-6 memiliki koordinat (−20,15) kota-7 memiliki koordinat (35,20)
Kemudian dibentuk populasi awal secara acak dimana dibentuk 3 buah kromosom dari 7 buah gen sebagai berikut.
Kromosom[1] = [1 2 3 4 5 6 7]
Kromosom[2] = [7 2 4 1 3 6 5]
Kromosom[3] = [1 7 3 6 5 4 2]
Kromosom-kromosom di atas merepresentasikan beberapa rute yang mungkin akan dilalui oleh salesman. Misalnya, untuk kromosom pertama menggambarkan perjalanan seorang sales yang akan mengawali perjalanannya dari kota-1, kemudian ke kota-2, dst, sampai ke kota-7 dan kembali lagi ke kota-1. Samahalnya dengan kromosom kedua dan kromosom ketiga.
3.7.3 Menentukan Nilai Fitness
Permasalahan yang dibahas dalam TSP adalah menentukan jalur terpendek. Oleh karena itu, fungsi objektifnya adalah meminimalkan total biaya. Nilai fitness yang bisa digunakan adalah 1 dibagi dengan total biaya.
𝑓 = 1
total biaya
Dalam hal ini yang dimaksud dengan total biaya adalah jumlah jarak antara satu kota dengan kota yang lainnya secara melingkar.
Contoh:
Tiga buah kromosom yang dibentuk pada Subbab 3.4.2, sebelum menentukan nilai fitness-nya, terlebih dahulu dibentuk matriks jarak (𝐶) berdasarkan jarak Euclidean yang terdapat pada tabel berikut.
Tabel 3.2 Contoh Matriks Jarak (biaya) dari Kota-𝑖 ke Kota-𝑗.
Selanjutnya total biaya dihitung dengan rumus
totalbiaya(Kromosom[k]) = ∑ 𝑐𝑖,𝑖+1
𝑛−1
𝑖=1
+ 𝑐𝑛,1 Total biaya untuk tiga buah kromosom adalah sebagai berikut.
Cij 1 2 3 4 5 6 7
1 0 21,2 28,2 30,4 26,9 36,4 60,2
2 21,2 0 7 18 11,1 32 39
3 28,2 7 0 18 11,1 33,5 32
4 30,4 18 18 0 7 50 38
5 26,9 11,1 11,1 7 0 43 36
6 36,4 32 33,5 50 43 0 55,2
7 60,2 39 32 38 36 55,2 0
39
a. Kromosom[1] = [1 2 3 4 5 6 7];
totalbiaya(Kromosom[1]) = 𝑐12+ 𝑐23+ 𝑐34+ 𝑐45+ 𝑐56+ 𝑐67+ 𝑐71 = 21.2 + 7 + 18 + 7 + 43 + 55.2 + 60.2
= 211.4
b. Kromosom[2] = [7 2 4 1 3 6 5];
totalbiaya(Kromosom[2]) = 𝑐72+ 𝑐24+ 𝑐41+ 𝑐13+ 𝑐36+ 𝑐65+ 𝑐57 = 39 + 18 + 30.4 + 28.2 + 33.5 + 43 + 36
= 228.1
c. Kromosom[3] = [1 7 3 6 5 4 2];
totalbiaya(Kromosom[3]) = 𝑐17+ 𝑐73+ 𝑐36+ 𝑐65+ 𝑐54+ 𝑐42+ 𝑐21 = 60.2 + 32 + 33.5 + 43 + 7 + 18 + 21.2
= 214.9
Sehingga didapatkan total biaya dan nilai fitness dari masing-masing kromosom yang dapat dilihat pada Tabel 3.3.
Tabel 3.3 Contoh Total Biaya dan Nilai Fitness Setiap Kromosom Kromosom/Individu Gen Total
biaya Fitness Kromosom[1] 1-2-3-4-5-6-7 211,4 0,00473 Kromosom[2] 7-2-4-1-3-6-5 228,1 0,004384 Kromosom[3] 1-7-3-6-5-4-2 214,9 0,004653
3.7.4 Proses Seleksi
Proses seleksi dilakukan dengan cara membuat kromosom yang mempunyai fungsi objektif kecil mempunyai kemungkinan terpilih yang besar atau mempunyai nilai probabilitas yang tinggi. Proses seleksi yang digunakan pada penelitian ini adalah roulette wheel selection. Adapun langkah-langkah dalam melakukan proses seleksi roulette wheel adalah sebagai berikut.
1. Menghitung total nilai fitness dari seluruh kromosom dengan rumus Total fitness = ∑ 𝑓𝑘
UNIVERSITAS SUMATERA UTARA
dimana 𝑓𝑘 adalah nilai fitness kromosom ke-𝑘.
Contoh:
Ketiga kromosom pada Tabel 3.4 memiliki total fitness sebesar 0,013767.
2. Menghitung nilai probabilitas seleski setiap kromosom dengan rumus 𝑝𝑘 = 𝑓𝑘
∑𝑓𝑘
dimana 𝑝𝑘 adalah probabilitas seleksi kromosom ke-𝑘.
Contoh:
Probabilitas ketiga kromosom pada Tabel 3.4 adalah 𝑝1 = 0,00473
0,013767 = 0,344 ; 𝑝2 = 0,004384
0,013767= 0,318 ; 𝑝3 = 0,004653
0,013767= 0,338 3. Menghitung nilai probabilitas kumulatif (𝐶𝑘) setiap kromosom.
Contoh:
𝐶1 = 0,344
𝐶2 = 0,344 + 0,318 = 0,662 𝐶3 = 0,344 + 0,318 + 0,338 = 1
4. Membangkitkan bilangan acak (𝑅𝑘) [0,1] sebanyak jumlah kromosom dengan menggunakan fungsi matlab rand().
Contoh:
Misalkan 𝑅1 = 0.66, 𝑅2 = 0.46, dan 𝑅3 = 0.77.
5. Melakukan seleksi roulette wheel dengan syarat, jika 𝑅𝑘 < 𝐶1 maka pilih kromosom ke-1 sebagai induk (parent), selain itu pilih kromosom ke-𝑘 sebagai induk dengan syarat 𝐶𝑘−1 < 𝑅𝑘 < 𝐶𝑘. Proses roulette wheel dilakukan sebanyak jumlah populasi.
Contoh:
Perhatikan bahwa
• Karena 𝐶1 < 𝑅1 < 𝐶2 maka pilih kromosom ke-2 sebagai kromosom ke-1 pada populasi baru.
• Karena 𝐶1 < 𝑅2 < 𝐶2 maka kromosom ke-2 tidak berubah.
• Karena 𝐶2 < 𝑅3 < 𝐶3 maka kromosom ke-3 tidak berubah.
Akibatnya populasi hasil seleksi dapat dilihat pada tabel berikut.
41
Tabel 3.4 Contoh Populasi Hasil Seleksi Pertama.
Kromosom Gen
Kromosom[1] 7-2-4-1-3-6-5 Kromosom[2] 7-2-4-1-3-6-5 Kromosom[3] 1-7-3-6-5-4-2
3.7.5 Proses Rekombinasi Silang (Crossover)
Setelah proses seleksi maka proses selanjutnya adalah proses crossover. Kromosom yang dijadikan induk dipilih secara acak dan jumlah kromosom yang mengalami crossover dipengaruhi oleh parameter crossover rate (𝜌𝑐).
Contoh:
Misalkan ditentukan crossover rate adalah sebesar 95%, maka diharapkan dalam satu generasi ada 95% kromosom dari satu generasi mengalami proses crossover.
Prosesnya adalah sebagai berikut. Pertama dibangkitkan bilangan acak R sebanyak jumlah populasi, yaitu
𝑅1 = 0.99 𝑅2 = 0.77 𝑅3 = 0.86
Maka kromosom ke-𝑘 akan dipilih sebagai induk jika 𝑅𝑘 < 𝜌𝑐, dari bilangan acak 𝑅 di atas maka yang dijadikan induk adalah Kromosom[2] dan Kromosom[3].
Setelah melakukan pemilihan induk, proses selanjutnya adalah melakukan rekombinasi silang antara Kromosom[2] dan Kromosom[3] yakni:
[7 2 | 4 1 3 | 6 5] [ 6 5 | 7 2 | 4 1 3]
× ⟹ ⟹ cycle urutan masing-masing kromosom
[1 7 | 3 6 5 | 4 2] [ 4 2 | 1 7 | 3 6 5]
Dari I dan II diperoleh:
[6 5 4 1 3 2 7]
Tabel 3.5 Contoh Populasi Kromosom Setelah Melakukan Proses Crossover.
Induk Kromosom Titik potong Offspring Kromosom[2]
2, 5 6-5-4-1-3-2-7
Kromosom[3] 4-1-3-6-5-7-2
3.7.6 Proses Mutasi
Proses mutasi yang digunakan dalam penelitian ini adalah inverse mutation. Proses mutasi ini dilakukan dengan cara memutuskan kromosom di dua titik potong dan subkromosom tersebut bergabung kembali dengan urutan terbalik. Jumlah kromosom yang mengalami mutasi dalam satu populasi ditentukan oleh parameter mutation rate (𝜌𝑚).
Contoh :
Misalkan diambil sebuah kromosom dari Tabel 3.5, yaitu kromosom berikut.
[6 5 4 1 3 2 7]
Andaikan dua buah bilangan acak yang dibangkitkan adalah 2 dan 6, maka subkromosom yang terpilih adalah
4 1 3 2
Selanjutnya urutkan secara terbalik subkromosom tersebut sehingga diperoleh 2 3 1 4
Kemudian, tempatkan kembali subkromosom tersebut sehingga diperoleh kromosom yang baru hasil mutasi inversi.
[6 5 2 3 1 4 7]