Abstrak
Masalah optimasi dengan beberapa fungsi tujuan (multi-obyektif) tidak mudah dipecahkan
karena biasanya terjadi konflik di antara fungsi tujuan dan solusinya bukanlah solusi tunggal
tetapi berupa himpunan solusi. Algoritma genetika (Genetic Algorithms/GAs) yang merupakan
salah satu metode meta-heuristis dapat digunakan untuk memecahkan masalah ini tetapi
algoritma genetika standar mudah terjebak dalam daerah optimum lokal (konvergensi dini)
dan kecepatan pencarian titik solusi akan menurun jika mendekati titik optimum. Penelitian ini
memaparkan penggunaan GAs dengan tingkat mutasi adaptif untuk menyeimbangkan
kemampuan eksplorasi dan eksploitasi daerah pencarian. Sebuah aturan digunakan untuk
menentukan apakah nilai tingkat mutasi perlu dinaikkan atau diturunkan. Jika tidak ada
perbaikan nilai fitness yang signifikan dibandingkan generasi sebelumnya maka nilai tingkat
mutasi dinaikkan sehingga memungkinkan GAs untuk lebih melakukan eksplorasi daerah
pencarian dan sekaligus keluar daerah optimum lokal. Jika ada perbaikan nilai fitness yang
signifikan maka dilakukan penurunan nilai mutation rate sehingga memungkinkan GAs untuk
lebih mengeksploitasi daerah pencarian lokal. Hasil percobaan menunjukkan bahwa
penggunaan mutasi yang adaptif mempercepat pergerakan GAs ke daerah feasible dan
sekaligus mempercepat pencapaian solusi.
Kata kunci: optimasi multi-obyektif, algoritma genetika, mutasi adaptif.
Abstract
Multi-objective optimization problem is difficult to be solved as its objectives generally
conflict with each other and its solution is not in the form of a single solution but a set of
solutions. Genetic algorithms (GAs) is one of meta heuristic algorithms that may be used to
solve this problem. However, a standard GAs is easily trapped in local optimum areas and
searching process rate will be lower around the optimum points. This paper proposes a GAs
with an adaptive mutation rate to balance the exploration and exploitation on the search
space. A simple rule has been developed to determine wheter the mutation rate is increased or
decreased. If a significant improvment of the fitness value is not achieved, the mutation rate is
increased to enable the GAs exploring search space and escaping the local optimum area. In
contrast, the mutation rate is decreased if significant improvment of the fitness value is
achieved. This mechanism guide the GAs to exploit the local search area. The experiments
show that by using the adaptive mutation, the GAs will move faster toward a feasible search
space and achieving solutions on sorter time.
Key words: multi-objective optimization, genetic algorithms, adaptive mutation.
19
20Jurnal Ilmiah KURSOR Vol. 6, No. 1, Januari 2011, hlm. 19-26
lain mempunyai nilai yang lebih tinggi GAssecara adaptif menggunakan logika fuzzy
setidaknya untuk satu fungsi obyektif. menghasilkan mekanisme untuk mencegah
Optimasi fungsi multiobyektif mendapatkan kondisi ini dan sekaligus keluar dari jebakan
perhatian yang signifikan dari para peneliti. optimum lokal [11]. Kombinasi (hibridisasi)
Xiaohui & Eberhart [6] menyelesaikan GAs dengan algoritma lain menghasilkan
optimasi multiobyektif menggunakan Particle memetic algorithms juga terbukti efisien untuk
Swarm Optimization (PSO). Hasil percobaan mengatasi masalah ini [2, 12]. Jaszkiewicz [13]
menunjukkan bahwa PSO dapat menemukan memperkaya kemampuan GAs dengan local
beberapa solusi pareto-optimal secara efisien. search yang mereka sebut genetic local search
Doerner dkk [7] menggunakan Ant Colony untuk mempercepat pencarian solusi. Deb dkk
Optimization (ACO) untuk menyelesaikan [14] menggunakan GAs yang dimodifikasi.
optimasi multiobyektif pada penentuan Mereka memperkenalkan pendekatan yang
portofolio proyek. Mereka menunjukkan bahwa disebut ‘improved version of nondominated
ACO cukup efisien untuk menangani interaksi sorting genetic algorithm’ (NSGA-II) yang
antar proyek yang kompleks. Bandyopadhyay memungkinkan GAs dapat bergerak cepat
dkk [8] mengajukan Simmulated Annealing menuju perbatasan daerah pareto-optimal.
(SA) yang juga cukup berhasil dalam
menyelesaikan berbagai masalah optimasi Inisialisasi Populasi dan Representasi
fungsi multiobyektif. Kromosom
Siklus perkembangan GAs diawali dengan
ALGORITMA GENETIKA pembuatan himpunan solusi baru
(initialization) secara acak yang terdiri atas
Algoritma Genetika (Genetic sejumlah string kromosom dan ditempatkan
Algorithms/[Gas]) termasuk dalam kelas pada penampungan populasi. Penentuan
algoritma pencarian yang menirukan proses representasi kromosom yang sesuai memegang
evolusi alami. GAs menggunakan kromosom peranan penting dalam kesuksesan
untuk mengkodekan sebuah kemungkinan implementasi GAs[15]. Pada penelitian ini
solusi. Sejumlah kromosom dalam populasi digunakan representasi kromosom bilangan
akan mengalami operasi rekombinasi (tukar pecahan (real). Panjang string kromosom
silang/crossover dan mutasi) untuk membentuk tergantung pada banyaknya variabel
generasi berikutnya. Setiap kromosom bebas/keputusan (x) yang digunakan.
mempunyai nilai kebugaran (fitness) yang
menentukan peluangnya untuk tetap bertahan Evaluasi
hidup dalam generasi berikutnya. Dengan Untuk mengevaluasi nilai fitness dari
mekanisme seleksi ini diharapkan nilai fitness kromosom dilakukan langkah-langkah berikut :
setiap kromosom akan meningkat pada setiap a. Ambil nilai real dari tiap individu dalam
generasi. Pada akhir generasi, kromosom
dengan nilai fitness terbaik akan diuraikan
k
k
k
populasi. x x1 ,..., xn ;
menjadi sebuah solusi [9]. Solusi ini mungkin k =1,2,..., ukuran_populasi,
bukan merupakan solusi optimum tetapi fakta n =banyaknya_variabel_keputusan.
empirik membuktikan dengan menentukan b. Evaluasi nilai fungsi tujuan f(xk)
paramater-parameter seperti ukuran populasi, c. Konversi nilai fungsi tujuan menjadi nilai
crossover-rate dan mutation-rate yang sesuai, fitness. Untuk masalah maksimasi nilai
GAs akan memberikan hasil yang memuaskan fitness = f(xk). Untuk masalah minimasi
(mendekati optimum) dalam waktu yang relatif nilai fitness = z - f(xk); z adalah sembarang
cepat [10]. bilangan real.
Kinerja GAs sangat dipengaruhi oleh Semakin besar nilai fitness dari satu invidu
keseimbangan kemampuan eksplorasi dan maka semakin baik pula solusi yang didapatkan
eksploitasi yang dilakukan sepanjang generasi. dari individu tersebut. Nilai fitness ini
Problem utama yang dialami oleh GAs adalah digunakan untuk memilih n individu terbaik
konvergensi dini yang disebabkan oleh yang dipertahankan hidup pada generasi
kurangnya diversitas populasi setelah melewati selanjutnya. Mekanisme untuk menilai apakah
sekian generasi. Perubahan paramater
22Jurnal Ilmiah KURSOR Vol. 6, No. 1, Januari 2011, hlm. 19-26
sebuah individu lebih baik dari yang lain Secara acak dua metode ini digunakan untuk
adalah: menghasilkan anak. Penggunaan dua metode
ini secara bersamaan adalah untuk
a. Jika tidak ada kendala yang dilanggar maka
menghasilkan anak yang lebih bervariasi
sebuah individu dikatakan lebih baik dari
sehingga diharapkan tidak terjadi konvergensi
individu yang lain jika semua nilai
dini.
fitnessnya sama (untuk masing-masing
fungsi obyektif) dan minimal satu nilai
Mutasi
fitnessnya lebih baik.
b. Jika tidak ada kendala yang dilanggar dan Mutasi digunakan untuk mejaga diversitas dari
kriteria a tidak dipenuhi maka kedua kromosom sehingga terhindar dari konvergensi
individu termasuk dalam pareto-set. dini. Pada tulisan ini digunakan random
Individu yang lebih baik adalah yang total mutation [18] dan M¨uhlenbein’s mutation[17].
nilai fitnessnya (dari semua fungsi tujuan)
lebih besar. Random Mutation
c. Jika kedua individu melanggar minimal satu hi’merupakan bilangan random pada range
kendala maka dipilih yang total nilai [a,b].
kendalanya (untuk nilai gi(x)>0) lebih kecil.
Hal ini untuk menjamin solusi yang dipilih M¨uhlenbein’s Mutation
memenuhi kendala sebanyak mungkin.
hi’ = hi± a (maxi - mini) , a bilangan random
Seleksi pada interval [0, 1], maxi nilai maksimum dari
xi , mini nilai minimum dari xi. Pembuatan rule
Seleksi digunakan untuk memilih dua untuk mengatur nilai a secara adaptif
individu/kromosom sebagai induk untuk anak diperlukan agar proses iterasi berjalan efisien.
pada generasi berikutnya. Pada tulisan ini Setiap anak hasil crossover akan terkena mutasi
digunakan metode pemilihan seragam, artinya dengan peluang sesuai dengan nilai mutation
setiap individu dalam populasi memiliki rate.
peluang yang sama untuk terpilih. Metode ini
dipilih untuk menghemat waktu yang Pengaturan Mutation Rate Secara Adaptif
digunakan pada komputasi nilai probabilitas
kumulatif yang digunakan pada metode seleksi Pada setiap generasi dihitung nilai fitness rata-
roulette-wheel. rata dari populasi (fitnessAvg). Jika ada
perbaikan nilai fitness rata-rata yang signifikan
Crossover dibanding generasi sebelumnya
(fitnessAvg>>fitnessAvgOld) maka dilakukan
Individu baru (offspring) terbentuk dari proses penurunan nilai mutation rate. Hal ini
crossover. Pada tulisan ini digunakan dua memungkinkan GA untuk lebih
metode crossover yaitu flat crossover[16] dan mengeksploitasi daerah pencarian lokal. Jika
extended intermediate crossover[17]. Misalkan tidak ada perbaikan nilai fitness rata-rata yang
C1 = (c11… cn1) dan C2 = (c12… cn2) adalah dua signifikan dibanding generasi sebelumnya
kromosom yang telah diseleksi untuk (fitnessAvg<<fitnessAvgOld) maka dilakukan
melakukan crossover, maka perbedaan dua peningkatan nilai mutation rate. Hal ini
metode crossover yang digunakan adalah memungkinkan GA untuk lebih memperluas
sebagai berikut (eksplorasi) daerah pencarian dengan
melompati daerah optimum lokal.
Flat Crossover
OffspringH = (h1…, hi,... hn) dibangkitkan dan procedure UpdateMutationRate;
hi secara acak dipilih pada interval [ci1, ci2]. begin
if fitnessAvg-fitnessAvgOld>threshold then
Extended Intermediate Crossover mutationRate := mutationRate * 0.95
else
Offspring H = (h1…, hi,... hn) dibangkitkan dan
mutationRate := mutationRate * 1.1;
hi = ci1 + αi (ci2 - ci1 ), αi dipilih secara acak
pada interval [-0,25; 1,25].
if mutationRate>mutationRateMax then
Mahmudy dan Rahman,Optimasi Fungsi Multi-Obyektif…23
Minimumkan f1(x1, x2), f2(x1, x2): Daerah pencarian dan kendala digambarkan
dalam Gambar 1. Area yang feasible
f 1 ( x1 , x 2 ) x1 2 x 2 1 2 dan
2 2
diwarnai putih. Pada tahap inisialiasi populasi
(2) didapatkan individu-individu yang secara acak
f 2 ( x1 , x2 ) 9 x1 x2 1
2
(2) menempati daerah pencarian (Gambar 1a).
Pada tahap ini terlihat banyak individu yang
Dengan dua kendala non linier: berada di luar daerah feasible. Plot nilai fungsi
obyektif 1 (f1) terhadap nilai fungsi obyektif 2
x12 x22 255 0 dan (3) (f2) menunjukkan sebaran populasi terhadap
x1 3x2 10 0 (4) area perbatasan pareto optimal (Gambar 2).
300 100
200
50
100
0 0
0 200 400 600 800 1000 0 50 100 150 200
-100
f2
-50
f2
-200
0
-300 -100
-400
-150
-500
-600 -200
f1 f1
900 70
800
60
700
50
600
500 40
f2
f2
400 30
0
300
20
200
100 10
0 0
0 1000 2000 3000 4000 5000 0 10 20 30 40 50 60 70
f1 f1
Pada generasi berikutnya (generasi 5-10), tidak terjadi konvergensi dini. Pada kasus
lebih banyak individu-individu yang seperti ini mutasi hanya berfungsi untuk
menempati daerah feasible. Secara alami eksplorasi. Dengan menggunakan mutation rate
individu-individu yang berada jauh dari daerah yang adaptif, jika ada perbaikan nilai fitness
feasible akan tereliminasi. Pada akhir generasi, rata-rata yang signifikan dibanding generasi
semua individu menempati daerah feasible sebelumnya maka dipastikan pada tahap ini
(Gambar 1b). Plot nilai fungsi obyektif 1 (f1) proses crossover lebih berorientasi pada
terhadap nilai fungsi obyektif 2 (f2) eksplorasi sehingga nilai mutation rate
menunjukkan sebaran populasi yang diturunkan. Hal ini dimaksudkan agar operator
menempati area perbatasan pareto optimal mutasi lebih berorientasi untuk eksploitasi.
(Gambar 2b). Sebaliknya jika tidak ada perbaikan nilai fitness
rata-rata yang signifikan dibanding generasi
Perilaku GA Adaptif pada Uji Coba 2 sebelumnya maka dipastikan pada tahap ini
Pada tahap inisialiasi populasi didapatkan proses crossover lebih berorientasi pada
individu-individu yang secara acak menyebar eksploitasi sehingga nilai mutation rate
menempati daerah pencarian (Gambar 3a). dinaikkan supaya proses eksplorasi tetap
Pada tahap ini terlihat banyak individu yang terjaga. Mekanisme yang sederhana ini terbukti
berada di luar daerah feasible.Pola yang sama dapat menjaga keseimbangan antara eksplorasi
juga ditunjukkan pada uji coba ke-2. Pada akhir dan eksploitasi daerah pencarian sehingga
generasi, semua individu menempati daerah proses pencarian solusi berjalan lebih cepat
feasible (Gambar 3b). Plot nilai fungsi obyektif seperti ditunjukkan pada Tabel 1 dan 2.
1 (f1) terhadap nilai fungsi obyektif 2 (f2)
menunjukkan sebaran populasi yang SIMPULAN DAN SARAN
menempati area perbatasan pareto optimal
(Gambar 4b). Penelitian ini menunjukkan bahwa GAs dengan
pengkodean real dapat menghasilkan solusi
Perilaku Pengaturan Mutation Rate Secara pareto optimal pada masalah optimasi
Adaptif multiobyektif dengan kendala
Keseimbangan antara eksplorasi dan eksploitasi nonlinier.Pengaturan mutation rate secara
daerah pencarian merupakan hal penting dalam adaptif dapat mempercepat proses pencarian
Algoritma Heuristis. Dengan operator titik optimum. Pada uji coba ke-1, GAs adaptif
crossover pada GAs, hal ini dapat dicapai. Pada mencapai daerah pareto optimum rata-rata pada
tahap awal generasi terbentuk individu-individu generasi ke-28,9, jauh lebih baik daripada GAs
yang sangat divergen seperti terlihat pada standar dengan rata-rata 43,8. Pada uji coba ke-
Gambar 1a dan 3a. Anak yang dihasilkan dari 2 pola yang sama juga terjadi GAs adaptif
operator crossover berfungsi untuk melakukan dengan rata-rata 51,5 dan GAs standar rata-rata
proses eksplorasi daerah pencarian. Pada 65,7.
generasi-generasi berikutnya secara alami Untuk pengembangan penelitian selanjutnya
individu yang mempunyai fitness tertinggi akan perlu dikembangkan penggabungan GAs
bertahan dalam populasi dan secara perlahan dengan algoritma pencarian lain seperti
terbentuk individu-individu yang semakin Algoritma Hill-Climbing untuk melakukan
konvergen seperti terlihat pada Gambar 1b dan perbaikan solusi lokal. GAs terdistribusi dapat
3b. Anak yang dihasilkan pada tahap ini lebih digunakan untuk memelihara kumpulan solusi
berfungsi untuk melakukan proses eksploitasi pareto-optimal. Dengan adanya kumpulan
daerah pencarian. solusi pareto-optimal, manusia sebagai
Penggunaan mutation rate yang konstan pengambil keputusan dapat lebih leluasa
hanya dimaksudkan untuk menahan supaya memilih solusi yang harus dijalankan.
DAFTAR PUSTAKA
University of Otago, Dunedin, New [10] Gen M, and ChengR, Genetic Algorithms
Zealand,pp. 1-10, 2001. and Engineering Optimization, New York:
John Wiley & Sons, Inc. 2000.
[2] Mahmudy WF, Optimasi Fungsi Tanpa
Kendala Menggunakan Algoritma [11] Lozano M, and HerreraF, Fuzzy Adaptive
Genetika dengan Kromosom Biner dan Genetic Algorithms: Design,
Perbaikan Kromosom Hill- Taxonomy,Soft Computing. 7: 545–562.
Climbing,Kursor, 4 (1) : 23-29, 2008. 2003.
[3] Mahmudy WF, Optimasi Fungsi Tak [12] Lozano, M., F. Herrera, N. Krasnogor, and D.
Berkendala Menggunakan Algoritma Molina, Real-Coded Memetic Algorithms with
Genetika Terdistribusi dengan Pengkodean Crossover Hill-Climbing.Evolutionary
Real. In Seminar Nasional Basic Science Computation 12(3): 273-302, 2004.
VI, Universitas Brawijaya, Malang, hal. 1- [13] Lozano M, HerreraF, KrasnogorN, and
5, 2009. MolinaD, Real-Coded Memetic
Algorithms With Crossover Hill-
[4] Herrera F, LozanoM, and VerdegayJL, Climbing,Evolutionary Computation 12(3):
Tackling Real-Coded Genetic Algorithms: 273-302, 2004.
Operators and Tools for Behavioural
Analysis. Artificial Intelligence Review, [14] Jaszkiewicz A, Genetic Local Search for
12: 265–319, 1998. Multi-Objective Combinatorial
Optimization,European Journal of
[5] Sleesongsom S, Multiobjective Operational Research, 137(1) : 50-71,
Optimization with Even Pareto Filter,In 2002.
Fourth Natural ComputationInternational
Conference onNatural Computation, pp. [15] Deb K, Pratap A, Agarwal S, and
92-96, 2008. Meyarivan T, A Fast and Elitist Multi-
Objective Genetic Algorithm: NSGA-II,
[6] Xiaohui H, and EberhartR, Multiobjective Evolutionary Computation, IEEE
Optimization Using Dynamic Transactions on, 6(2) : 182-197, 2002.
Neighborhood Particle Swarm
Optimization. In Proceedings of the 2002 [16] Baraka HA,Eid S, Kamal H, and Wahab
Congress on Evolutionary Computation, AHA, Unified Chromosome
pp. 1677-1681, 2002. Representation for Large Scale Problems,
in Multiple Approaches to Intelligent
[7] Doerner K, Gutjahr W, Hartl R, Strauss C, Systems, ImamI, et al, Editors, Springer
and Stummer C, Pareto Ant Colony Berlin / Heidelberg,pp. 753-760, 2004.
Optimization: A Metaheuristic Approach
to Multiobjective Portfolio [17] Radcliffe NJ, Equivalence Class Analysis
Selection.Annals of Operations Research. of Genetic Algorithms,Complex Systems,
131(1): 79-99, 2004. 5(2) : 183–205, 1991.
[8] Bandyopadhyay S,S. Saha, U. Maulik, and [18] M¨uhlenbein H, and VoosenDS, Predictive
K. Deb, A Simulated Annealing-Based Models for The Breeder Genetic
Multiobjective Optimization Algorithm: Algorithm; Continuous Parameter
AMOSA.Evolutionary Computation, IEEE Optimization,Evolutionary Computation,1
Transactions on 12(3): 269-283, 2008. : 25–49, 1993.
[9] Gen M, and ChengR, Genetic Algorithms [19] Michalewicz Z, Genetic Algorithms +
and Engineering Design, New York: John Data Structures = Evolution Programs,
Wiley & Sons, Inc. 1997. Heidelberg: Springer-Verlag, 1996.