Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Mata Kuliah Teknik Optimasi Departemen Teknologi Industri Pertanian Fateta - IPB Juni 2009 KELAS RESPONSI.

Presentasi serupa


Presentasi berjudul: "Mata Kuliah Teknik Optimasi Departemen Teknologi Industri Pertanian Fateta - IPB Juni 2009 KELAS RESPONSI."— Transcript presentasi:

1 Mata Kuliah Teknik Optimasi Departemen Teknologi Industri Pertanian Fateta - IPB Juni 2009 KELAS RESPONSI

2 CONTOH KASUS

3 Langkah 1 : Representasi  Mengkodekan berbagai variabel keputusan dalam bentuk string biner  Panjang String biner sangat tergantung dari presisi yang diperlukan Misal: Domain dari variabel x j adalah [a j,b j ] dan presisi yang diperlukan adalah 5 angka dibelakang koma. Kebutuhan akan presisi berimplikasi Terhadap jangkauan domain masing-masing variabel yang harus dibagi sedikitnya sebesar (b j -a j ) x 10 5 jangkauan. Bit-bit yang diperlukan (didenotasikan dengan m j ) untuk sebuah ariabel dapat dihitung sebagai berikut: 2 mj-1 < (b j -a j ) x 10 5 ≤ 2 mj -1

4 Langkah 1 : Representasi  Pemetaan dari string biner menjadi sebuah angka riil untuk val x j dapat dihitung sebagai : Dimana decimal (substring) merepresentasikan nilai desimal dari substring j untuk variabel j Asumsikan bahwa presisi diatur hingga lima angka dibelakang koma, maka bit-bit yang diperlukan untuk variabel x 1 dan x 2 dikalkulasikan sebagai:

5 Langkah 1 : Representasi Panjang sebuah kromosom diketahui 33 bit, yang direpresentasikan: Nilai-nilai terkait untuk variabel x1 dan x2 diberikan sebagai berikut:

6 Langkah 1 : Representasi Populasi awal dihasilkan secara acak sebagai berikut: v 1 = [ ] v 2 = [ ] v 3 = [ ] v 4 = [ ] v 5 = [ ] v 6 = [ ] v 7 = [ ] v 8 = [ ] v 9 = [ ] v 10 = [ ] Di dalam bentuk desimal Dikonversikan menjadi: v 1 = [x 1,x 2 ] = [(-2,687969),(5,361653)] v 2 = [x 1,x 2 ] = [(0,474101),(4,170144)] v 3 = [x 1,x 2 ] = [(10,419457),(4,66146)] v 4 = [x 1,x 2 ] = [(6,159951),(4,109598)] v 5 = [x 1,x 2 ] = [(-2,301286),(4,477282)] v 6 = [x 1,x 2 ] = [(11,788084),(4,174346)] v 7 = [x 1,x 2 ] = [(9,342067),(5,121702)] v 8 = [x 1,x 2 ] = [(-0,330256),(4,694977)] v 9 = [x 1,x 2 ] = [(11,671267),(4,873501)] v 10 = [x 1,x 2 ] = [(11,446273),(4,171908)]

7 Langkah 2 : Evaluasi Proses evaluasi fitness sebuah kromosom dapat dilakukan melalui langkah: Prosedur : Evaluasi Step 1Konversikan genotype kromosom menjadi phenotype. Dengan kata lain, string yang merupakan untaian bit-bit biner diubah menjadi nilai-nilai riil relatif, x k = (x k 1,x k 2 ),k = 1,2,… pop_size Step 2Evaluasi fungsi objektif f(x k ) Step 3Konversikan nilai fungsi objektif ke dalam fitness. Untuk permasalahan maksimasi, fitness secara sederhana sama dengan nilai dari fungsi objektif, Eval (v 1 ) = f(x k ),k = 1,2,…,pop_size

8 Langkah 2 : Evaluasi Nilai fungsi fitness berbagai kromosom di atas adalah: v 1 = [x 1,x 2 ] = [(-2,687969),(5,361653)] = 19, v 2 = [x 1,x 2 ] = [(0,474101),(4,170144)] = 17, v 3 = [x 1,x 2 ] = [(10,419457),(4,66146)] = 9, v 4 = [x 1,x 2 ] = [(6,159951),(4,109598)] = 29, v 5 = [x 1,x 2 ] = [(-2,301286),(4,477282)] =15, v 6 = [x 1,x 2 ] = [(11,788084),(4,174346)] = 11, v 7 = [x 1,x 2 ] = [(9,342067),(5,121702)] = 17, v 8 = [x 1,x 2 ] = [(-0,330256),(4,694977)] = 19, v 9 = [x 1,x 2 ] = [(11,671267),(4,873501)] = v 10 = [x 1,x 2 ] = [(11,446273),(4,171908)] = 10, Dapat dilihat bahwa kromosom v 4 mempunyai nilai tertinggi dan v3 memiliki nilai terendah

9 Langkah 3 : Seleksi Untuk melakukan penseleksian, dapat diadopsi pendekatan Roda Roulette. Roda Roulette dapat dikonstruksikan sebagai berikut: 1.Hitung nilai fitness eval(v k ) untuk masing-masing kromosom v k : eval (v 1 )=f(x k ),k=1,2,….,pop_size 2. Hitung total fitness untuk populasi: F= pop_size ∑ eval (v k ) k=1 3. Hitung probalitas seleksi p k untuk masing-masing kromosom v k : p k = eval(v k ), k=12,…., pop_size F 4. Hitung probalitas kumulatif q k untuk masing-masing kromosom v k : q k = k ∑p j,, k = 1,2,…, pop_size j=1

10 Langkah 3 : Seleksi Proses seleksi dimulai dengan memutar roda roulette sebanyak pop_size kali. Pada masing-masing waktu, sebuah kromosom tunggal dipilih untuk sebuah populasi yang baru, dengan cara-cara sebagaimana berikut Total fitness F populasi adalah: 10 F = ∑ eval (v k ) = 178, k=1 Prosedur : Seleksi Step 1Hasilkan sejumlah nilai-nilai acak r yang berkisar [0,1] Step 2Jika r ≤ q 1, maka pilih kromosom pertama v 1, dan sebaliknya pilih kromosom ke-k v k (2 ≤ k ≤ pop_size) sehingga q k-1 < r ≤ q k

11 Langkah 3 : Seleksi Probabilitas seleksi p k untuk masing-masing kromosom v k, dimana k = 1,2,…, pop_size adalah sebagai berikut: p k = eval (v k ), k = 1,2,…,pop_size F p 1 = eval (v 1 ) = 19, = 0, F 178, p 2 = eval (v 2 ) = 17, = 0, F 178, p 3 = eval (v 3 ) = 9, = 0, F 178, p 4 = eval (v 4 ) = 29, = 0, F 178, p 5 = eval (v 5 ) = 15, = 0, F 178, p 6 = eval (v 6 ) = 11, = 0, F 178, p 7 = eval (v 7 ) = 17, = 0, F 178, p 8 = eval (v 8 ) = 19, = 0, F 178, p 9 = eval (v 9 ) = 26, = 0, F 178, p 10 = eval (v 10 ) = 10, = 0, F 178,135372

12 Langkah 3 : Seleksi Probabilitas kumulatif qk untuk masing-masing kromosom vk dimana k=1,2,…,10 adalah sebagai berikut: k q k = ∑ p j, k= 1,2,…,pop_size j=1 1 q 1 = ∑ p j = p 1 = 0, j=1 2 q 2 = ∑ p j = p 1 + p 2 = 0, , = 0, j=1 3 q 3 = ∑ p j = p 1 + p 2 + p 3 = 0, , , = 0, j=1 4 q 4 = ∑ p j = p 1 + p 2 + p 3 + p 4 = 0, , , , = 0, j=1 5 q 5 = ∑ p j = p 1 + p 2 + p 3 + p 4 + p 5 = j=1 = 0, , , , ,08805 = 0,515668

13 Probabailitas Kumulatif (lanjutan) q6 = 0, q7 = 0, q8 = 0, q9 = 0, q10 = 1,000000

14 Langkah 3 : Seleksi Sekarang kita bersiap untuk memutar roda roulette 10 kali dan pada masing-masing waktu kita pilih satu kromosom sebagai anggota populasi baru. Kita asumsikan sebarisan 10 angka angka acak yang telah dipilih pada interval [0,1] adalah sebagai berikut: 1.0, (r 1 ) 2.0, (r 2 ) 3.0, (r 3 ) 4.0, (r 4 ) 5.0, (r 5 ) 6.0, (r 6 ) 7.0, (r 7 ) 8.0, (r 8 ) 9.0, (r 9 ) 10.0, (r 10 ) Populasi baru yang dihasilkan adalah: v 1 ’ v 4 = [ ] q 3 < r 1

15 Crossover Crossover yang digunakan adalah pendekatan one-cut-point dan menukarkan bagian kanan dari kedua parent untuk menghasilkan offspring. Pertimbangkan kedua kromosom berikut, dan cut-point dipilih secara acak setelah gen-17: Tukarkan bagian kanan dari kedua parent setelah gen ke-17, v 1 = [ ] v 3 = [ ] menjadi v 1 ‘ = [ ] v 3 ‘ = [ ] Offspring yang dihasilkan adalah: v 1 ‘ = [ ] v 3 ‘ = [ ]

16 Crossover Probabilitas crossover dapat kita atur sebagai pc = 0,25, ini bermaksud kita berharap bahwa pada rata-rata 25%, kromosom-kromosom akan melalui crossover Kita peroleh sebarisan angka acak sebagai berikut: 0,625721r k > 0,25 0, r k > 0,25 0, r k > 0,25 0, r k > 0,25 0, (crossover) r k < 0,25v5 0, r k > 0,25 0, (crossover) r k < 0,25v7 0, r k > 0,25 0, r k > 0,25 0, r k > 0,25 Ini berarti kromosom, v 5 ’ = [ ] v 7 ’ = [ ]

17 Crossover Kita pilih untuk crossover. Kita pilih sembarang nilai pos secara acak berkisar [1,32] (karena total panjang sebuah kromosom = 33) sebagai cut point atau posisi titik crossover. Asumsikan pos = 1, maka bagian kanan keseluruhan bit setelah bit pertama dari kedua parent akan ditukarkan secara silang Tukarkan bagian kanan dari kedua parent setelah gen ke-1, v 5 ’ = [ ] v 7 ’ = [ ] Menjadi v 5 ’ = [ ] v 7 ’ = [ ] Sehingga offspring yang dihasilkan adalah: v 5 ’’ = [ ] v 7 ’’ = [ ]

18 Mutasi Mutasi berarti merubah satu atau lebih gen gen dengan suatu probabilitas yang setara dengan mutasi rate. Asumsikan gen ke 18 dari kromosom v1 dipilih untuk suatu mutasi. Jika pada posisi tersebut nilai gen = 1, tukarkan nilai tersebut menjadi 0. Oleh karena itu kromosom setelah mutasi menjadi : v 1 = [ – ] v 1 ‘ = [ – ] Kromosom yang dihasilkan setelah mutasi adalah: v 1 ‘ = [ ] Probabilitas mutasi diatur sebagai pm = 0,01, bermaksud pada rata-rata 1% dari total bit dalam populasi akan melalui proses mutasi. Ada m x pop_size = 33 x 10 = 330 bit di dalam keseluruhan populasi. Maka diharapkan ada sekitas 3,3 mutasi per generasi, dimana setiap bit mempunyai kesempatan yang sama untuk dimutasikan. Untuk itu diperlukan sebarisan sebarang nilai acak rk, k = 1,2,3,…,330 dengan kisaran nilai [0,1]

19 Mutasi Anggap gen gen di bawah berikut akan mengalami mutasi: v 4 ’ = [ ] v 5 ’ = [ ] v 7 ’ = [ ] v 10 ’ = [ ] Setelah dimutasikan: v 4 ’ = [ ] v 5 ’ = [ ] v 7 ’ = [ ] v 10 ’ = [ ] Bit_posChrom_numBit_noRandom_num , , , ,001282

20 Mutasi Setelah mutasi, keseluruhan populasi akhir yang dihasilkan adalah sebagai berikut: v 1 ’ = [ ] v 2 ’ = [ ] v 3 ’ = [ ] v 4 ’ = [ ] v 5 ’ = [ ] v 6 ’ = [ ] v 7 ’ = [ ] v 8 ’ = [ ] v 9 ’ = [ ] v 10 ’ = [ ] Kita konversikan vk ke dalam desimal, maka v 1 ’ = [ ] v 1 ’ = [ ]

21 Mutasi x1 = -3, x 12,1 – (-3,0) = 6, x2 = 4, x 5,8– 4,1 = 4, Nilai desimal terkait untuk variabel [x 1,x 2 ] dan fitness dikalkulasikan sebagai berikut: f([6,159951],[4,109598]) = 21,5 + [6,159951] sin (4π [6,159951]) + [4,109598] Sin (20 π [4,109598])29, Secara berturut-turut kita peroleh fitness untuk masing-masing nilai fungsi objektif sebagai berikut: f([6,159951],[4,109598]) = 29, f([-0,330256],[4,694977]) = 19, f([11,907206],[4,873501]) = 5, f([8,024130],[4,170248]) = 19,91025 f([9,342067],[5,121702]) = 17, f([6,159951],[4,109598]) = 29, f([-2,687969],[5,361653]) = 19, f([0,474101],[4,170148]) = 17,370896

22 Mutasi Sekarang kita telah melengkapi satu iterasi dari algoritma genetik. Jika uji dilanjutkan hingga generasi ke-1000, maka kita akan memperoleh kromosom yang paling baik pada generasi ke-419 v* = [ ] v* = [ ] x1 *= -3, x 12,1 – (-3,0) = 11, x2 = 4, x 5,8– 4,1 = 5, Eval (v*) = f ([11,631407],[5,724824]) = 38, f(x 1 *,x 2 *) = 38,


Download ppt "Mata Kuliah Teknik Optimasi Departemen Teknologi Industri Pertanian Fateta - IPB Juni 2009 KELAS RESPONSI."

Presentasi serupa


Iklan oleh Google