9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub...

19
Topik Lanjut Pada GA Imam Cholissodin | [email protected] Algoritma Evolusi

Transcript of 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub...

Page 1: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

Topik Lanjut Pada GA

Imam Cholissodin | [email protected]

Algoritma Evolusi

Page 2: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

Pokok Bahasan

1. Hybrid Genetic Algorithms (HGAs)

2. Parallel Genetic Algorithms (PGAs)

3. Nilai Parameter Adaptif

4. Tugas

Page 3: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

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

Page 4: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

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.

Page 5: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

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

Page 6: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

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.

Page 7: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

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

Page 8: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

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

Page 9: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

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

Page 10: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

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

Page 11: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

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).

Page 12: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

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

Page 13: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

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).

Page 14: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

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).

Page 15: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

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).

Page 16: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

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.

Page 17: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

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

Page 18: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

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!

Page 19: 9. Topik Lanjut Pada GA ALEV BCD L1516 - imamcs.lecture.ub ...imamcs.lecture.ub.ac.id/files/2016/09/9.-Topik-Lanjut-Pada-GA_ALEV...Teknik LS sederhana yang bisa dipakai misalnya algoritma

TerimakasihImam Cholissodin | [email protected]