Imam Cholissodin | imam.cholissodin@gmail.com Algoritma Evolusi Topik Lanjut Pada GA Imam Cholissodin | imam.cholissodin@gmail.com.

Slides:



Advertisements
Presentasi serupa
Metode Pencarian Heuristik
Advertisements

TEORI ALGORITMA.
Algoritma Genetika Kelompok 2 Ferry sandi cristian ( )
Disusun Oleh: Ainiyatul Muthoharo ( )
Algoritma Genetika.
Genetic Algoritms.
ALGORITMA GENETIKA Disusun Oleh : Anjas Purnomo ( )
SEARCH 2 Pertemuan ke Lima.
METODE PENCARIAN HEURISTIK
Teknik Optimasi.
Hill Climbing Best First Search A*
Dr.Ir. Yandra Arkeman, M.Eng
Design and Analysis Algorithm
Informatics Theory & Programming (ITP) Informatics Eng. Dept. – IT Telkom.
Ruang Keadaan (state space)
Pencarian (Searching)
Penyelesaian Masalah Teknik Pencarian
Pertemuan-2 Kriteria kebaikan suatu algoritme Correctness
Kuliah Sistem Fuzzy Pertemuan 12 “Algoritma Genetika”
Informed (Heuristic) Search
MATERI PERKULIAHAN TEKNIK KOMPILASI
Imam Cholissodin | Algoritma Evolusi Imam Cholissodin |
Penyelidikan Operasi Penyelesaian Numerik
Algoritma dan Pemrograman – Pertemuan 3 & 4 Sorting (Pengurutan)
PENGENALAN KECERDASAN KOMPUTASIONAL
Penyelesaian Masalah menggunakan Teknik Pencarian Heuristic Search
Fuzzy EAs Dr. Suyanto, S.T., M.Sc. HP/WA:
Dasar-Dasar Algoritma Genetika
Oleh : Desca Marwan Toni (G )
Imam Cholissodin | Algoritma Evolusi Teknik Optimasi Imam Cholissodin |
Evolution Strategies (ES)
Metode Pencarian/Pelacakan
Algoritma Greedy.
Ida Wahyuni Wayan Firdaus Mahmudy
Istiqomah, S.Kom/Tekkom 2013
Pendekatan Inferensi dalam Sistem Pakar
Imam Cholissodin | Algoritma Evolusi Real-Coded GA (RCGA) Imam Cholissodin |
Paralelisasi dan Distribusi
Optimasi Masalah Kombinatorial
Pertemuan 6 Pencarian Heuristik
Pertemuan 13 ALGORITMA GENETIKA
ALGORITMA GREEDY, KRUSKAL, MINIMUM SPANNING TREE
Oleh : Yusuf Nurrachman, ST, MMSI
Konvergensi Prematur dan Pencegahannya
Genetic Programming (GP) Dan Evolutionary Programming (EP)
Pendekatan Inferensi dalam Sistem Pakar
GENETICS ALGORITHM Nelly Indriani W. S.Si., M.T KECERDASAN BUATAN.
Pertemuan 6 Pencarian Heuristik
Metode pencarian dan pelacakan - Heuristik
Faktor analisa algoritma
Pertemuan 14 Algoritma Genetika.
DISUSUN OLEH: Meiga Restianti
Teknik Optimasi.
TEKNIK PENCARIAN.
Algoritma AI 2.
Pertemuan 13 ALGORITMA GENETIKA
ALGORITMA GENETIKA.
Informed (Heuristic) Search
PERTEMUAN 12 P'HES " ROUTING JARKOM".
Masalah, Ruang Keadaan dan Pencarian
Algoritma Greedy Wahyul Wahidah Maulida, ST., M.Eng.
Pertemuan 13 Algoritma Genetika.
Pertemuan 18 CODE OPTIMIZATION
ALGORITMA GENETIKA.
Algoritma Genetika.
Pertemuan 15 ALGORITMA GENETIKA
Pembimbing : Aziz Kustiyo, S.Si., M.Kom. Endang Purnama Giri, S.Kom.
KECERDASAN BUATAN PERTEMUAN 4.
PENJADWALAN PERKULIAHAN MENGGUNAKAN ALGORITME GENETIKA
Algoritma Genetika. Melakukan Optimasi Fitness Contoh Fungsi Fitnes Y = - (x 2 - 1) GA akan melakukan optimasi terhadap fungsi tersebut.
Transcript presentasi:

Imam Cholissodin | imam.cholissodin@gmail.com Algoritma Evolusi Topik Lanjut Pada GA Imam Cholissodin | imam.cholissodin@gmail.com

Pokok Bahasan Hybrid Genetic Algorithms (HGAs) Parallel Genetic Algorithms (PGAs) Nilai Parameter Adaptif 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) : GA-SA (simulated annealing ) SA-GA GA dan hill-climbing GA-PSO (particle swarm optimization ) PSO-GA 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 : Keseimbangan antara kemampuan eksplorasi GAs dalam pencarian pada area global, dan 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 Lakukan dengan teknik pencarian local search (LS), atau lainnya 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)

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 : Optimasi rute (yang memperhatikan kondisi jalur satu arah dua arah, bobot kemacetan, menggunakan matrik jarak asimetris dll), Penjadwalan kuliah (yang melibatkan optimasi pembagian resouce mengajar, kelas parallel, dan atribut komplek lainnya) 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) : Neighborhood structures : Nk (k=1,…,kmax), kmax adalah banyaknya neighborhoods 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_s0 best = curr_s0 k = 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 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 end if end while end

Hybrid Genetic Algorithms (HGAs) Simulated Annealing (Younis R. Elhaddad, 2012) : procedure SimulatedAnnealing begin inisialisasi solusi xp hitung 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) xn hitung fitness(xn) Hitung Δf = fitness(xp) - fitness(xn) if(Δf < 0) xp = xn else if((1/(1+exp(-(-Δf/t)))) > rand[0,1]) t=β.t end if end while end 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 Rumus mencari nilai w, c1 dan c2 adalah Rumus update velocity: Update posisi: Tambahan Proses : >> Proses Inisialisasi x=xmin + rand[0,1]*(xmax-xmin), v=0, yaitu ketika t=0 >> Batasan lower dan upper untuk x=[xmin,xmax] dan v=[vmin,vmax], dimana vmin=-vmax dimana vmax=60%*xmax Rumus Sigmoid dan update posisi (untuk binary code):

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. 1 individu n individu n individu n individu n 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 then mutRate ← mutRateMax else if mutRate<mutRateMin then mutRate ← mutRateMin END PROCEDURE

Tugas Kelompok Apa tujuan dari penerapan algoritma genetika terdistribusi? Jelaskan mekanisme kerja dari algoritma genetika terdistribusi! Apa tujuan dari pengembangan Hybrid Genetic Algorithms (HGAs)? Apa tujuan dari penerapan nilai parameter adaptif? Buatlah prosedure untuk HGAs antara GA dengan VNS! Buatlah prosedure untuk HGAs antara GA dengan SA! Buatlah prosedure untuk PSO! Hitung V1,2 dan X1,2 pada iterasi ke-1!

Imam Cholissodin | imam.cholissodin@gmail.com Terimakasih Imam Cholissodin | imam.cholissodin@gmail.com