StrategiAlgoritmaGenetika
-
Upload
simiaomiao -
Category
Documents
-
view
215 -
download
0
Transcript of StrategiAlgoritmaGenetika
-
8/9/2019 StrategiAlgoritmaGenetika
1/32
Strategi Menggunakan
Algoritma GenetikaAchmad Basuki
Politeknik Elektronika Negeri Surabaya PENS-ITS2003
-
8/9/2019 StrategiAlgoritmaGenetika
2/32
AgendaMemahami permasalahan apa yangmembutuhkan algoritma genetikaStrategi mendefinisikan Individu
Strategi menentukan bentuk kromosomStrategi menentukan fitness
Strategi menentukan seleksiStrategi menentukan proses cross-overStrategi menentukan mutasi
-
8/9/2019 StrategiAlgoritmaGenetika
3/32
Mengapa Menggunakan
Algoritma GenetikaAlgoritma genetika digunakan untuk
menyelesaikan permasalahan searching danoptimasi yang mempunyai kompleksitastinggi yang banyak terjadi dalam dynamicprogramming seperti TSP dan KnapsackProblem.Algoritma genetika dapat menghindarikeadaan lokal optimum yang baik.Pengembangan model parallel computing
dapat dengan mudah dilakukan.
-
8/9/2019 StrategiAlgoritmaGenetika
4/32
Ciri-Ciri Permasalahan YangMembutuhkan Algoritma Genetika
Mempunyai fungsi tujuan optimalisasi non linear
dengan banyak kendala yang juga non linear.Mempunyai kemungkinan solusi yang jumlahnya takberhingga.Membutuhkan solusi real-time dalam arti solusibisa didapatkan dengan cepat sehingga dapatdiimplementasi untuk permasalahan yangmempunyai perubahan yang cepat seperti optimasipada pembebanan kanal pada komunikasi seluller.Mempunyai multi-objective dan multi-criteria,sehingga diperlukan solusi yang dapat secara bijakditerima oleh semua pihak.
-
8/9/2019 StrategiAlgoritmaGenetika
5/32
Strategi Menentukan IndividuIndividu adalah suatu komposisi nilai yang
menyatakan solusi dari suatu permasalahan.Permasalahan optimasi adalah suatu permasalahanyang mempunyai banyak solusi dan harus bisaditentukan solusi mana yang dikatakan optimal.Berdasarkan definisi individu algoritma genetikadibedakan menjadi 2 macam yaitu static genetic algorithm ( ukuran individu sama untuk satupopulasi) dan dynamic genetic algorithm (ukuranindividu tidak sama untuk satu populasi).
-
8/9/2019 StrategiAlgoritmaGenetika
6/32
Definisi Individu Untuk Menentukan
Nilai Maksimal Fungsi F(x,y,z)Nilai fungsi F(x,y,z) sangat tergantung pada nilai
(x,y,z). Artinya solusi yang dicari adalah nilai (x,y,z)yang menyebabkan nilai F(x,y,z) maksimum.Individu didefinisikan sebagai nilai (x,y,z) dandituliskan dengan:
{ } R z y x z y xS = ,,|),,(
-
8/9/2019 StrategiAlgoritmaGenetika
7/32
Definisi Individu Untuk TSPTSP (Traveling Salesman Problem)adalah suatu permasalahan dimanaseorang sales harus mengunjungi Nkota dengan jarak yang paling pendek,dengan syarat satu kota hanyadikunjungi satu kali.Solusi TSP adalah jalur yang melewatisemua kota dan jaraknya paling
pendek.Individu untuk TSP didefinisikansebagai jalur atau urutan nomor kotayang dikunjungi. Misalkan untuk 8 kotasalah satu jalur yang mungkin adalah :1-2-3-4-7-8-5-6 atau 1-2-4-5-7-8-6-3Perhatikan bahwa tidak ada nomoryang sama, dan setiap nomor 1 s/dada.
1
3
2
6
47
8
5
1-2-3-4-7-8-5-6
1
3
2
6
47
8
5
1-2-4-5-7-8-6-3
-
8/9/2019 StrategiAlgoritmaGenetika
8/32
Definisi Individu Untuk Permasalahan
Penentuan Lokasi RBS yang OptimalDalam satu area yang berukuranN1xN2, akan dipasang N buah
RBS. Permasalahannya adalahdimana lokasi RBS-RBS tersebutagar covering areanya maksimalatau blank areanya minimal.
Solusi dari permasalahan iniadalah lokasi N buah RBS yangdapat memaksimalkan coveringarea.Individu didefinisikan sebagailokasi N buah RBS dan ditulisdengan:
{ }21332211 0,0|),(),...,,(),,(),,( N y N x y x y x y x y xS k k N N
-
8/9/2019 StrategiAlgoritmaGenetika
9/32
Macam-Macam
Bentuk KromosomKromosom biner, yaitu kromosom yang disusun dari
gen-gen yang bernilai 0 dan 1. Kromosom ini adalahmodel standar dalam algoritma genetika.Kromosom float, yaitu kromosom yang disusun dari
gen-gen dengan nilai pecahan. Gen integer dapatdigolongkan dalam bentuk kromosom ini.Kromosom string, yaitu kromosom yang disusun darigen-gen yang bernilai string (simbol).Kromosom Kombinatorial, yaitu kromosom yangdisusun dari gen-gen yang dinilai dari urutannya.
-
8/9/2019 StrategiAlgoritmaGenetika
10/32
Bentuk Kromosom BinerKromosom biner merupakan model yang sederhana
dengan tingkat keberhasilan yang tinggi.Permasalahan dengan parameter yang jumlah danrange nilainya tertentu sebaiknya menggunakan
bentuk kromosom biner, seperti mencari nilaioptimal fungsi transedental.Jumlah gen pada kromosom biner menunjukkantingkat ketelitian yang diharapkan.
-
8/9/2019 StrategiAlgoritmaGenetika
11/32
Bentuk Kromosom Biner Untuk
Mencari Nilai Maksimal Fungsi F(x,y,z)Solusi dari permasalahan menentukan nilai maksimal fungsi F(x,y,z)adalah nilai kombinasi (x,y,z). Misalkan x=0.4, y=0.36 dan z=0.7ditulis dengan [0.4 0.36 0.7]Setiap nilai dikonversikan menjadi nilai biner m bit, bila setiap nilaiX=(x,y,z) mempunyai range [min(X) max(X)] maka m bit 0
menyatakan nilai min dan m bit 1 menyatakan nilai max, sehinggakonversinya adalah:
Misalkan semua dibatasi [0 1] maka model konversi 8 bit per-gendigambarkan sebagai berikut:
( )12
)()min()max(
=
m
X biner X X X
00000000 00000000 00000000 (0,0,0)
00000100 01001001 11000000 (4/255, 73/255, 192/255)11111111 11111111 11111111 (1,1,1)
-
8/9/2019 StrategiAlgoritmaGenetika
12/32
Implementasi Dengan MatlabBila dalam populasi terdapat Npop individu,maka untuk membangkitkan individu dapatdilakukan dengan menggunakan perintah:
Hasil dari perintah tersebut adalah matrikbiner yang ukurannya 10x24.
%Membangkitkan individuNpop=10;individu=floor(rand(Npop,24)*2);
-
8/9/2019 StrategiAlgoritmaGenetika
13/32
Konversi Biner Ke Float
(Dekoding)Sebelum menghitungnilai fungsi F(x,y,z),perlu suatu prosesdekoding yangmengkonversikankombinasi binermenjadi (x,y,z).Implementasinya dalamMatlab adalah sebagaiberikut:
%Konversi biner ke decimal
Xmin=0;Xmax=1;
xi=individu(Npop,1:8);
xs=num2str(xi);x=bin2dec(xs)*(Xmax-Xmin)/255;
yi=individu(Npop,9:16);ys=num2str(yi);y=bin2dec(ys)*(Xmax-Xmin)/255;
zi=individu(Npop,17:24);zs=num2str(zi);
z=bin2dec(zs)*(Xmax-Xmin)/255;
-
8/9/2019 StrategiAlgoritmaGenetika
14/32
Bentuk Kromosom FloatKromosom float merupakan model yang jumlah
parameternya banyak. Tingkat keberhasilan daribentuk kromosom ini rendah dalam kecepatan(jumlah generasi).
Model cross-over dan mutasi pada kromosom floatini sangat berbeda dengan model cross-over danmutasi pada kromosom biner. Sehingga perlu
strategi khusus didalam menentukan model cross-over dan mutasi.Range nilai [min max] menjadi tidak penting dalambentuk kromosom float ini.
-
8/9/2019 StrategiAlgoritmaGenetika
15/32
Bentuk Kromosom Float Untuk
Mencari Nilai Maksimal Fungsi F(x,y,z)Solusi dalam permasalahan nilai optimal fungsi
F(x,y,z) adalah nilai (x,y,z) sehingga kromosomnyaadalah kombinasi nilai x, y dan z sebagai berikut:
Dalam Matlab, penentuan individu dapat dituliskansebagai berikut:Npop=10; %jumlah populasi%Membangkitkan individuindividu=rand(Npop,3)
0.150 0.623 0.314
x y z
-
8/9/2019 StrategiAlgoritmaGenetika
16/32
Konversi Individu Ke Solusi
(Dekoding)Individu didefinisikan :
individu=[x y z] Untuk mendapatkan nilai x,y,z tinggal
menuliskan lokasi kolom array dari individu.%Dekodingx=individu(:,1);y=individu(:,2);z=individu(:,3);
-
8/9/2019 StrategiAlgoritmaGenetika
17/32
Strategi Menentukan Nilai
FitnessNilai fitness merupakan suatu ukuran baik tidaknya suatusolusi yang dinyatakan sebagai satu individu, atau dengankata lain nilai fitness menyatakan nilai dari fungsi tujuan.Algoritma genetika mempunyai tujuan untuk memaksimalkannilai fitness atau mencari nilai fitness maksimal.Untuk permasalahan minimalisasi, nilai fitness adalah inversidari nilai minimal yang diharapkan. Proses inversi dapatdilakukan dengan:
)( X F AFitness = +
=)( X F
AFitnessatau
Dimana A = konstanta yang ditentukanX = individu (kromosom)e = bilangan kecil yang ditentukan untuk
menghindari pembagi nol atau F(X)=0
-
8/9/2019 StrategiAlgoritmaGenetika
18/32
Nilai Fitness Untuk Mencari
Nilai Maksimal F(x,y,z)Tujuannya adalah mencari nilai maksimal F(x,y,z),
maka nilai fitnessnya adalah nilai fungsi F(x,y,z) itusendiri.Implementasi pada matlab untuk fungsi:
xy z y z x z y xF += )sin()cos(),,( 22
%Menghitung Fitness
fitness=x.^2.*cos(z)+y.^2.*sin(z)+x.*y;
-
8/9/2019 StrategiAlgoritmaGenetika
19/32
Nilai Fitness Untuk Mencari
Nilai Minimal F(x,y,z)Tujuannya adalah mencari nilai minimal F(x,y,z),
maka nilai fitnessnya adalah nilai inversi dari fungsiF(x,y,z) itu sendiri.Implementasi pada matlab untuk fungsi:
xy z y z x z y xF += )sin()cos(),,(22
%Menghitung FitnessF=x.^2.*cos(z)+y.^2.*sin(z)+x.*y;Fitness=1/(F+1);
%Menghitung FitnessA=10 ;F=x.^2.*cos(z)+y.^2.*sin(z)+x.*y;Fitness=A-F;
)( X F AFitness =
+
=
)( X F
AFitness
-
8/9/2019 StrategiAlgoritmaGenetika
20/32
Strategi Menentukan SeleksiSeleksi dengan Mesin Roulette, model
seleksi ini merupakan model yang palingmudah dan paling besar variansinya.Munculnya individu superior sering terjadi
pada model ini, sehingga perlu strategi lainuntuk menangani hal ini.Seleksi dengan Turnamen, model inimerupakan model yang variansinya kecilsehingga kemungkinan munculnya individusuperior dapat dikurangi.
-
8/9/2019 StrategiAlgoritmaGenetika
21/32
Implementasi Seleksi Untuk
Mencari Nilai Maksimal F(x,y,z)%Seleksiinduk=individu;Jfitness=sum(fitness); %Total fitness
%prosentase fitnessprosenfitness=floor(100*fitness/Jfitness);%Pembuatan roletk=0;for i=1:Npop
for j=1:prosenfitness(i)k=k+1;rolet(k)=i;
end
End%Pemilihanfor i=1:Npop
r=floor(k*rand)+1;
pilih=rolet(k);induk(i,:)=individu(i,:);end
-
8/9/2019 StrategiAlgoritmaGenetika
22/32
RankSalah satu cara untukmengurangi kemungkinanterjadinya individu superior yangmenyebabkan terjebak keoptimum lokal adalahmenggunakan Rank
Pembagian area pada piringanmesin roulette ditentukan olehranking dari individu. Individudengan fitness paling kecil diberiarea 1, setelahnya 2, 3 danseterusnya, individu yangfitnessnya tertinggi diberi area N.
Individu 1 : fitness = 0.154Individu 2 : fitness = 0.500Individu 3 : fitness = 0.141
Individu 4 : fitness = 0.220
Individu 1 : pfitness = 2Individu 2 : pfitness = 4Individu 3 : pfitness = 1Individu 4 : pfitness = 3
Individu 1 : prosentase area = 20Individu 2 : prosentase area = 40
Individu 3 : prosentase area = 10Individu 4 : prosentase area = 30
-
8/9/2019 StrategiAlgoritmaGenetika
23/32
Perbandingan Tanpa Rank Dan
Dengan RankIndividu 1 : fitness = 0.054Individu 2 : fitness = 0.500
Individu 3 : fitness = 0.041Individu 4 : fitness = 0.120
Individu 1 : prosentase area = 20
Individu 2 : prosentase area = 40Individu 3 : prosentase area = 10Individu 4 : prosentase area = 30
Individu 1 : prosentase area = 7.55
Individu 2 : prosentase area = 68.93Individu 3 : prosentase area = 5.73Individu 4 : prosentase area = 16.78
tanparank
denganrank
-
8/9/2019 StrategiAlgoritmaGenetika
24/32
Strategi Penentuan Cross OverPenentuan Cross-Over harus menjamin bahwa solusi
masih berada di ruang solusi.
Cross over untuk kromosom biner dilakukan denganmenggunakan pertukaran gen antar induk.Cross over untuk kromosom float dilakukan denganpertukaran gen atau pertukaran aritmatika antarinduk.
Probabilitas cross over yang baik berada padakisaran 0.5 sampai dengan 0.95
Sk individu )(
P l h C O
-
8/9/2019 StrategiAlgoritmaGenetika
25/32
Permasalahan Cross-Over
Pada TSP1 3 4 2 7 8 5 6
3 6 5 7 4 2 1 8
1 3 4 7 4 2 5 6
3 6 5 2 7 8 1 8
1 3 4 4 5 6 5 6
3 6 5 5 6 4 1 8
Diperlukan teknik Cross-Over yang lain agar dapatmenjamin solusi tetap berada di dalam ruang solusi
terpilih r1=4 dan r2=6
Pertukaran gen secara langsung,menghasilkan individu yang keluardari ruang solusi
Pertukaran gen secara aritmatika,
menghasilkan individu yang keluardari ruang solusi
INDUK
C O U k M i
-
8/9/2019 StrategiAlgoritmaGenetika
26/32
Cross Over Untuk Mencari
Nilai Maksimal Fungsi F(x,y,z)Bila menggunakan kromosom biner, cross over
dapat dilakukan dengan pertukaran gen secaralangsung dari kedua induk.
Bila menggunakan kromosom float, cross over dapatdilakukan dengan pertukaran aritmatika.
11111000 1010 1010
00000100 0100 1011
11111000 0100 1010
00000100 1010 1011
)1,(.),().1()1,(
)1,().1(),(.),(++=+
++=
k nar k nar k na
k nar k nar k na
Dimana r adalah bilangan acak 0 s/d 1
I l t i C O
-
8/9/2019 StrategiAlgoritmaGenetika
27/32
Implementasi Cross Over
Dengan Kromosom Biner%Cross Over
anak=induk;m=floor(Npop/2);probCO=0.85; % Probabilitas Cross Overfor i=1:m
p=rand;if p
-
8/9/2019 StrategiAlgoritmaGenetika
28/32
Implementasi Arithmetic Cross
Over Dengan Kromosom Float%Cross Over
anak=induk;m=floor(Npop/2);probCO=0.85; % Probabilitas Cross Overfor i=1:m
p=rand;
if p
-
8/9/2019 StrategiAlgoritmaGenetika
29/32
Strategi Menentukan MutasiPada kromosom biner, mutasi dilakukan dengan mengubah genbiner 0 menjadi 1 dan 1 menjadi 0.
a(k) = 1 - a(k)Pada kromosom float ada dua macam mutasi yang banyakdilakukan yaitu random mutation dan shift mutation .Random mutation adalah mengganti gen yang termutasi dengannilai acak.
a(k) = random Shift mutation adalah menggeser nilai gen termutasi sebesar ,dimana adalah bilangan kecil yang ditentukan.
a(k) = a(k) + Probabilitas mutasi yang baik berada pada kisaran 0 sampaidengan 0.3. Probabilitas mutasi yang terlalu kecil menyebabkanterjebak dalam optimum lokal, dan probabilitas mutasi yang terlalubesar menyebabkan konvergensi sulit didapatkan.
-
8/9/2019 StrategiAlgoritmaGenetika
30/32
-
8/9/2019 StrategiAlgoritmaGenetika
31/32
-
8/9/2019 StrategiAlgoritmaGenetika
32/32