algoritma genetika

63
Algoritma Genetika

Upload: akiva

Post on 05-Jan-2016

222 views

Category:

Documents


13 download

DESCRIPTION

Algoritma Genetika. Algoritma Genetika. Representasi Kromosom. Membangkitkan Populasi Awal. Hitung Fitness. Seleksi. Perkawinan Silang. Mutasi. Individu Baru. Tidak. Ya. Optimal ?. Solusi Optimal. Aplikasi Algoritma Genetika. Aplikasi GA untuk mencari nilai maksimal dari suatu fungsi - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Algoritma Genetika

Algoritma Genetika

Page 2: Algoritma Genetika

Algoritma GenetikaRepresentasi Kromosom

Membangkitkan Populasi Awal

Hitung Fitness

Seleksi

Perkawinan Silang

Mutasi

Individu Baru

Optimal ?Tidak

Solusi OptimalYa

Page 3: Algoritma Genetika

Aplikasi Algoritma Genetika

• Aplikasi GA untuk mencari nilai maksimal dari suatu fungsi

• Aplikasi GA untuk penyelesaian TSP

• Aplikasi GA untuk optimasi Radio Base Station

• Aplikasi GA pada peramalan Data Time Series

• Aplikasi GA untuk mencari kata

Page 4: Algoritma Genetika

Aplikasi Algoritma Genetika untuk Mencari Nilai Maksimal dari Fungsi f(x)=1+e-xsin(4x)

• Definisi Individu

• Nilai Fitness

• Seleksi roulette whell

• Two point crossover

• Mutasi gen

Page 5: Algoritma Genetika

Definisi Individu• Individu menyatakan solusi yaitu nilai x.• Nilai x sebagai individu dinyatakan dalam nilai biner.• Individu dinyatakan dalam 8 gen biner dengan batas 0

sampai dengan 1 yang berarti sat bit setara dengan 2-8

• Sebagai contoh:10001001 = (128+8+1)/256 = 0.535201010010 = (2+16+64)/256 = 0.3203

Fungsi Fitness• Fungsi fitness dinyatakan sebagai fungsi f(x), karena

yang dicari adalah nilai maksimum.

Page 6: Algoritma Genetika

Membangkitkan Populasi AwalMembangkitkan sejumlah individu, misalkan satu populasi terdiri dari 8 individu, maka dibangkitkan 8 individu dengan 8 gen biner yang dibangkitkan secara acak.

For i = 1 To 8

For j = 1 To 8

individu(i, j) = Int(2 * Rnd)

Next j

Next i

For i = 1 To 8

d = 0

For j = 8 To 1 Step -1

k = 8 - j

d = d + individu(i, j) * 2 ^ k

Next j

X(i) = d / 255

fitness(i) = 1 + Exp(-X(i)) * Sin(4 * X(i))

Next i

Hitung Fitness

Page 7: Algoritma Genetika

Seleksi (1)Seleksi roulette whell untuk memilih induk dilakukan dengan menggunakan prosentasi fitness setiap individu, dimana setiap individu mendapatkan luas bagian sesuai dengan prosentase nilai fitnessnya.

Jfitness = 0For i = 1 To 8 Jfitness = Jfitness + fitness(i)Next i

Hitung Total Fitness

k = 0For i = 1 To 8 prosen = Int(100 * fitness(i) / Jfitness) Text3(i - 1) = prosen For j = 1 To prosen k = k + 1 rolet(k) = i Next jNext i

Menghitung prosentase fitness dan penentuan bidang

Page 8: Algoritma Genetika

Seleksi (2) For i = 1 To 8 r = Int(k * Rnd) + 1 pilih = rolet(r) Text4(i - 1) = pilih For j = 1 To 8 induk(i, j) = individu(pilih, j) Next jNext i

Pemutaran Roulette

Page 9: Algoritma Genetika

Perkawinan SilangCross-Over (Perkawinan Silang) dilakukan dengan menentukan 2 posisi awal dan akhir gen pada individu yang akan dikawinkan secara acak. Kemudian dilakukan penukaran nilai gen induk 1 dan induk 2 dari posisi awal sampai dengan posisi akhir untuk diperoleh anak 1 dan anak 2.

For i = 1 To 4 p = Rnd If p < probCO Then r1 = Int(8 * Rnd) + 1 r2 = Int((8 - r1) * Rnd) + r1 For j = r1 To r2 anak(2 * i - 1, j) = induk(2 * i, j) anak(2 * i, j) = induk(2 * i - 1, j) Next j End IfNext i

Page 10: Algoritma Genetika

Mutasi

Mutasi dilakukan dengan cara mengganti gen dengan nilai inversinya, gen 0 menjadi 1 dan gen 1 menjadi 0 pada posisi gen yang ditentukan secara acak.

For i = 1 To 8 p = Rnd If p < probMut Then r = Int(8 * Rnd) + 1 anak(i, r) = 1 - anak(i, r)End IfNext i

Page 11: Algoritma Genetika

Membentuk Individu BaruAnak hasil perkawinan silang dan mutasi menjadi generasi baru untuk dilakukan proses regenerasi

Pada generasi berikutnya, individu terbaik (nilai fitness terbesar) dapat dipertahankan dengan proses elitism

kmin = 1fitnessmin = fitness(1)For i = 2 To 8 If fitness(i) < fitnessmin Then kmin = i fitnessmin = fitness(i) End IfNext ifitness(kmin) = fitnessmaksFor i = 1 To 8 individu(kmin, i) = individumaks(i)Next i

For i = 1 To 8 For j = 1 To 8 individu(i, j) = anak(i, j) Next jNext i

Page 12: Algoritma Genetika

Contoh Hasil Algoritma Genetika

Generasi 1 Generasi 2

Page 13: Algoritma Genetika

Contoh Hasil Algoritma Genetika

Generasi 3 Generasi 4

Page 14: Algoritma Genetika

Aplikasi Algoritma Genetika untuk Penyelesaian Permasalahan Traveling Salesman Problem

Permasalahan pada TSP adalah bagaimana seorang sales dapat mengunjungi setiap kota dengan jarak yang paling pendek.Pada contoh aplikasi GA untuk TSP, ditentukan 8 kota dengan posisi koordinat (x, y).

Page 15: Algoritma Genetika

Definisi Individu• Individu menyatakan urutan kota yang dinyatakan dalam nilai

integer 1 sampai dengan 8 sebanyak 9 gen (8 gen urutan kota dan 1 gen terakhir merupakan duplikat dari gen pertama)

• Sebagai contoh:7 1 8 3 5 4 6 2 73 8 4 2 6 5 1 7 3

Fungsi Fitness• Fungsi fitness dinyatakan sebagai kebalikan dari nilai kuadrat

jarak dari urutan kota.

9

2

21

21 )()(1000

iiiii yyxxFitness

Page 16: Algoritma Genetika

Membangkitkan sejumlah individu, misalkan satu populasi terdiri dari 8 individu, maka dibangkitkan 8 individu dengan 9 gen integer yang dibangkitkan secara acak (nilai 1 sampai dengan 8)

Hitung Fitness

For i = 1 To 8 jumlah = 0 For j = 1 To 7 sw = 0 While sw = 0 r = Int(Rnd * 8) + 1 sw = 1 For k = 1 To j - 1 If r = individu(i, k) Then sw = 0 Next k Wend individu(i, j) = r jumlah = jumlah + r Next j individu(i, 8) = 36 - jumlah individu(i, 9) = individu(i, 1)Next i

Membangkitkan Populasi Awal (1)

For i = 1 To 8 Z = 0 For j = 2 To 9 r1 = individu(i, j) r2 = individu(i, j - 1) d = ((xkota(r1) - xkota(r2)) ^ 2 + (ykota(r1) - ykota(r2)) ^ 2) ^ 0.5 Z = Z + d Next j fitness(i) = 1000 - Int(Z)Next i

Page 17: Algoritma Genetika

Membangkitkan Populasi Awal (2)

Individu maksimum yang diperoleh mempunyai urutan 3 8 4 2 6 5 1 7 dengan nilai fitness terbesar yaitu 648

Page 18: Algoritma Genetika

Seleksi (1)Seleksi roulette whell untuk memilih induk dilakukan dengan menggunakan prosentasi fitness setiap individu, dimana setiap individu mendapatkan luas bagian sesuai dengan prosentase nilai fitnessnya.

Jfitness = 0For i = 1 To 8 Jfitness = Jfitness + fitness(i)Next i

Hitung Total Fitness

k = 0For i = 1 To 8 prosen = Int(100 * fitness(i) / Jfitness) Text2(i - 1) = prosen For j = 1 To prosen k = k + 1 rolet(k) = i Next jNext i

Menghitung prosentase fitness dan penentuan bidang

Page 19: Algoritma Genetika

Seleksi (2) For i = 1 To 8 r = Int(k * Rnd) + 1 pilih = rolet(r) Text3(i - 1) = pilih For j = 1 To 9 induk(i, j) = individu(pilih, j) m = (i - 1) * 9 + j - 1 Text4(m) = induk(i, j) Next jNext i

Pemutaran Roulette

Page 20: Algoritma Genetika

Perkawinan SilangCross-Over (Perkawinan Silang) dilakukan dengan menentukan 2 posisi awal dan akhir gen pada individu yang akan dikawinkan secara acak. Kemudian dilakukan penukaran nilai gen induk 1 dan induk 2 dari posisi awal sampai dengan posisi akhir untuk diperoleh anak 1 dan anak 2.

For i = 1 To 8 p = Rnd If p < probCO Then r1 = Int(Rnd * 8) + 1 r2 = Int(Rnd * (8 - r1)) + r1 For r = r1 To r2 anak(i, r) = induk(i, r2 + r1 - r) Next r End If anak(i, 9) = anak(i, 1) k = (i - 1) * 9 + 8Next i

Page 21: Algoritma Genetika

Mutasi Mutasi dilakukan dengan cara menentukan dua posisi gen secara acak (posisi 1 sampai dengan 8) dan melakukan pertukaran nilai gen pada kedua posisi tersebut, nilai gen ke 1 diduplikasi ke nilai gen ke 9Contoh :Sebelum mutasi : 6 8 7 1 5 3 4 2 6 Posisi terpilih adalah 1 dan 8Sesudah mutasi : 2 8 7 1 5 3 4 6 2

For i = 1 To 8 p = Rnd If p <= probMut Then r1 = Int(8 * Rnd) + 1 r2 = Int(8 * Rnd) + 1 a = anak(i, r1) anak(i, r1) = anak(i, r2) anak(i, r2) = a End If anak(i, 9) = anak(i, 1)Next i

Page 22: Algoritma Genetika

Membentuk Individu BaruAnak hasil perkawinan silang dan mutasi menjadi generasi baru untuk dilakukan proses regenerasi

Pada generasi berikutnya, individu terbaik (nilai fitness terbesar) dapat dipertahankan dengan proses elitism

For i = 1 To 8 For j = 1 To 9 individu(i, j) = anak(i, j) Next jNext i

Page 23: Algoritma Genetika

Contoh Hasil Algoritma GenetikaGenerasi 1 Generasi 2

Page 24: Algoritma Genetika

Contoh Hasil Algoritma GenetikaGenerasi 3 Generasi 4

Page 25: Algoritma Genetika

Aplikasi Algoritma Genetika untuk Optimasi Penempatan Radio Based Station

• Definisi Individu

• Nilai Fitness

• Seleksi roulette wheel

• Crossover aritmatik

• Mutasi gen

Page 26: Algoritma Genetika

Definisi Individu• RBS dibatasi sebanyak 5.• Setiap individu menyatakan lokasi dari kelima RBS.• Setiap individu terdiri dari 10 gen yang menyatakan posisi x

dan y dari tiap RBS.• Nilai dari gen dinyatakan dengan bilangan integer yang

dibatasi sesuai dengan ukuran wilayah yang disediakan.• Ukuran wilayah yang disediakan adalah 60 untuk posisi x &

40 untuk posisi y.

Fungsi Fitness• Fungsi fitness dinyatakan sebagai invers dari fungsi

yang menghitung jumlah blank area paling sedikit.

Page 27: Algoritma Genetika

Membangkitkan Populasi Awal

Membangkitkan sejumlah individu, misalkan satu populasi terdiri dari 8 individu, maka dibangkitkan 8 individu dengan 10 gen (maks. 60 untuk x dan 40 untuk y) yang dibangkitkan secara acak.

For i = 1 To 8 For k = 1 To 5 xr = Int(59 * Rnd) + 2 yr = Int(39 * Rnd) + 2 individu(i, k * 2 - 1) = xr individu(i, k * 2) = yr Next kNext i

Hitung Fitness

Page 28: Algoritma Genetika

Membangkitkan Populasi Awal

For i = 1 To 8 For xp = 1 To 60 For yp = 1 To 40 s(xp, yp) = 0 For j = 1 To 5 xr = individu(i, j * 2 - 1) yr = individu(i, j * 2) d = ((xp - xr) ^ 2 + (yp - yr) ^ 2) ^ 0.5 If d < radius + 1 Then s(xp, yp) = 1 Next j Next yp Next xp Jcover = 0 For xp = 1 To 60 For yp = 1 To 40 Jcover = Jcover + s(xp, yp) Next yp Next xp fitness(i) = JcoverNext i

Hitung Fitness

Page 29: Algoritma Genetika

Seleksi (1)Seleksi roulette wheel untuk memilih induk dilakukan dengan menggunakan prosentasi fitness setiap individu, dimana setiap individu mendapatkan luas bagian sesuai dengan prosentase nilai fitnessnya.

Jfitness = 0For i = 1 To 8 Jfitness = Jfitness + fitness(i)Next i

Hitung Total Fitness

k = 0For i = 1 To 8 prosen = Int(100 * fitness(i) / Jfitness) Text2(i - 1) = prosen For j = 1 To prosen k = k + 1 rolet(k) = i Next jNext i

Menghitung prosentase fitness dan penentuan bidang

Page 30: Algoritma Genetika

Seleksi (2) For i = 1 To 8 r = Int(k * Rnd) + 1 pilih = rolet(r) Text4(i - 1) = pilih For j = 1 To 10 induk(i, j) = individu(pilih, j) Next jNext i

Pemutaran Roulette

Page 31: Algoritma Genetika

Perkawinan Silang

Cross-Over (Perkawinan Silang) dilakukan dengan menentukan 2 posisi awal dan akhir gen pada individu yang akan dikawinkan secara acak. Kemudian pada posisi tersebut dilakukan cross-over aritmetik.

For i = 1 To 4 p = Rnd If p < probCO Then r1 = Int(10 * Rnd) + 1 r2 = Int((10 - r1) * Rnd) + r1 For r = r1 To r2 a = 0.5 + 0.5 * Rnd anak(2 * i - 1, r) = Int(a * induk(2 * i - 1, r) + (1 - a) * induk(2 * i, r)) anak(2 * i, r) = Int(a * induk(2 * i, r) + (1 - a) * induk(2 * i - 1, r)) k = (2 * i - 2) * 10 + r - 1 Next rNext i

Page 32: Algoritma Genetika

MutasiMutasi dilakukan dengan cara menggeser posisi gen yang dimutasi. Penggeseran ini dilakukan dengan melakukan penambahan atau pengurangan pada posisi tersebut.

For i = 1 To 8 p = Rnd If p < probMut Then r1 = Int(10 * Rnd) + 1 r2 = Int((10 - r1) * Rnd) + 1 For r = 1 To r2 If r Mod 2 = 0 Then bt = 40 Else bt = 60 a = Int(10 * Rnd) - 4 If a < 1 Then a = a - 1 anak(i, r) = anak(i, r) + a If anak(i, r) < 1 Or anak(i, r) > bt Then anak(i, r) = anak(i, r) - 2 * a k = (i - 1) * 10 + r - 1 Next r End IfNext i

Page 33: Algoritma Genetika

Membentuk Individu BaruAnak hasil perkawinan silang dan mutasi menjadi generasi baru untuk dilakukan proses regenerasi

Pada generasi berikutnya, individu terbaik (nilai fitness terbesar) dapat dipertahankan dengan proses elitism

kmin = 1fitnessmin = fitness(1)For i = 2 To 8 If fitness(i) < fitnessmin Then kmin = i fitnessmin = fitness(i) End IfNext ifitness(kmin) = fitnessmaksFor i = 1 To 8 individu(kmin, i) = individumaks(i)Next i

For i = 1 To 8 For j = 1 To 8 individu(i, j) = anak(i, j) Next jNext i

Page 34: Algoritma Genetika

Contoh Hasil Algoritma Genetika

Generasi 1

Page 35: Algoritma Genetika

Contoh Hasil Algoritma Genetika

Generasi 2

Page 36: Algoritma Genetika

Contoh Hasil Algoritma Genetika

Generasi 3

Page 37: Algoritma Genetika

Contoh Hasil Algoritma Genetika

Generasi 4

Page 38: Algoritma Genetika

Aplikasi Algoritma Genetika untuk Peramalan Time Series

Permasalahan pada peramalan time series adalah bagaimana mempelajari perilaku data time series yang direpresentasikan pada model linier untuk menghasilkan nilai peramalan

Training dengan algoritma genetika untuk mendapatkan

nilai koefisien model linier

Hasil Peramalan

Data Input

Koefisien model linier

Data Test(Forecast)

Model Sistem

Page 39: Algoritma Genetika

Data Model

Data input (time lag) Data test

Data prediksi

Input(1) Target(1)

Input(2) Target(2)

Input(3) Target(3)

Input(k) Target(k)

Data untuk learning/training

x(k)

Model peramalan algoritma genetika menggunakan model matematika untuk merepresentasikan pola data time series sebagai berikut :

)()(...)()()1( 22110 kekxakxakxaaky nn x1(k) xn(k) : data input prediksi pada step ke k

y(k+1) : nilai prediksi pada step ke k+1e(k) : error pada step ke k

Page 40: Algoritma Genetika

Data Time SeriesData time series sunspot dengan jumlah data 30 yang dibagi dalam periode input (time lag) 14 dan periode training algoritma genetika 5

Periode InputPeriode Training Periode Peramalan

Page 41: Algoritma Genetika

Membangkitkan sejumlah individu, misalkan satu populasi terdiri dari 8 individu, maka dibangkitkan 8 individu dengan 10 gen float yang dibangkitkan secara acak (nilai antara 0-1) sebagai representasi koefisien model linier

Hitung Fitness

ncrom = m - pga + 1For i = 1 To 8 For k = 1 To 10 a(i, k) = Rnd / ncrom Next kNext i

Membangkitkan Populasi Awal

pGA1 = m - pgapGA2 = pGA1 + pga

For i = 1 To 8 e = 0 ndata = 0 For k = pGA1 + 1 To pGA2 zp = a(i, 1) For j = 2 To ncrom zp = zp + a(i, j) * aktual(k + 1 - j) Next j e = e + (aktual(k) - zp) ^ 2 ndata = ndata + 1 Next k er = e / ndata fitness(i) = ncrom / (er + 0.01)Next i

Page 42: Algoritma Genetika

Seleksi

Seleksi roulette whell untuk memilih induk dilakukan dengan menggunakan prosentasi fitness setiap individu, dimana setiap individu mendapatkan luas bagian sesuai dengan prosentase nilai fitnessnya.

Page 43: Algoritma Genetika

Perkawinan SilangCross-Over (Perkawinan Silang) dilakukan dengan menentukan 2 posisi awal dan akhir gen pada individu yang akan dikawinkan secara acak. Digunakan arithmetic crossover untuk perkawinan silang

c1(k) = r.p1(k) + (1-r).p2(k)c2(k) = (1-r).p1(k) + r.p2(k)

Page 44: Algoritma Genetika

MutasiMutasi untuk algoritma genetika dilakukan dengan metode shift yaitu menentukan satu posisi gen pada kromosom secara random. Kemudian nilai gen tersebut ditambahkan dengan bilangan kecil antara -0.1 sampai dengan 0.1 sebagai nilai gen yang baru tetapi tetap pada jangkauan nilai gen awal.

Page 45: Algoritma Genetika

Membentuk Individu Baru

Anak hasil perkawinan silang dan mutasi menjadi generasi baru untuk dilakukan proses regenerasi.Pada generasi berikutnya, individu terbaik (nilai fitness terbesar) dapat dipertahankan dengan proses elitism

Page 46: Algoritma Genetika

Contoh Hasil Algoritma GenetikaGenerasi 1

Page 47: Algoritma Genetika

Contoh Hasil Algoritma GenetikaGenerasi 2

Page 48: Algoritma Genetika

Contoh Hasil Algoritma GenetikaGenerasi 3

Page 49: Algoritma Genetika

Contoh Hasil Algoritma GenetikaGenerasi 4

Page 50: Algoritma Genetika

Aplikasi Algoritma Genetika untuk Pencarian Kata secara Acak

• Definisi Individu

• Nilai Fitness

• Seleksi roulette wheel

• Two point crossover

• Mutasi gen

Page 51: Algoritma Genetika

Definisi Individu• Kata yang menjadi acuan adalah “GENETIKA”.

• Setiap individu menyatakan kata dugaan terhadap kata acuan.

• Setiap individu terdiri dari 8 gen.

• Nilai dari gen dinyatakan dengan bilangan integer antara 1 s/d 26 yang jika dikonversikan akan didapatkan karakternya.

• 1 dikonversikan ke huruf ‘A’, dst sampai 26 dikonversikan ke huruf ‘Z’.

Fungsi Fitness• Fungsi fitness dinyatakan sebagai 8 * 26 - (ac[i] –

gen[i])

Page 52: Algoritma Genetika

Membangkitkan Populasi Awal

Membangkitkan sejumlah individu, misalkan satu populasi terdiri dari 16 individu, maka dibangkitkan 8 individu dengan 8 gen integer (1 gen26) yang dibangkitkan secara acak.

For i = 1 To 16 For j = 1 To 8 individu(i, j) = Int(26 * Rnd + 1) k = (i - 1) * 8 + j - 1 Text1(k) = Chr(individu(i, j) + 64) Next jNext i

Hitung Fitness

Page 53: Algoritma Genetika

Membangkitkan Populasi Awal

For i = 1 To 16 er = 0 er1 = 0 For j = 1 To 8 er = er + ad(j) * (ac(j) - individu(i, j)) ^ 2 If ac(j) <> individu(i, j) Then er1 = er1 + 1 Next j fitness(i) = 8 * 26 - Int(er ^ 0.5) - 8 * er1 If fitness(i) < 0 Then fitness(i) = 0Next i

Hitung Fitness

Page 54: Algoritma Genetika

Seleksi (1)Seleksi roulette wheel untuk memilih induk dilakukan dengan menggunakan prosentasi fitness setiap individu, dimana setiap individu mendapatkan luas bagian sesuai dengan prosentase nilai fitnessnya.

Jfitness = 0For i = 1 To 8 Jfitness = Jfitness + fitness(i)Next i

Hitung Total Fitness

k = 0For i = 1 To 8 prosen = Int(100 * fitness(i) / Jfitness) Text2(i - 1) = prosen For j = 1 To prosen k = k + 1 rolet(k) = i Next jNext i

Menghitung prosentase fitness dan penentuan bidang

Page 55: Algoritma Genetika

Seleksi (2) For i = 1 To 8 r = Int(k * Rnd) + 1 pilih = rolet(r) Text4(i - 1) = pilih For j = 1 To 10 induk(i, j) = individu(pilih, j) Next jNext i

Pemutaran Roulette

Page 56: Algoritma Genetika

Perkawinan SilangCross-Over (Perkawinan Silang) dilakukan dengan menentukan 2 posisi awal dan akhir gen pada individu yang akan dikawinkan secara acak. Kemudian dilakukan penukaran nilai gen induk 1 dan induk 2 dari posisi awal sampai dengan posisi akhir untuk diperoleh anak 1 dan anak 2.

For i = 1 To 8 p = Rnd If p < probCO Then r1 = Int(8 * Rnd) + 1 r2 = Int((8 - r1) * Rnd) + r1 For j = r1 To r2 jn = r2 - (j - r1) anak(2 * i - 1, j) = induk(2 * i, j) anak(2 * i, j) = induk(2 * i - 1, j) k = ((2 * i - 1) - 1) * 8 + j - 1 k = (2 * i - 1) * 8 + j - 1 Next j End IfNext i

Page 57: Algoritma Genetika

MutasiMutasi dilakukan dengan cara menggeser posisi gen yang dimutasi. Penggeseran ini dilakukan dengan melakukan penambahan atau pengurangan pada posisi tersebut.

For i = 1 To 16 p = Rnd If p < probMut Then r1 = Int(8 * Rnd) + 1 r2 = Int((8 - r1) * Rnd) + r1 For r = r1 To r2 anak(i, r) = Int(Rnd * 26) + 1 k = (i - 1) * 8 + r - 1 Next r End IfNext i

Page 58: Algoritma Genetika

Membentuk Individu BaruAnak hasil perkawinan silang dan mutasi menjadi generasi baru untuk dilakukan proses regenerasi

Pada generasi berikutnya, individu terbaik (nilai fitness terbesar) dapat dipertahankan dengan proses elitism

kmin = 1fitnessmin = fitness(1)For i = 2 To 8 If fitness(i) < fitnessmin Then kmin = i fitnessmin = fitness(i) End IfNext ifitness(kmin) = fitnessmaksFor i = 1 To 8 individu(kmin, i) = individumaks(i)Next i

For i = 1 To 8 For j = 1 To 8 individu(i, j) = anak(i, j) Next jNext i

Page 59: Algoritma Genetika

Contoh Hasil Algoritma Genetika

Generasi 1

Page 60: Algoritma Genetika

Contoh Hasil Algoritma Genetika

Generasi 2

Page 61: Algoritma Genetika

Contoh Hasil Algoritma Genetika

Generasi 3

Page 62: Algoritma Genetika

Contoh Hasil Algoritma Genetika

Generasi 4

Page 63: Algoritma Genetika

Contoh Hasil Algoritma Genetika

Generasi 5