You are on page 1of 29

Inteligentno upravljanje

Evolucioni algoritmi u upravljanju (2)


Dr Samim Konjicija, dipl. ing. el.

Sarajevo, 28.12.2015. godine

Sadraj predavanja

Razvoj evolucionih strategija

Vrste evolucionih strategija:

ES(1+1)

ES(1, )

ES(+1)

ES(+)

ES(, )

Operatori rekombinacije

Adaptacija parametara

Nekorelirana i korelirana mutacija

Primjena EA u upravljanju

Razvoj evolucionih strategija

ES inspiraciju pronalaze u principima evolucije ivih bia

Ideja razvijena u Njemakoj (TU Berlin) tokom 60. i


poetkom 70. godina

Autori: Ingo Rechenberg, Hans-Paul Schwefel, Peter


Biernert

Pokuaj
rjeavanja
problema
iz
aerodinamike:
Odreivanje oblika povrine sa najmanjim otporom
strujanju zraka

Razvoj evolucionih strategija

Povrina se sastojala od segmenata

Problemske varijable su bile uglovi segmenata

Prvobitni pokuaj sistematinog podeavanja rezultirao


zapadanjem u lokalne ekstremume

Radi toga su pokuali sa dodavanjem sluajnih varijacija


(mutiranjem) vektora podeenja

Svako bolje novootkriveno rjeenje je dalje evoluirano

Prvobitna ES realizirana na raunaru Zuse Z23

Osobine evolucionih strategija

ES se danas uglavnom
parametarsku optimizaciju

Za razliku od GA pretrauju direktno problemski prostor


prostor fenotipa

Osnovne osobine ES:

Brze

Efikasne za rjeavanje problema sa realnim


vrijednostima

Dosta razvijena teorija

Samopodeavanje (adaptacija)
prisutno praktino od nastanka

koriste

za

numeriku

parametara

kod

ES

ES(1+1)

Prvobitna varijanta ES

Populacija se sastoji od jednog potencijalnog rjeenjavektora problemskih varijabli

[]

x1
x = x2

xn

Dodavanjem sluajnih vrijednosti (mutacija) vektoruroditelju se formira vektor-potomak

U narednu generaciju se prenosi bolji vektor od ta dva


pohlepna selekcija
k

x '= x Z
k
k1
x
'
,
x
'

x
x =
x k , inae

ES(1+1)

Sluajni brojevi se biraju sa normalnom raspodjelom,


srednjom vrijednou jednakom nuli i standardnom
devijacijom k

Ovim se obezbjeuje da svaka komponenta novog


vektora lei u okolini vektora-roditelja

ES(1+1)

Osnovni algoritam evolucione strategije ES(1+1):


1.Sluajno ili heuristiki inicijalizirati vektor x0
2.Kreirati novo potencijalno rjeenje x' dodavanjem
sluajnih vrijednosti elementima vektora
3.Ukoliko je x' bolje rjeenje od x0, izvriti smjenu
4.Ponavljati korake 2-3 do zadovoljenja uslova
zaustavljanja algoritma

ES(1+1)

Rechenberg je na skupu od dvije testne funkcije pokuao


odrediti optimalnu vrijednost standardne devijacije:

Brzine konvergencije su date izrazima:

ES(1+1)

Diferenciranjem po standardnim devijacijama i


izjednaavanjem sa 0 su dobivene optimalne vrijednosti:

Rechenberg je odredio i vjerovatnoe da e mutacija biti


uspjena (dati bolje rjeenje):

ES(1+1)

Uvrtavanjem u ove izraze optimalnih vrijednosti


mutacije je dobio optimalne vjerovatnoe uspjenih
mutacija:

Na osnovu ovih vrijednosti je Rechenberg zakljuio da je


najbolje udio uspjenih mutacija odravati na 1/5:

Obino se uzima cd=0,8, a ci=1/0,8

esto je zapadanje u lokalne ekstremume

ES(1, )

I ova varijanta ES ima populaciju koja se sastoji samo od


jednog potencijalnog rjeenja

Vektor roditelj se mutira puta i na taj nain se formira


vektora-potomaka

Od vektora potomaka se bira najbolji i on se prenosi u


narednu generaciju

Standardnu devijaciju treba odravati na nivou koji


obezbjeuje da barem jedan potomak bude bolji od
roditelja

ES(+1)

Prva varijanta ES koja ima vielanu populaciju

Populacija se sastoji od vektora

Iz ovog skupa se sluajno biraju dva vektora-roditelja

Primjenom rekombinacije i mutacije se kreira jedan


vektor-potomak

U narednu generaciju se prenosi najboljih od ukupno


+1 vektora

Verzije operatora rekombinacije koje se koriste u ES:

Diskretna (uniformna) rekombinacija

Globalna diskretna rekombinacija

Meurekombinacija

Globalna meurekombinacija

Diskretna rekombinacija

Diskretna rekombinacija je identina uniformnom


ukrtanju kod GA, samo to se odvija u problemskom
prostoru:
a
b
x ' i= x i z i x i 1z i

z i { 0,1}
i { 1,2, .. . , n }

Svaki element vektora potomka se sa


vjerovatnoom uzima od jednog od dva roditelja

Kod globalne diskretne rekombinacije se za izbor svake


od varijabli vektora potomka bira novi par roditelja:
x ' i= x iaz i x bi 1 z i
i

z i { 0,1}
i { 1,2, .. . , n }

istom

Meurekombinacija
Ideja za meurekombinaciju:
Neka se trai maksimum funkcije i neka se svaki od roditelja
nalazi sa suprotne strane maksimuma. Biranjem take na
polovici dui koja spaja roditelje e se potomak pribliiti
maksimumu.
Nain formiranja elemenata vektora-potomka:
1
x ' i= x iax bi
2
i { 1,2, .. . , n }
Kod globalne meurekombinacije se za svaku
komponentu bira novi par roditelja:
1 a
b
x ' i= x i x i
2
i { 1,2, .. . , n }
i

ES(+), ES(, )

Verzija ES(+) ima populaciju od potencijalnih


rjeenja

Rekombinacijom i mutacijom se kreira potomaka

Od svih + potencijalnih rjeenja se bira najboljih i


prenosi u novu generaciju

Kod verzije ES(, ) se izbor najboljih potencijalnih


rjeenja vri samo iz skupa od potomaka

Oigledno je da u ovom sluaju mora vrijediti da je 1

Adaptacija parametara

Osnovni parametri svake ES su standardne devijacije

Kod ES sa jednolanom populacijom se vrijednost


standardne devijacije modificira heuristikim pravilom

Kod ES(+) i ES(, ) je praksa da se sve standardne


devijacije predstave u okviru vektora:

[]

x1
x2

x
x = n = x

1
2

[]

Adaptacija parametara

I na standardne devijacije se primjenjuju rekombinacija i


mutacija

Na ovaj nain je obezbjeeno


(adaptacija) standardnih devijacija

Na skupu testnih funkcija je odreeno da se bolji rezultati


postiu
kada
se
primjenjuju
razliite
verzije
rekombinacije za elemente problemskog vektora i
vektora standardnih devijacija:

Diskretna rekombinacija za elemente vektora x

Meurekombinacija za elemente vektora

samopodeavanje

Korelirane mutacije

Odreivanje standardnih devijacija nezavisno za svaku


od problemskih varijabli rezultira u kretanju paralelno
koordinatnim osama
x ' = x k kZ k

[ ]

1 0 0 0
k
= 0 2 0 0

0 0 0 n

Korelirane mutacije

Da bi se poveala vjerovatnoa kretanja koje nije


paralelno koordinatnim osama, uvode se korelirane
mutacije

U ovom sluaju je kretanje du jedne koordinatne ose


povezano sa kretanjem du druge koordinatne ose ili
vie njih
c c c c

11 12 13

1n

C k = c 21 c 22 c 23 c 2n

c n1 c n2 c n3 c nn

Korelirane mutacije

Kako bi se ova ovisnost postigla, pri generiranju


sluajnih vrijednosti se koristi matrica kovarijansi:

c 11 c 12 c 13 c 1n
C k = c 21 c 22 c 23 c 2n

c n1 c n2 c n3 c nn

c ii= i
2i 2j
c ij =
tg 2 ij
2

Vrijednosti uglova pravaca napredovanja se uvrtavaju u


vektor:
x =[ x 1 x 2 x n 1 2 n 1 2 r ]

Ukupan broj uglova je: r =

nn1
2

[]

x
=

Primjena evolucionih algoritama


u upravljanju

Mnogo je primjena optimizacije u upravljanju

Prednosti EA:
Mogu se primjeniti na probleme tipa crne
kutije

Ne trae informaciju o lokalnim osobinama


kriterija

Primjena evolucionih algoritama


u upravljanju

Primjeri primjene EA u upravljanju:


Aproksimacija funkcija

Odreivanje parametara regulatora ili sistema

Odreivanje optimalne sekvence upravljanja

Aproksimacija funkcija:

Jedinka kodira parametre funkcije

Za evaluiranje aproksimacije se mogu koristiti


razliiti kriteriji

Primjena evolucionih algoritama


u upravljanju

Primjeri kriterija:

J = y y

k =1
n

J = y y
n

k=1

J = ln1 y y
k=1

Primjena evolucionih algoritama


u upravljanju

Odreivanje parametara regulatora:


Jedinka kodira parametre regulatora

U okviru odreivanja vrijednosti kriterija se


simulira ponaanje sistema

Primjena evolucionih algoritama


u upravljanju

Evoluiranje regulatora u formi ANN:


Jedinka kodira parametre ANN

Primjena evolucionih algoritama


u upravljanju

U kriterij se mogu ukljuiti i dodatni elementi, koji


evaluiraju specifine karakteristike ponaanja sistema

Primjena evolucionih algoritama


u upravljanju

Odreivanje sekvence optimalnog upravljanja:


Jedinka kodira optimalna upravljanja

You might also like