download html download
8.1 Pendahuluan
MATLAB (Matrix Laboratory), produk Mathworks, adalah paket perangkat lunak ilmiah yang dirancang untuk memberikan komputasi numerik dan visualisasi numerik yang terintegrasi dalam bahasa pemrograman tingkat tinggi. Dr Cleve Moler, ilmuwan kepala di MathWorks, Inc., awalnya menulis MATLAB, untuk menyediakan akses mudah ke perangkat lunak matriks yang dikembangkan dalam proyek LINPACK dan EISPACK. Versi pertama ditulis pada akhir 1970-an untuk digunakan dalam kursus teori matriks, aljabar linier, dan analisis numerik. Oleh karena itu, MATLAB dibangun di atas fondasi perangkat lunak matriks yang canggih, di mana elemen data dasarnya adalah matriks yang tidak memerlukan predimensioning.MATLAB memiliki beragam fungsi yang berguna bagi praktisi algoritma genetika dan mereka yang ingin bereksperimen dengan algoritma genetika untuk pertama kalinya. Dengan fleksibilitas bahasa MATLAB yang tinggi, masalah dapat dikodekan dalam file dalam sebagian kecil waktu yang dibutuhkan untuk membuat program C atau Fortran untuk tujuan yang sama. Pasangan ini dengan analisis data MATLAB yang canggih, alat visualisasi dan kotak peralatan domain tujuan khusus dan pengguna dilengkapi dengan lingkungan yang seragam untuk mengeksplorasi potensi algoritma genetika.
The Genetic Algorithm Toolbox menggunakan fungsi matriks MATLAB untuk membangun seperangkat alat serbaguna untuk menerapkan berbagai metode algoritma genetika. The Genetic Algorithm Toolbox adalah kumpulan rutinitas, kebanyakan ditulis dalam file, yang menerapkan fungsi terpenting dalam algoritma genetika.
8.2 Struktur Data
MATLAB pada dasarnya hanya mendukung satu tipe data, sebuah matriks persegi panjang dari elemen numerik yang nyata atau kompleks. Struktur data utama dalam kotak peralatan Genetika Algoritma adalah:• kromosom
• nilai fungsi obyektif
• nilai kesesuaian
Struktur data ini dibahas pada subbagian berikut.
8.2.1 Kromosom
Struktur data kromosom menyimpan seluruh populasi dalam matriks tunggal ukuran Nind × Lind, di mana Nind adalah jumlah individu dalam populasi dan Lind adalah panjang dari representasi genotipik individu tersebut. Setiap baris sesuai dengan genotip individu, yang terdiri dari nilai base-n, biasanya biner.
Representasi data ini tidak memaksa struktur pada struktur kromosom, hanya mengharuskan semua kromosom memiliki panjang yang sama. Dengan demikian, populasi terstruktur atau populasi dengan basis genotipik yang bervariasi dapat digunakan dalam Algoritma Algoritma Genetika asalkan fungsi decoding yang sesuai, memetakan kromosom ke fenotipe, digunakan.
8.2.2 Fenotip
Variabel keputusan, atau fenotip, dalam algoritma genetika diperoleh dengan menerapkan beberapa pemetaan dari representasi kromosom ke ruang variabel keputusan. Di sini, masing-masing string yang terkandung dalam struktur kromosom men-decode vektor baris perintah Nvar, sesuai dengan jumlah dimensi di ruang pencarian dan sesuai dengan variabel keputusan nilai vektor. Variabel keputusan disimpan dalam matriks numerik dengan ukuran Nind × Nvar. Sekali lagi, setiap baris sesuai dengan fenotip individu tertentu. Contoh struktur data fenotip diberikan di bawah ini, di mana bin2real digunakan untuk mewakili fungsi sewenang-wenang, mungkin dari Toolbox GA, memetakan genotipe ke fenotipe.
Pemetaan aktual antara representasi kromosom dan nilai fenotipnya bergantung pada fungsi bin2real yang digunakan. Sangat layak menggunakan representasi ini untuk memiliki vektor variabel keputusan dari berbagai tipe. Sebagai contoh, adalah mungkin untuk menggabungkan variabel keputusan integer, real-valued, dan biner dalam struktur data Phen yang sama.
8.2.3 Nilai Fungsi Tujuan
Fungsi objektif digunakan untuk mengevaluasi kinerja fenotipe dalam domain masalah. Nilai fungsi obyektif dapat berupa skalar atau, dalam kasus masalah multiobektif, vectorial. Perhatikan bahwa nilai fungsi objektif tidak harus sama dengan nilai kesesuaian. Nilai fungsi obyektif disimpan dalam matriks numerik dengan ukuran Nind × Nobj, di mana Nobj adalah jumlah tujuan. Setiap baris sesuai dengan vektor tujuan individu tertentu.
8.2.4 Nilai Kebugaran
Nilai fitness berasal dari nilai fungsi objektif melalui fungsi scaling atau ranking. Kebugaran adalah skalar non-negatif dan disimpan dalam vektor kolom dengan panjang Nind, contohnya ditunjukkan di bawah ini. Sekali lagi, Ranking adalah fungsi kehati-hatian yang sewenang-wenang.
8.2.5 Beberapa Subpopulasi
Toolbox ini mendukung penggunaan populasi tunggal yang dibagi menjadi beberapa subpopulasi atau demes dengan memodifikasi penggunaan struktur data sehingga subpopulasi disimpan dalam blok bersebelahan dalam satu matriks tunggal. Misalnya, struktur data kromosom, Chrom, terdiri dari subpopulasi Subpop, masing-masing dengan panjang N individu Ind, isstoredas:
8.3 Fungsi Kotak Alat
Algoritma Genetika dan Direct Search Toolbox adalah kumpulan fungsi yang memperluas kemampuan Toolbox Pengoptimalan dan lingkungan komputasi numerik MATLAB. Algoritma Genetika dan Toolbox Pencarian Langsung mencakup rutinitas untuk memecahkan masalah optimasi dengan menggunakan• Algoritma genetika
• Pencarian langsung Algoritma ini memungkinkan Anda mengatasi berbagai masalah pengoptimalan yang berada di luar cakupan Toolbox Pengoptimalan. Algoritma genetika menggunakan tiga jenis aturan utama pada setiap langkah untuk menciptakan generasi berikutnya dari populasi saat ini:
• Aturan seleksi memilih individu, yang disebut orang tua, yang berkontribusi pada populasi pada generasi berikutnya.
• Aturan crossover menggabungkan dua orang tua untuk membentuk anak-anak untuk generasi berikutnya.
• Aturan mutasi menerapkan perubahan acak pada masing-masing orang tua untuk membentuk anak.
Algoritma genetika pada baris perintah, sebut fungsi algoritma genetika ga dengan sintaksnya
dimana
• @ fitnessfun adalah pegangan untuk fungsi penyimpanan.
• nvars adalah jumlah variabel independen untuk fungsi kesesuaian
.
• Pilihan adalah struktur yang berisi opsi untuk algoritma genetika. Jika Anda tidak lulus dalam argumen ini, 'ga' menggunakan opsi defaultnya. Hasilnya diberikan oleh
• Titik - X di mana nilai akhir tercapai
• Nilai - fval historis fungsi penyimpanan
Toolboxes adalah kumpulan fungsi library standar, yang terdiri dari algoritma yang telah ditentukan. Algoritma genetika dan toolbox pencarian langsung MATLAB terdiri dari beberapa fungsi berikut:
Ini adalah fungsi toolbox yang ada di MATLAB. Ada
juga Genetic dan Evolutionary Algorithm Toolbox untuk digunakan dengan
MATLAB yang berisi banyak alat untuk memecahkan masalah optimasi dunia
nyata. Mereka tidak hanya menutupi pengoptimalan, tapi juga
persiapan masalah yang harus dipecahkan, visualisasi proses
pengoptimalan, pelaporan dan penghematan hasil, dan juga beberapa alat
khusus lainnya. Daftar berbagai fungsi menggunakan Genetic
and Evolutionary Algorithm Toolbox untuk penggunaan dengan MATLAB adalah
sebagai berikut:
8.4 Algoritma Genetika Graphical User Interface Toolbox
Genetic Algorithm Tool adalah antarmuka pengguna grafis yang memungkinkan Anda menggunakan algoritma genetika tanpa bekerja pada baris perintah. Untuk membuka Genetic Algorithm Tool, masukkan gatoolPada prompt perintah MATLAB. Ini akan membuka alat seperti ditunjukkan pada gambar berikut. 8.1 Untuk menggunakan Algoritma Genetika, Anda harus terlebih dahulu memasukkan informasi berikut: Fungsi kebugaran - Fungsi objektif yang ingin Anda minimalkan. Masukkan fungsi kesesuaian dalam bentuk @ fi tnessfun, di mana fi tnessfun.m adalah file yang menghitung fungsi kekerasan.Jumlah Variabel - Jumlah variabel dalam fungsi kekakuan yang diberikan harus diberikan.
Pilihan plot1. Kesesuaian terbaik2. Individu terbaik3. Jarak4. Harapan5. Silsilah6. Rentang7. Skor Keragaman8. Skor9. Seleksi10. Menghentikan
Berdasarkan masalah yang ada, fungsi custom saya juga bisa dibangun. Berbagai parameter penting untuk menjalankan alat algoritma genetika harus ditentukan secara tepat. Parameter muncul di sisi kanan alat GA. Deskripsinya adalah sebagai berikut:
1. Population
Dalam hal ini tipe populasi, ukuran populasi dan fungsi pembuatannya dapat dipilih. Populasi awal dan skor awal dapat ditentukan, jika tidak, "alat Ga" menciptakannya. Rentang awal harus diberikan.
2. Fitness Scaling
Kebugaran Penskalaan daya harus berupa hal-hal berikut Sebuah.
A. Rank
B. SebandingC. PuncakD. Shift LinearE. Adat
3. Selection
Pemilihan dilakukan pada salah satu dari metode yang disebutkan di atas
4. Reproduction
Dalam reproduksi hitungan elit dan pecahan silang harus diberikan. Jika hitungan elit tidak ditentukan, maka akan dianggap sebagai 2.
5. Mutation
Umumnya mutasi Gaussian atau Uniform dilakukan. Pengguna dapat menentukan operasi mutasi yang disesuaikan sendiri.
6. Crossover
Berbagai teknik crossover adalah sebagai berikut:
7. Migration
Parameter migrasi harus didefinisikan sebagai berikut:
8. Hybrid Function
Salah satu fungsi hibrida berikut dapat dipilih,
9. Stopping Criteria
Kriteria penghentian memainkan peran utama dalam simulasi.
Parameter lain Output Function, Display to command window dan Vectorize mungkin sesuai ditentukan oleh pengguna.
10. Running and Simulation
Menu yang ditunjukkan di bawah ini membantu pengguna menjalankan alat GA.
Proses yang berjalan mungkin dihentikan sementara dengan menggunakan opsi "Jeda" dan berhenti secara permanen menggunakan opsi "Berhenti". "Generasi sekarang" akan ditampilkan selama iterasi. Setelah iterasi selesai, status dan hasilnya akan ditampilkan. Juga "titik akhir" untuk fungsi kecocokan akan ditampilkan.
8.5 Solved Problems using MATLAB
Problem 1
Tuliskan program
MATLAB untuk memaksimalkan f (x) = x^2 dengan menggunakan algoritma
genetika, di mana x berkisar antara 0 sampai 31. Lakukan 4 iterasi.
Source code matlab : Download
Output
Enter no. of population in each iteration4
Enter no. of iterations4
oldchrom =
1 0 0 1 0
0 1 0 1 0
0 0 1 1 0
1 1 1 1 0
FieldD =
5
0
31
0
0
1
1
For iteration
i=
1
Population
oldchrom =
1 0 0 1 0
0 1 0 1 0
0 0 1 1 0
1 1 1 1 0
X
phen =
18
10
6
30
f(X)
sqx =
324
100
36
900
For iteration
i=
2
Population
oldchrom =
1 1 1 0 0
0 1 1 0 1
0 0 1 1 0
1 0 1 0 1
X
phen =
28
13
6
21
f(X)
sqx =
784
169
36
441
For iteration
i=
3
Population
oldchrom =
0 0 0 0 1
0 0 1 1 1
0 0 0 0 1
1 0 1 0 0
X
phen =
1
7
1
20
f(X)
sqx =
1
49
1
400
For iteration
i=
4
Population
oldchrom =
1 0 0 0 0
1 1 0 1 1
1 0 0 1 1
0 1 1 1 1
X
phen =
16
27
19
15
f(X)
sqx =
256
729
361
225
Problem 2
Find
a minimum of a stochastic objective function using PATTERNSEARCH func-
tion in the Genetic Algorithm and Direct Search Toolbox.
Source Code Matlab : Download
Output
In fmincon at 260
In PS at 33
Xop =
-5 -5
Fop =
-250
In fmincon at 260
In PS at 70
Xop =
1.2861 -4.8242
Fop =
-86.0221
Xps =
-5 -5
Fps =
-247.3159
Algoritma pencarian pola tidak terpengaruh oleh noise acak pada fungsi objektif. Pencarian
pola hanya membutuhkan nilai fungsi dan bukan turunannya, oleh karena
itu noise (dari beberapa jenis seragam) mungkin tidak mempengaruhi hal
tersebut.
Pencarian pola memerlukan evaluasi fungsi yang lebih banyak untuk menemukan minima, biaya untuk tidak menggunakan turunannya.
In fmincon at 260
In PS at 33
Xop =
-5 -5
Fop =
-250
In fmincon at 260
In PS at 70
Xop =
1.2861 -4.8242
Fop =
-86.0221
Xps =
-5 -5
Fps =
-247.3159
Algoritma pencarian pola tidak terpengaruh oleh noise acak pada fungsi objektif. Pencarian pola hanya membutuhkan nilai fungsi dan bukan turunannya, oleh karena itu noise (dari beberapa jenis seragam) mungkin tidak mempengaruhi hal tersebut.
Pencarian pola memerlukan evaluasi fungsi yang lebih banyak untuk menemukan minima, biaya untuk tidak menggunakan turunannya.
0 komentar:
Posting Komentar