Evolution Strategies (ES)
Imam Cholissodin | [email protected]Pokok Bahasan
1. Struktur Dasar Evolution Strategies (ES)
2. Siklus ES
(µ, λ)
3. Siklus ES
(µ/r + λ)
4. Studi Kasus ES
(µ + λ)
5. ES untuk Representasi Permutasi
6. Tugas
Pengantar
Teknik optimasi evolution strategies (ES) dicetuskan sejak awaltahun 1960-an dan kemudian dikembangkan lebih lanjut pada tahun 1970-an oleh Ingo Rechenberg, Hans-Paul Schwefel, dan
rekan-rekannya di Technical University of Berlin (TUB) (Beyer &
Schwefel 2002).
Seperti halnya GAs, ES telah diaplikasikan dalam berbagaibidang, misalnya penjadwalan pemrosesan sinyal digital pada
system multiprocessor (Greenwood, G W, Gupta & McSweeney
1994), pemrosesan citra dan computer vision (Louchet 2000),
optimasi pelepasan airbag secara otomatis pada mobil (Ostertag,
Nock & Kiencke 1995), dan penjadwalan tugas pada real-time
distributed computing systems (Greenwood, G. W., Lang & Hurley 1995).
ES juga cukup efektif dikombinasikan/dihibridisasi dengan algoritma lain seperti particle swarm optimization untuk penjadwalan staff (Nissen & Günther 2009).Pengantar
Ciri utama evolution strategies (ES) adalah penggunaan vektor bilangan pecahan (real-vector) sebagai representasi solusi.
Berbeda dengan GAs yang menggunakan crossover sebagaioperator reproduksi utama dan mutasi sebagai operator
penunjang, ES lebih bertumpu pada operator mutasi.
Mekanisme self-adaptation digunakan untuk mengontrolperubahan nilai parameter pencarian.
GAs dan ES bisa digunakan untuk menyelesaikan permasalahanyang sama. Tetapi mana yang terbaik di antara kedua metode tersebut sangat tergantung pada permasalahan yang dihadapi.
Struktur Dasar ES
Beberapa notasi digunakan oleh ES :o
µ (miu) menyatakan ukuran populasi (sama seperti popSize padaGAs).
o
l (lambda) menyatakan banyaknya offspring yang dihasilkan padaproses reproduksi (sama seperti crossover rate dan mutation rate pada GAs). Beberapa penelitian menyarankan besarnya nilai l sebesar 7 µ.
Apabila P(t) dan C(t) merupakan populasi (parents) dan offspringpada generasi ke-t, maka siklus ES dideskripsikan sebagai berikut: procedure EvolutionStrategies
begin
t = 0
inisialisasi P(t): generate µ individu while (bukan kondisi berhenti) do
rekombinasi : produksi C(t) sebanyak l dari P(t) mutasi C(t)
seleksi P(t+1) dari P(t) dan C(t)
t = t + 1
end while end
Struktur Dasar ES
Perhatikan bahwa siklus ES serupa dengan siklus algoritmagenetika (GAs). Perbedaan nyata ES dan GAs adalah pada
operator yang digunakan.
Perbedaan lain, mutasi pada GAs digunakan untuk menghasilkanindividu baru (offspring) sebagai tambahan dari offspring yang diproduksi oleh operator crossover. Pada ES, mutasi diterapkan
pada offspring yang dihasilkan proses rekombinasi.
Rekombinasi pada ES mirip dengan operator crossover pada GAstapi bisa menggunakan lebih dari satu induk.
Karena ES lebih mengandalkan mutasi, maka prosesrekombinasi tidak selalu digunakan. Secara umum terdapat empat tipe proses dari ES, yaitu:
o
(µ, l)o
(µ/r, l)o
(µ + l)Struktur Dasar ES
Karena ES lebih mengandalkan mutasi, maka prosesrekombinasi tidak selalu digunakan. Secara umum terdapat
empat tipe proses dari ES, yaitu:
ES(µ, l) tidak menggunakan rekombinasi dalam proses reproduksi.Seleksi menggunakan elitism selection hanya melibatkan individu dalam offspring, individu induk dalam populasi tidak dilibatkan.
ES(µ/r, l) serupa dengan ES(µ, l) dengan tambahan melibatkanproses rekombinasi. ES(µ+l) tidak menggunakan rekombinasi dan
proses seleksi menggunakan elitism selection melibatkan individu
offspring dan induk.
ES rekombinasi proses seleksi seleksi melibatkan
(µ,l) - Elitism Offspring
(µ/r, l) √ Elitism Offspring
(µ +l) - Elitism Induk dan Offspring
Siklus ES (µ, λ)
(Studi Kasus: Maksimasi Fungsi dengan Presisi Tertentu) akandigunakan untuk menjelaskan siklus ES secara detil
1.
Representasi Chromosome
o
Seperti halnya untuk real-coded GA pada Pert. Ke-4, variabelkeputusan (x1 dan x2) langsung menjadi gen string chromosome.
o
Parameter tambahan yang melekat pada setiap chromosome adalah s (sigma) yang menyatakan level mutasi. Nilai ini akan ikut berubahsecara adaptif sepanjang generasi. Jika P adalah satu chromosome maka P=(x1,x2,s1,s2) dengan panjang string sebesar 4.
chromosome x1 x2 f(x1,x2) P1 1,4898 2,0944 19,8206 P2 8,4917 2,5754 34,7058 .. P10 -4,5575 0,1679 28,4324
Siklus ES (µ, λ)
2.
Inisialisasi
o
Populasi inisial dibangkitkan secara random. Nilai x1 dan x2dibangkitkan dalam rentang variabel ini (lihat Pert. Ke-3, Slide 24 ). Nilai
s1 dan s2 dibangkitkan dalam rentang [0,1]. Misalkan ditentukan µ=4 maka akan dihasilkan populasi seperti contoh berikut:
P(t) x1 x2 s1 s2 f(x1,x2)
P1 1,48980 2,09440 0,14197 0,91090 19,8212830
P2 8,49170 2,57540 0,53801 0,86904 34,7060873
P3 -1,84610 1,70970 0,99835 0,49351 11,5863900
Siklus ES (µ, λ)
3.
Reproduksi
o
Karena rekombinasi tidak digunakan maka hanya mutasi yang berperan menghasilkan offspring. Misalkan P=(x1,x2,s1,s2) adalah individu yangterpilih untuk melakukan mutasi, maka dihasilkan offspring
P’=(x1’,x2’,s1’,s2’) sebagai berikut: x’ = x + s N(0,1)
o
Rumusan diatas bisa didetailkan sebagai berikut: x’1 = x1 + s1 N(0,1) x’2 = x2 + s2 N(0,1)o
N(0,1) merupakan bilangan acak yang mengikuti sebaran normaldengan rata-rata sebesar 0 dan standard deviasi sebesar 1. Pada
program komputer, nilai N(0,1) bisa didapatkan dengan membangkitkan
dua bilangan random r1 dan r2 pada interval [0,1]. Rumus yang
digunakan adalah (Schwefel, 1995):
o
Misalkan r1 = 0,4749 dan r2 = 0,3296 maka didapatkan N(0,1)= 1,0704
0,1 2ln r1 sin2 r2Siklus ES (µ, λ)
3.
Reproduksi
o
Nilai s dinaikkan jika ada paling sedikit 20% hasil mutasi yangmenghasilkan individu yang lebih baik dari induknya. Jika tidak maka nilai s diturunkan. Misalkan l=3×µ=12, maka setiap individu dalam populasi akan menghasilkan 3 offspring. Pada kasus ini, nilai s akan dinaikkan jika ada setidaknya 1 offspring yang lebih baik.
o
Contoh hasil mutasi diberikan sebagai berikut:C(t) Induk N1(0,1) N2(0,1) x’1 x’2 s‘1 s‘2 f(x1,x2) C1 P1 0,0098 -0,8394 1,491191 1,3298 0,15617 1,00199 10,04952 C2 1,0334 -0,6351 1,63651 1,5159 0,15617 1,00199 9,03814 C3 -1,9967 -1,8970 1,206331 0,3664 0,15617 1,00199 27,06928 C4 P2 -0,0398 0,6565 8,470287 3,1459 0,48421 0,78214 24,40017 C5 -0,7821 -0,2305 8,070926 2,3751 0,48421 0,78214 27,82881 C6 1,3563 0,1430 9,221397 2,6997 0,48421 0,78214 19,00143 C7 P3 -1,1466 1,3203 -2,9908 2,3613 1,09818 0,54286 26,01116 C8 1,1021 -1,9381 -0,74582 0,7532 1,09818 0,54286 26,00610 C9 0,7094 -0,2813 -1,13787 1,5709 1,09818 0,54286 10,30137 C10 P4 1,8635 -0,2293 6,566503 4,8511 0,44573 1,08802 27,74543 C11 0,5542 -1,2182 6,035966 3,873 0,44573 1,08802 17,29977 C12 1,4608 -0,5120 6,403326 4,5715 0,44573 1,08802 30,40250
Perhatikan dari hasil mutasi ini;
Nilai s ’ dari offspring yang dihasilkan P1, P3, dan P4dinaikkan dengan rumusan s ’ = s x 1,1.
Nilai s ’ dari offspring yang dihasilkan P2 diturunkan dengan rumusan s ’ = s x 0,9
Siklus ES (µ, λ)
4.
Seleksi
o
Seleksi menggunakan elitism selection hanya melibatkan individu dalam offspring, individu induk dalam populasi tidak dilibatkan. Dari proses ini didapatkan populasi baru sebagai berikut:P(t+1) asal x1 x2 s 1 s 2 f(x1,x2)
P1 C12 6,40333 4,57148 0,44573 1,08802 30,4025035 P2 C5 8,07093 2,37509 0,48421 0,78214 27,8288128 P3 C10 6,56650 4,85110 0,44573 1,08802 27,7454295 P4 C3 1,20633 0,36642 0,15617 1,00199 27,0692849
Siklus ES (µ/r + λ)
Siklus ES dibahas lagi dengan melibatkan proses rekombinasi,dengan populasi inisial seperti pada Slide 9 (digunakan lagi).
1.
Reproduksi: Rekombinasi dan Mutasi
o
Rekombinasi dilakukan untuk menghasilkan offspring sebanyak l dari sejumlah µ individu dalam populasi.o
Setiap satu individu offspring dihasilkan dari beberapa induk.o
Induk dipilih secara acak dari populasi. Metode rekombinasi palingsederhana adalah dengan menghitung rata-rata nilai elemen induk.
Contoh proses rekombinasi diberikan sebagai berikut:
•
Misalkan offspring didapatkan dari 2 induk. Jika P1 dan P3terpilih maka akan didapatkan offspring C=(-0,17815, 1,90205, 0,57016, 0,70221).
•
Misalkan offspring didapatkan dari 3 induk. Jika P1, P2 dan P3 terpilih maka akan didapatkan offspring C=(2,71180, 2,12650, 0.55944, 0,75782).Siklus ES (µ/r + λ)
1.
Reproduksi: Rekombinasi dan Mutasi
o
Pada studi kasus ini, misalkan l=6 dan offspring didapatkan dari 2 induk. Contoh hasil rekombinasi diberikan sebagai berikutC(t) induk x1 x2 s1 s2 f(x1,x2) C1 P1dan P3 -0,17815 1,90205 0,57016 0,70221 16,6418295 C2 P2dan P3 3,32280 2,14255 0,76818 0,68128 19,5813015 C3 P1dan P4 3,65060 3,58615 0,27359 0,95001 9,5700496 C4 P2dan P4 7,15155 3,82665 0,47161 0,92907 12,5240357 C5 P1dan P3 -0,17815 1,90205 0,57016 0,70221 16,6418295 C6 P3dan P4 1,98265 3,39380 0,70178 0,74131 12,6500683 P(t) x1 x2 s1 s2 f(x1,x2) P1 1,48980 2,09440 0,14197 0,91090 19,8212830 P2 8,49170 2,57540 0,53801 0,86904 34,7060873 P3 -1,84610 1,70970 0,99835 0,49351 11,5863900 P4 5,81140 5,07790 0,40521 0,98911 14,5620828 Dari Slide 9 Hasil Rekombi nasi
Siklus ES (µ/r + λ)
1.
Reproduksi: Rekombinasi dan Mutasi
o
Pada studi kasus ini, misalkan l=6 dan offspring didapatkan dari 2 induk. Contoh hasil rekombinasi diberikan sebagai berikuto
Mutasi dilakukan dengan cara yang sama seperti slide sebelumnya.nilai s dinaikkan jika hasil mutasi lebih baik. Sebaliknya jika hasil mutasi lebih buruk maka nilai s diturunkan. Berikut ini contoh hasil mutasi:
P(t) x1 x2 s1 s2 f(x1,x2) P1 1,48980 2,09440 0,14197 0,91090 19,8212830 P2 8,49170 2,57540 0,53801 0,86904 34,7060873 P3 -1,84610 1,70970 0,99835 0,49351 11,5863900 P4 5,81140 5,07790 0,40521 0,98911 14,5620828 Dari Slide 9 Hasil Mutasi C’(t) N1(0,1) N2(0,1) x’1 x’2 s‘1 s‘2 f(x1,x2) C7 0,1885 0,2747 -0,07068 2,094946 0,62717 0,77243 21,3386958 C8 -1,7947 -0,1359 1,944154 2,049965 0,84499 0,74940 19,9034447 C9 -0,5603 -1,8657 3,497309 1,813724 0,30095 1,04501 10,9809788 C10 0,6189 -0,4613 7,443427 3,398068 0,42445 0,83617 5,4075091 C11 -0,1371 -0,4201 -0,25632 1,607053 0,51314 0,63199 11,2620580 C12 1,1125 -0,2153 2,763377 3,234196 0,77195 0,81544 16,3293685
Siklus ES (µ/r + λ)
2.
Seleksi
o
Seleksi menggunakan elitism selection melibatkan individu dalamoffspring dan individu induk dalam populasi. Dari proses ini didapatkan populasi baru sebagai berikut
P(t+1) asal x1 x2 s 1 s 2 f(x1,x2) P1 P2 8,49170 2,57540 0,53801 0,86904 34,7060873 P2 C 7 -0,07068 2,09495 0,62717 0,77243 21,3386958 P3 C 8 1,94415 2,04996 0,84499 0,74940 19,9034447 P4 P1 1,48980 2,09440 0,14197 0,91090 19,8212830
Siklus ES (µ + λ) : Optimasi Fungsi
Berkendala
Perhatikan permasalahan pada sebuah perusahaan yang akanmemproduksi dua jenis lemari, sebut saja lemari A dan lemari B.
Untuk memproduksi kedua lemari tersebut dibutuhkan tiga macambahan baku, yaitu: kayu, aluminium, dan kaca.
Kebutuhan detil tiga bahan baku tersebut (dalam unit tertentu) untuktiap buah lemari ditampilkan pada tabel berikut:
Persedian bahan baku kayu, aluminium, dan kaca di gudangberturut-turut adalah 350, 200, dan 300. Jika keuntungan penjualan sebuah lemari A sebesar 400 dan B sebesar 500, berapakah banyaknya lemari A dan B harus diproduksi agar didapatkan keuntungan maksimum?
lemari kayu aluminium kaca
A 10 9 12
Siklus ES (µ + λ) : Optimasi Fungsi
Berkendala
Kebutuhan detil tiga bahan baku:
Untuk menyelesaikan permasalahan ini dibutuhkan modelmatematis yang disusun atas fungsi tujuan (objective functions) dan kendala (constraints).
Fungsi tujuan merepresentasikan tujuan yang ingin dioptimalkan(maksimumkan atau minimumkan). Jika banyaknya lemari yang
harus diproduksi dilambangkan dengan x1 dan x2, maka fungsi
tujuan bisa dinyatakan sebagai:
o
Maksimumkan f(x1,x2)=400x1 + 500x2o
Kendala ketersediaan bahan baku bisa dinyatakan sebagai berikut: kendala 1 : 10x1 + 20x2 ≤ 350kendala 2 : 9x1 + 8x2 ≤ 200 kendala 3 : 12x1 + 18x2 ≤ 300
lemari kayu aluminium kaca
A 10 9 12
B 20 8 18
Persedian bahan baku kayu, aluminium, dan kaca di gudang berturut-turut adalah 350, 200, dan 300.
Jika keuntungan penjualan sebuah lemari A sebesar 400 dan B sebesar 500, berapakah banyaknya lemari A dan B harus diproduksi agar didapatkan keuntungan maksimum?
Siklus ES (µ + λ) : Optimasi Fungsi
Berkendala
Berdasarkan dua aturan sebelumnya, maka bisa disusun fungsifitness sebagai berikut:
fitness(x1,x2) = f(x1,x2) – M(c1 + c2 + c3), dimana M: bil. positif yang cukup besar, misalnya 1000
Contoh perhitungan fitness:
selainnya 300, x 8 1 12x 300 x 8 1 12x jika , 0 selainnya 200, 8x 9x 200 8x 9x jika , 0 selainnya 350, 20x 10x 350 20x 10x jika , 0 2 1 2 1 3 2 1 2 1 2 2 1 2 1 1 c c c
x1 x2 Round(x1) Round(x2) f(x1,x2) c1 c2 c3 fitness
21,9 0,3 22 0 8800 0 0 0 8800
0,2 15,9 0 16 8000 0 0 0 8000
10,3 11,4 10 11 9500 0 0 18 -8500
8,1 13,6 8 14 10200 10 0 48 -47800
Nilai x1 dan x2 merupakan bilangan pecahan (real). Karena permasalahan ini memerlukan solusi dalam bentuk bilangan bulat maka dalam perhitungan fitness nilai x1 dan x2 dibulatkan terlebih dahulu.
Siklus ES (µ + λ) : Optimasi Fungsi
Berkendala
1.
Inisialisasi
o
Populasi inisial dibangkitkan secara random. Nilai x1 dan x2dibangkitkan sebagai bilangan pecahan (real) dalam rentang [0,50]. Misalkan ditentukan µ=4 maka akan dihasilkan populasi dengan contoh sebagai berikut: P(t) x1 x2 s 1 s 2 fitness P1 21,9 0,3 0,23241 0,02713 8800 P2 0,2 15,9 0,82123 0,10383 8000 P3 10,3 11,4 0,79231 0,93718 -8500 P4 8,1 13,6 0,31982 0,75632 -47800
Siklus ES (µ + λ) : Optimasi Fungsi
Berkendala
2.
Reproduksi
o
Karena rekombinasi tidak digunakan maka hanya mutasi yang berperan menghasilkan offspring. Pada studi kasus ini, misalkan l=2xµ=8 dan µ=4 maka dihasilkan offspring seperti contoh berikut:C(t) Induk N1(0,1) N2(0,1) x'1 x'2 s ’ 1 s '2 fitness C1 P1 1,8023 -1,3414 22,3189 0,2636 0,20917 0,02442 8800 C2 -0,7837 1,2838 21,7179 0,3348 0,20917 0,02442 8800 C3 P2 0,6234 -0,9298 0,7120 15,8035 0,68574 -1,02278 8400 C4 -1,2394 -0,3293 -0,8178 15,8658 -1,36334 -0,36223 7600 C5 P3 1,0383 -2,0459 11,1227 9,4826 0,87154 1,03090 8900 C6 1,9932 1,2427 11,8792 12,5646 0,87154 1,03090 -108700 C7 P4 -0,4513 -1,6313 7,9557 12,3662 0,35180 0,83195 -2800 C8 -1,2093 2,0348 7,7132 15,1390 0,35180 0,83195 -85300
Perhatikan dari hasil mutasi ini, nilai s’ dari offspring yang dihasilkan P2, P3, dan P5 dinaikkan dengan rumusan s’ = s x 1,1 karena paling tidak
menghasilkan 1 anak yang lebih baik. Nilai s’ dari offspring yang dihasilkan
Siklus ES (µ + λ) : Optimasi Fungsi
Berkendala
3.
Seleksi
o
Seleksi menggunakan elitism selection melibatkan individu dalamoffspring dan individu induk dalam populasi. Dari proses ini didapatkan populasi baru sebagai berikut:
P(t+1) asal x1 x2 s1 s2 fitness
P1 C5 11,1227 9,4826 0,87154 1,03090 8900
P2 P1 21,9 0,3 0,23241 0,02713 8800
P3 C1 22,3189 0,2636 0,20917 0,02442 8800
ES untuk Representasi Permutasi
Seperti telah diuraikan pada awal slide, ciri utama ES adalahpenggunaan vektor bilangan pecahan (real-vector) sebagai
representasi.
Pada perkembangannya, ES juga diadopsi untuk permasalahankombinatorial yang menggunakan representasi permutasi.
Cara paling mudah adalah dengan menggunakan struktur ES yanghanya menggunakan mutasi tanpa rekombinasi.
Mekanisme self-adaptation juga tidak digunakan.Pendekatan ini pada hakekatnya menghasilkan siklus yang sama seperti GAs tanpa crossover.
Adopsi mekanisme self-adaptation pada representasi permutasibisa dilakukan dengan cara sederhana jika yang digunakan adalah
ES untuk Representasi Permutasi
Pada kasus ini, nilai s menyatakan berapa kali proses exchangeatau insertion dilakukan untuk menghasilkan satu anak. Misalkan diberikan contoh dua induk dalam tabel berikut:
Misalkan reciprocal exchange mutation digunakan dan l=3µ.P(t) permutasi s
P1 [ 2 5 1 4 3 ] 1,3452
P2 [ 4 1 5 3 2 ] 2,0728
Berdasarkan nilai s yang dibulatkan, offspring dari P1 dihasilkan melalui proses sekali pertukaran dan
offspring dari P2 dihasilkan melalui dua kali pertukaran. Contoh offspring yang dihasilkan ditampilkan dalam tabel disamping.
induk proses offspring
P1 = [ 2 5 1 4 3 ]
tukar posisi 1 dan 3 C1 = [ 1 5 2 4 3 ]
tukar posisi 2 dan 5 C2 = [ 2 3 1 4 5 ]
tukar posisi 4 dan 5 C3 = [ 2 5 1 3 4 ]
P2 = [ 4 1 5 3 2 ]
tukar posisi 2 dan 4
tukar posisi 1 dan 5 C4 = [ 2 3 5 1 4 ] tukar posisi 1 dan 4
tukar posisi 3 dan 4 C5 = [ 3 1 4 5 2 ] tukar posisi 3 dan 4
Tugas Kelompok
1. Jelaskan ciri utama evolution strategies!
2. Jelaskan perbedaan utama ES dengan GAs?
3. Misalkan terdapat himpunan individu dalam populasi dengan µ=4
dan l=6 sebagai berikut:
Terdapat juga himpunan offspring sebagai berikut:
Tentukan himpunan individu yang lolos ke generasi selanjutnya pada ES(µ, l)! individu fitness P1 10 P2 9 P3 7 P4 5 individu fitness C1 11 C2 9 C3 8 C4 7 C5 6 C6 4
Tugas Kelompok
4. Kerjakan ulang Soal no. 3 untuk ES(µ+l)!
5. Perhatikan fungsi berikut:
Cari nilai minimum dari fungsi ini dengan menggunakan ES (µ/r+l).
Gunakan nilai µ=4 dan l=8. Lakukan interasi sampai 3 putaran.
6. Untuk permasalahan pada Slide ke-17 Studi Kasus ES (µ + l):
Optimasi Fungsi Berkendala, selesaikan dengan menggunakan
ES (µ/r, l). Gunakan nilai µ=4 dan l=8. Lakukan interasi sampai 3
putaran.
7. Selesaikan persoalan transportasi pada Pert. Ke-6 Slide ke-21
dengan menggunakan ES (µ,l). Gunakan nilai µ=4 dan l=8.
Lakukan interasi sampai 3 putaran.