StrategiAlgoritmaGenetika

download StrategiAlgoritmaGenetika

of 32

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