BAB 2
LANDASAN TEORI
Proses encoding adalah salah satu proses yang sulit dalam algoritma genetika. Hal ini
disebabkan karena proses encoding untuk setiap permasalahan berbeda karena tidak
semua teknik encoding cocok untuk setiap permasalahan. Proses encoding
menghasilkan string yang kemudian disebut kromosom. String terdiri dari
sekumpulan bit yang dikenal sebagai gen. Jadi satu kromosom terdiri dari sejumlah
gen.
Pada TSP kromosom mengambarkan rute kota yang dikunjungi salesman, sedangkan
jarak antar kota menggambarkan gen. (Obitko, 1998). Pada contoh diatas adalah:
Kromosom (rute kota) A-B-C-D-E-F-G-H-I dengan jarak 1, 5, 3, 2, 6, 4, 7, 9, 8.
Proses seleksi adalah proses yang memegang peranan penting dalam algoritma
genetika. Proses seleksi ini digunakan agar hanya kromosom-kromosom yang
berkualitas yang dapat melanjutkan peranannya dalam proses algoritma genetika
berikutnya. Ada bermacam-macam teknik untuk melakukan proses seleksi pada
suatu permasalahan. Teknik seleksi yang akan digunakan tergantung pada
permasalahan yang akan diselesaikan. Ada bermacam-macam teknik seleksi,
diantaranya adalah Roulette Wheel Selection, Rank Base Selection, dan Steady State
Selection.
Proses penseleksian ini menggunakan teknik peringkat atau Rank Base
Selection. Pada proses penseleksian digunakan suatu parameter yang disebut
kesesuaian atau fitness. Fitness digunakan untuk menentukan seberapa baik
kromosom akan bertahan hidup. Makin tinggi nilai 0 fitness 1, suatu kromosom
maka makin baik kromosom itu akan bertahan hidup. Nilai fitness tertinggi
merepresentasikan jawab terbaik atas persoalan itu sendiri. Penentuan berapa besar
nilai fitness suatu kromosom berdasarkan fungsi fitness yang didefinisikan tersendiri.
Pada Rank Base Selection, hanya kromosom yang mempunyai nilai fitness yang
tinggilah yang dapat bertahan pada generasi berikutnya, sebaliknya yang mempunyai
nilai fitness rendah akan hilang pada generasi berikutnya. Untuk mempertahankan
jumlah kromosom tetap pada satu generasi maka perlu dibangkitkan kromosom baru
yang merupakan hasil penyilangan dari kromosom yang hidup. Untuk itu dilakukan
proses rekombinasi. (Samuel, dkk 2005).
Proses rekombinasi atau yang lebih dikenal dengan nama proses crossover adalah
menyilangkan dua kromosom sehingga membentuk kromosom baru yang
harapannya lebih baik dari pada induknya. Tidak semua kromosom pada suatu
populasi akan mengalami proses rekombinasi. Kemungkinan suatu kromosom
mengalami proses rekombinasi didasarkan pada probabilitas crossover yang telah
ditentukan terlebih dahulu. Probabilitas crossover menyatakan peluang suatu
Proses mutasi ini dilakukan setelah proses rekombinasi dengan cara memilih
kromosom yang akan dimutasi secara acak, dan kemudian menentukan titik mutasi
pada kromosom tersebut secara acak pula. Banyaknya kromosom yang akan
mengalami mutasi dihitung berdasarkan probabilitas mutasi yang telah ditentukan
terlebih dahulu. Apabila probabilitas mutasi adalah 100% maka semua kromosom
yang ada pada populasi tersebut akan mengalami mutasi. Sebaliknya, jika
probabilitas mutasi yang digunakan adalah 0% maka tidak ada kromosom yang
mengalami mutasi pada populasi tersebut.
Ada bermacam-macam teknik mutasi yang dapat digunakan untuk
menyelesaikan suatu masalah dengan algoritma genetika. Seperti pada teknik
rekombinasi, teknik mutasi juga dirancang untuk digunakan pada suatu masalah yang
spesifik sehingga tidak setiap teknik mutasi dapat diterapkan pada suatu masalah
yang akan diselesaikan. Selain itu, teknik mutasi yang digunakan juga harus sesuai
dengan teknik encoding yang digunakan untuk menyelesaikan permasalahan
tersebut. Beberapa teknik mutasi yang dapat digunakan dalam penyelesaian
Traveling Salesman Problem adalah inversion mutation, insertion mutation, dan
reciprocal mutation. (Samuel, dkk 2005).
Teknik mutasi yang digunakan dalam makalah adalah teknik insertion
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. (Samuel, dkk 2005).
Beberapa teknik mutasi adalah:
a. Bit inversion pemilihan bit-bit yang di-inversi
Penambahan sebuah nomor kecil untuk pemilihan angka adalah dengan penambahan
atau pengambilan sebuah nomor yang terkecil.
(1.29 5.68 2.86 4.11 5.55) => (1.29 5.68 2.73 4.22 5.55).
Algoritma genetika memiliki beberapa karakteristik yang perlu diketahui
sehingga dapat terbedakan dari prosedur pencarian atau optimasi yang lainnya
Adapun karakteristik dari algoritma genetika adalah:
1. Bekerja dengan pengkodean dari himpunan solusi permasalahan berdasarkan
parameter yang telah ditetapkan dan bukan parameter itu sendiri.
2. Melakukan pencarian pada sebuah populasi dari sejumlah individu-individu
yang merupakan solusi pemasalahan bukan hanya dari sebuah individu.
3. Merupakan informasi fungsi objektif (fitness) sebagai cara untuk
mengevaluasi individu yang mempunyai solusi terbaik, bukan turunan dari
suatu fungsi.
4. Merupakan aturan peluang dan bukan aturan deterministik.
Kelebihan algoritma genetika adalah sebagai berikut:
a. Algoritma genetika tidak terlalu banyak memerlukan persyaratan matematika
dalam penyelesaian proses optimasi dan dapat diaplikasikan pada beberapa
jenis fungsi objektif dengan beberapa fungsi pembatas baik berbentuk liner
maupun non liner.
b. Operasi evolusi dari algoritma genetika sangat efektif untuk mengobservasi
posisi global secara acak.
c. Algoritma genetika mempunyai fleksibilitas untuk diimplementasikan secara
efisien pada problematika tertentu.
Dalam proses pengerjaan Algoritma Genetika menggunakan 5 tahapan sebagai
berikut:
a. Pengkodean (encoding)
b. Seleksi (selection)
c. Persilangan (crossover)
d. Mutasi (mutation)
e. Decoding
Single point crossover pemilihan satu titik crossover, string binary dari awal
chromosome untuk titik crossover adalah di-copy dari orang tua pertama dan sisanya
di-copy dari orang tua kedua.
Two point crossover pemilihan dua titik crossover, string binary dari awal dari
chromosome untuk titik pertama crossover di-copy dari orang tua pertama, bagian
dari the first untuk titik crossover yang kedua di-copy dari orang tua kedua dan
sisanya di-copy dari orang tua pertama.
Uniform crossover bit-bit secara acak di-copy dari orang tua pertama atau kedua.
Hal yang dapat dilihat dari perpindahan bilangan biner di atas adalah kawin silang
(crossover) dapat dilakukan dengan empat cara yaitu single point crossover, two
point crossover, uniform crossover dan arithmetic crossover. Dari keempat cara
tersebut didapat bahwa arithmetic crossover merupakan cara yang lebih cepat untuk
menyelesaikan perkawinan silang (crossover).
Tidak
Mulai Selesai
Seleksi
Persilangan
Bangkitkan
Populasi
awal
Mutasi
Masalah optimasi TSP terkenal dan telah menjadi standar untuk mencoba algoritma
yang komputational. Pokok permasalahan dari TSP adalah seorang salesman harus
mengunjungi sejumlah kota yang diketahui jaraknya satu dengan yang lainnya.
Semua kota yang ada harus dikunjungi oleh salesman tersebut dengan memilih rute
yang terpendek dan kota tersebut hanya boleh dikunjungi tepat satu kali sehingga
jarak yang ditempuhnya merupakan jarak minimum.
Algoritma genetik merupakan sebuah algoritma yang meniru cara kerja proses
genetika pada makhluk hidup, dimana terdapat proses seleksi, rekombinasi dan
mutasi untuk mendapatkan kromosom terbaik pada suatu generasi.
Pada tulisan ini membahas bagaimana algoritma genetik menyelesaikan TSP
dengan menggunakan metode order crossover sebagai teknik rekombinasi dan
metode insertion mutation sebagai teknik mutasi yang digunakan pada algoritma
genetik. Untuk mengetahui bagaimana penerapan algoritma genetika dalam
menyelesaikan traveling salesman problem, dibuatkan sebuah program simulasi
sederhana dengan menggunakan piranti lunak Microsoft Visual Basic 6.0. Dalam
program simulasi tersebut, traveling salesman problem yang akan digunakan adalah
Symmetric Traveling Salesman Problem dimana jarak kota A ke kota B adalah sama
dengan jarak kota B ke kota A.
Masalah penilaian metode yang terbaik sulit untuk dilakukan karena metode-
metode yang sangat berkaitan erat satu sama lain tidak dapat dinilai hanya melalui
perbandingan yang sederhana. Sepertinya perlu dilakukan pertimbangan ulang untuk
menentukan kriteria perbandingan antar metode tersebut.
Oleh karena itu, penilaian yang lebih baik harus mengesampingkan hasil
contoh kasus kecil seperti di atas karena contoh kasus tersebut dapat diselesaikan
oleh seluruh teknik penyelesaian yang baik. Sejauh ini, jika diberikan sejumlah n
kota, penilaian seharusnya difokuskan pada n-kota yang benar-benar sulit untuk
diselesaikan dengan menggunakan metode yang diajukan yang nantinya akan diuji
mana yang lebih baik. Dengan pendekatan ini, kita kemudian dapat menentukan
apakah metode A lebih baik daripada metode B jika diberikan persoalan n-kota
dengan n sebuah bilangan yang besar.