Pokok Bahasan
1. Hybrid Genetic Algorithms (HGAs)
2. Parallel Genetic Algorithms (PGAs)
3. Nilai Parameter Adaptif
4. Tugas
Pengantar
Meskipun GAs dianggap powerful untuk menyelesaikan berbagai
permasalahan rumit, implementasi GAs sederhana seringkali
tidak cukup efektif untuk menyelesaikan pada permasalahan
kompleks dengan area pencarian yang sangat luas.
Representasi chromosome dan operator genetika yang tepat,
kombinasi (hybrid) dengan metode lain, dan strategi yang efisien
untuk menghindari konvergensi dini diperlukan untuk memperkuat
kemampuan GAs (Lozano & Herrera 2003; Rothlauf 2006).
Contoh hibridasi (metode optimasi yang dioptimasi dengan metode
optimasi yang lain) :
o GA-SA (simulated annealing )
o SA-GA
o GA dan hill-climbing
o GA-PSO (particle swarm optimization )
o PSO-GA
o GA-ACO (ant colony optimization ), etc
Hybrid Genetic Algorithms (HGAs)
GAs murni memberikan hasil kurang optimum pada ruang
pencarian yang kompleks. Penggabungan (hybridisation)
dengan teknik lain dapat meningkatkan akurasi dan efisiensi
pencarian solusi optimum.
Hibridisasi GAs dengan teknik pencarian lokal (local search / LS)
menghasilkan memetic algorithms (MAs). Teknik LS sederhana
yang bisa dipakai misalnya algoritma hill-climbing yang sukses
digunakan pada optimasi fungsi tanpa kendala.
Kekuatan utama MAs :
o Keseimbangan antara kemampuan eksplorasi GAs dalam pencarian
pada area global, dan
o Kemampuan eksplotasi LS dalam area local (Lozano et al. 2004).
Dalam implementasinya, LS diterapkan pada setiap individu
baru dengan menggerakkannya menuju optimum lokal sebelum
dimasukkan ke dalam populasi.
Hybrid Genetic Algorithms (HGAs)
Dengan mengacu struktur GAs murni pada PPT Pert. Ke-3 Slide
Ke-9, maka struktur MAs bisa disusun dengan menambahkan
perbaikan lokal sebagai berikut:procedure AlgoritmaGenetika
begin
t = 0
inisialisasi P(t)
while (bukan kondisi berhenti) do
reproduksi C(t) dari P(t)
evaluasi P(t) dan C(t)
perbaiki C(t)
seleksi P(t+1) dari P(t) dan C(t)
t = t + 1
end while
end
Mekanisme perbaikan offspring tersebut
diilustrasikan pada Gambar 5.1. Anak
yang baru terbentuk (protochild) akan
didorong menuju optimum lokal.
Gambar 5.1. MAs dan optimasi lokal (Gen & Cheng 2000)
Lakukan dengan teknik
pencarian local search (LS),
atau lainnya
Hybrid Genetic Algorithms (HGAs)
Karena GAs bisa dihibridisasi dengan algoritma meta-heuristik
yang lain (tidak selalu LS) maka dalam pembahasan selanjutnya
disebut hybrid GAs (HGAs).
Hibridisasi real-coded GAs (RCGA) dengan beberapa metode,
misal variable neighbourhoods search (VNS) dapat diterapkan
untuk penyelesaian permasalahan :
o Optimasi rute (yang memperhatikan kondisi jalur satu arah dua arah,
bobot kemacetan, menggunakan matrik jarak asimetris dll),
o Penjadwalan kuliah (yang melibatkan optimasi pembagian resouce
mengajar, kelas parallel, dan atribut komplek lainnya)
o Part type selection dan machine loading pada flexible manufacturing
system (FMS), etc
Penyelesaian permasalahan tersebut diketahui sangat sulit
sehingga GAs dihibridisasi dengan algoritma lainnya misal
dengan particle swarm optimization dan simulated annealing.
Hybrid Genetic Algorithms (HGAs)
Variable Neighbourhoods Search (VNS) :
o Neighborhood structures : Nk (k=1,…,kmax), kmax adalah banyaknya
neighborhoods
o Nk(x) diperoleh dgn mengganti secara random sebanyak k-exchange
dgn neighborhoods operator dalam representasi solusi (x).procedure VariableNeighbourhoodsSearch
Input:
curr : current/initial solution
kmax : number of neighbourhoods
Output:
best : the best solution
begin
inisialisasi solusi curr_s0best = curr_s0k = 1
while k ≤ kmax do
curr_s = ModifSolutionNk(best, k), //k-exchange neighborhood, insert, etc
bestLocal = LocalSearch(curr_s), //mencari solusi local optimum dengan LS
//menggunakan neighborhood operator yang berbeda
if(fitness(bestLocal) > fitness(best)) then
best = bestLocal
k = 1
else
k = k + 1
end if
end while
end
Hybrid Genetic Algorithms (HGAs)
Local Search (LS) :
procedure LocalSearch
Input:
curr : current/initial solution
Output:
best : the best solution
begin
best = curr
while (bukan kondisi berhenti) do // set perulangan dengan batasan tertentu
curr = ModifSolution(curr) //dengan neighborhood operator tertentu
if(fitness(curr) > fitness(best)) then
best = curr
end if
end while
end
Hybrid Genetic Algorithms (HGAs)
Simulated Annealing (Younis R. Elhaddad, 2012) :
procedure SimulatedAnnealing
begin
inisialisasi solusi xphitung fitness(xp)
set t, sebagai initial temperatur
set β, sebagai cooling factor, dimana 0 < β < 1
while (bukan kondisi berhenti) do
pilih solusi yang bertetanggaan (neighboring solution) xnhitung fitness(xn)
Hitung Δf = fitness(xp) - fitness(xn)
if(Δf < 0)
xp = xnelse
if((1/(1+exp(-(-Δf/t)))) > rand[0,1])
xp = xnelse
t=β.t
end if
end if
end while
end
t
f
e
1
1
probability
of
accepting
worse
solution
Hybrid Genetic Algorithms (HGAs)
PSO (Chen, Hui, Ling, at all, 2011) :
Algoritma particle swarm optimization (PSO)
merupakan algoritma optimasi yang pertama
kali dikenalkan oleh Kennedy dan Eberhart
pada tahun 1995.
Time variant yang digunakan adalah time
varying acceleration coefficients (TVAC) dan
time varying inertia weight (TVIW) Dimana,
- TVIW (wmin = 0.4 dan wmax = 0.9)
- Nilai range c1 dan c2 (TVAC) yang
digunakan adalah (c1i=2.5, c1f=0.5) dan
c2i=0.5, c2f=2.5) karena terbukti optimal. c1
dan c2 (cognitive dan social components).
- w (bobot inersia), d (banyaknya dimensi
data, atau banyaknya fitur data), tmax
(iterasi max.)
- (posisi partikel ke-i, dimensi ke-j,
pada iterasi ke-t)
- (kecepatan partikel ke-i, dimensi ke-
j, pada iterasi ke-t)
- (posisi terbaik partikel ke-i, dimensi
ke-j, pada iterasi ke-t) Personal
Best
- (posisi terbaik global (dimana nilai
g selalu tetap g=0), dimensi ke-j,
pada iterasi ke-t) Global Best
t
ji
t
jg
t
ji
t
ji
t
ji
t
ji xGbestrcxPbestrcvwv ,,22,,11,
1
, ...
1
,,
1
,
t
ji
t
ji
t
ji vxx
dje
vsigt
jiv
t
ji ,....2,1,1
1
,,
dj
otherwise
vsigrandifx
t
jit
ji ,....2,1,,0
]1,0[,1 1
,1
,
Rumus Sigmoid dan update posisi (untuk binary code):
Update posisi:
Rumus update velocity:
max
maxminmaxmin
t
ttwwww
Rumus mencari nilai w, c1 dan c2 adalah
iif
iif
ct
tccc
ct
tccc
2
max
222
1
max
111
Parallel Genetic Algorithms (PGAs)
Pada ruang pencarian yang luas dan kompleks, GAs sering
terjebak dalam daerah optimum lokal.
Hal ini terjadi karena kurangnya keragaman individu dalam
populasi. Hal ini bisa diatasi dengan meletakkan individu-individu
dalam beberapa sub-populasi.
Pada tiap sub-populasi diterapkan operator genetika (crossover,
mutasi, dan seleksi) yang berbeda.
Operator migrasi digunakan untuk memindahkan satu atau
beberapa individu dari satu sub-populasi ke dalam sub-populasi
lain. Pendekatan ini menghasilkan metode yang disebut algoritma
genetika terdistribusi (distributed genetic algorithms, DGAs). DGAs
terbukti efektif menjaga keragaman populasi dan meningkatkan
kualitas hasil pencarian (Mahmudy 2009).
Parallel Genetic Algorithms (PGAs)
Individu-individu yang ada juga bisa diletakkan pada beberapa sub-
populasi yang diproses pada beberapa komputer secara paralel.
Hal ini untuk mengurangi waktu komputasi pada masalah yang
sangat kompleks. Karena itu DGAs sering juga disebut parallel
genetic algorithms (PGAs).
Mekanisme migrasi sederhana dideskripsikan pada Gambar 5.2
yang menunjukkan ada empat sub-populasi. Pada setiap g
generasi, satu individu terbaik dipindahkan ke sub-populasi yang
lain.
n individu n individu
n individu n individu
1 individu
Gambar 5.2. Mekanisme migrasi
Nilai Parameter Adaptif
Kinerja GAs ditentukan oleh kemampuannya dalam menjelajahi
(explore) dan mengeksploitasi (exploit) ruang pencarian (search
space).
Eksplorasi merujuk pada kemampuan untuk menginvestigasi area
baru pada ruang pencarian. Eksploitasi merujuk pada kemampuan
untuk meningkatkan kualitas solusi pada area tetangga
(neighbourhoods) dari solusi yang didapatkan melalui eksplorasi
(Lozano & Herrera 2003).
Dari sini bisa disimpulkan bahwa keseimbangan kemampuan
eksplorasi dan eksploitasi sangat penting untuk mendapatkan
solusi yang baik (optimum atau mendekati optimum).
Nilai Parameter Adaptif
Keseimbangan kemampuan eksplorasi dan eksploitasi bisa
didapatkan melalui penentuan crossover rate dan mutation rate
yang tepat (Lozano & Herrera 2003).
Jika crossover rate terlalu rendah maka GAs akan sangat
tergantung pada proses mutasi. Walaupun mutation rate yang
tinggi memungkinkan GAs mempunyai level eksplorasi dan
diversitas populasi yang tinggi, crossover rate yang rendah
membuatnya tidak bisa secara efektif ‘belajar’ dari generasi
sebelumnya. Hal ini menyebabkan ruang pencarian tidak bisa
diekploitasi secara efektif (Mahmudy 2013).
Sebaliknya jika crossover rate tinggi dan mutation rate rendah
maka GAs akan mengalami penurunan untuk menjaga diversitas
pupolasi. Crossover rate yang tinggi menghasilkan offspring
yang kemiripannya tinggi dengan induknya. Hal ini
menyebabkan GAs mengalami konvergensi dini hanya dalam
beberapa generasi dan kehilangan kesempatan untuk
mengeksplorasi area lain dalam ruang pencarian (Mahmudy 2013).
Nilai Parameter Adaptif
Penentuan kombinasi terbaik crossover rate dan mutation rate
merupakan pekerjaan sulit dan memerlukan beberapa
percobaan pendahuluan (Mahmudy, Marian & Luong 2013d).
Untuk permasalahan yang berbeda dibutuhkan nilai yang berbeda
pula. Karena itu beberapa penelitian menerapkan mekanisme
perubahan crossover rate dan mutation rate secara adaptif
sepanjang generasi (Im & Lee 2008; Liqun et al. 2010; Mahmudy &
Rahman 2011).
Serangkaian percobaan menunjukkan bahwa penggunaan tingkat
reproduksi adaptif mempercepat pergerakan GA ke daerah
feasible yang sekaligus mempercepat pencapaian solusi
(Mahmudy & Rahman 2011).
Nilai Parameter Adaptif
Mahmudy and Rahman (2011) menerapkan pengaturan mutation
rate secara adaptif sepanjang generasi.
Pada setiap generasi dihitung rata-rata nilai fitness seluruh
individu dalam populasi (fAvg). Jika ada peningkatan rata-rata nilai
fitness yang signifikan dibanding generasi sebelumnya
(fAvg>>fAvgOld) maka nilai mutation rate diturunkan. Hal ini
memungkinkan GAs untuk lebih fokus mengeksploitasi ruang
pencarian lokal.
Jika terjadi hal yang sebaliknya (tidak ada peningkatan
signifikan) maka nilai mutation rate dinaikkan. Hal ini
memungkinkan GA untuk lebih memperluas pencarian
(eksplorasi) dengan melompati daerah optimum lokal.
Nilai Parameter Adaptif
Pseudo-code dari mekanisme ini disajikan pada Gambar berikut:
Pada pseudo-code di atas ditambahkan satu mekanisme untuk
menjaga nilai mutation rate dalam range [mutRateMin,
mutRateMax].
PROCEDURE UpdateMutationRate
Input:
fAvg : rata-rata nilai fitness pada generasi sekarang (t)
fAvgOld : rata-rata nilai fitness pada generasi sebelumnya (t-1)
threshold: nilai perbedaan yang menyatakan ada peningkatan signifikan
mutRate : nilai mutation yang belum berubah
Output:
mutRate : nilai mutation yang telah berubah
if fAvg-fAvgOld>threshold then
mutRate ← mutRate * 0.95
else
mutRate ← mutRate * 1.1;
end if
if mutRate>mutRateMax thenmutRate ← mutRateMax
else if mutRate<mutRateMin then
mutRate ← mutRateMin
end if
END PROCEDURE
Tugas Kelompok
1. Apa tujuan dari penerapan algoritma genetika terdistribusi?
2. Jelaskan mekanisme kerja dari algoritma genetika terdistribusi!
3. Apa tujuan dari pengembangan Hybrid Genetic Algorithms
(HGAs)?
4. Apa tujuan dari penerapan nilai parameter adaptif?
5. Buatlah prosedure untuk HGAs antara GA dengan VNS!
6. Buatlah prosedure untuk HGAs antara GA dengan SA!
7. Buatlah prosedure untuk PSO!
8. Hitung V1,2 dan X1,2 pada iterasi ke-1!
TerimakasihImam Cholissodin | [email protected]