background image

 

56 

ALGORYTMY EWOLUCYJNE 

W OPTYMALIZACJI JEDNOKRYTERIALNEJ 

 

 

Zalety: 

 

  nie wprowadzają żadnych ograniczeń na sformuło-

wanie problemu optymalizacyjnego. Funkcja celu 
może być wielowartościowa i nieciągła, obszar do-
puszczalny – niespójny itp. 

  Można je wykorzystać do rozwiązania każdego pro-

blemu optymalizacyjnego, tzn. problemu z ciągłymi, 
dyskretnymi, całkowitymi i mieszanymi zmiennymi 
decyzyjnymi. 

 
 

Ogólne sformułowanie jednokryterialnego problemu 
optymalizacji:
 

 
Znajdź wektor zmiennych decyzyjnych: 
 x

*

 = [x

1

*

, x

2

*

, . . . , x

n

*

]

T

 

spełniający: 
 
K

 ograniczeń nierównościowych g

k

(x

 0  k = 1,2, . K 

M

 ograniczeń równościowych     h

m

(x) = 0    m = 1,2, . M 

 
i minimalizujący funkcję celu f(x
 
     

 

f

(x

*

) = min. f(x

background image

 

57 

FUNKCJA CELU I FUNKCJA PRZYSTOSOWANIA 

 
Odwzorowanie funkcji celu na funkcję przystosowania 
(skalowanie funkcji celu): 
 

Selekcja: 

 

proporcjonalna: 

skalowanie jest konieczne. 

 

turniejowa i rankingowa: 

skalowanie jest nieistotne. 

 
 
 

Metody odwzorowania funkcji celu na funkcję dopa-

sowania w przypadku selekcji proporcjonalnej: 

 
 

  Sposób najprostszy: wykorzystanie dodatniej stałej i 

określenie funkcji przystosowania w postaci: 

 
     

 

 

'

( )

( )

f

C

f

= −

x

x

 

 
gdzie :   
 

   

( )

C

f

>

x

   dla wszystkich x, 

 
lub 
 

   

- w iteracji t      

max .{

( )}

t

j

j J

C

f

=

x

 

   

 

 

 

 

 

J

 – wielkość populacji 

background image

 

58 

 

  Statyczne skalowanie liniowe 

 
     

 

b

f

a

f

+

=

)

(

)

(

'

x

x

 

 
a,b

 – stałe parametry dla wszystkich iteracji. 

 
 
 

  Dynamiczne skalowanie liniowe 

 

t

t

b

f

a

f

+

=

)

(

)

(

'

x

x

 

 

a

 – stały parametr dla wszystkich iteracji, 

b

t

 – parametr ustalany w każdej iteracji. 

 
 
 

  Metoda obcięcia 

 

]

)

(

~

[

)

(

)

(

'

σ

+

=

c

f

f

f

t

x

x

x

 

 

  c

    

– stała 

σ

  

- odchylenie standardowe populacji. 

  

)

(

x

f

   - wartość średnia dopasowania w populacji. 

 
 

background image

 

59 

 

  Skalowanie wykładnicze 

 

)

(

)

(

'

x

x

α

t

t

f

f

=

 

 

 

α

 - wykładnik potęgi bliski jedności, np. 1.005 

*********************  (zrobić wykresy funkcji dla 
f(x1,x2)) 

 
 
 

  Skalowanie logarytmiczne 

 

'

( )

log[ ( )]

t

t

f

b

f

= −

x

x

 

b – 

stała większa od każdej wartości log[ ( )]

t

x

 

 
 
 

  Metoda ruchomej bazy (windowing) 

 

'

( )

( )

t

t

w

f

f

f

=

x

x

 

 

- szerokość okna (zwykle 2 – 10). 

w

f

 

- najgorsza wartość w ostatnich w iteracjach. 

 
 

background image

 

60 

 

  Normalizacja 

 
Problem maksimum: 

'

min

max

min

( )

( )

t

t

f

f

f

f

f

γ

γ

+

=

+

x

x

 

 
Problem minimum: 

'

max

max

min

( )

( )

t

t

f

f

f

f

f

γ

γ

+

=

+

x

x

 

 
 
 

Selekcja turniejowa i rankingowa: 

§

  skalowanie jest nieistotne. 

background image

 

61 

UWZGLĘDNIANIE OGRANICZEŃ 

 
Znajdź wektor:     

 

 

 

 

 

x

    minimalizujący funkcję celu:    

 

f

(x

 
oraz spełniający 
 
    K 

ograniczeń nierównościowych:   

g

k

(x

 0; 

    M 

ograniczeń równościowych:  

 

h

m

(x) = 0. 

 
 

Operacje przeprowadzane losowo na chromosomach mo-
gą generować 

rozwiązania niedopuszczalne

 (tzn. leżące 

poza obszarem dopuszczalnym wyznaczonym przez 

ograniczenia). 

 
 
 
Metody generujące rozwiązania w obszarze dopusz-
czalnym:
 
 

  Metoda odrzucania 

 

W każdej iteracji chromosomy zawierające rozwią-
zania niedopuszczalne są odrzucane. 
 
(Działa skutecznie gdy obszar dopuszczalny zajmuje 
większa część całkowitej przestrzeni przeszukiwań.) 

background image

 

62 

 

  Metoda poprawiania 

 

W każdej iteracji chromosomy zawierające rozwią-
zania niedopuszczalne są „reperowane”, tak aby za-
wierały rozwiązania z obszaru dopuszczalnego. 
 

(Strategia reperowania zależy od natury problemu i często 
jest bardziej skomplikowana niż rozwiązywany problem) 

 
 

  Metoda funkcji kary 

 

Przeniesienie na grunt algorytmów ewolucyjnych 
techniki stosowanej w ‘konwencjonalnych’ metodach 
optymalizacyjnych (

rozwiązania spoza obszaru do-

puszczalnego są ‘karane’ przy wykorzystaniu współ-
czynnika kary

). 

 
Zasada generalna

: problem z ograniczeniami jest 

transformowany do problemu bez ograniczeń, w wy-
niku włączenia ograniczeń do rozszerzonej funkcji 
celu: 
 

   

}

)]

(

[

)]

(

[

{

)

(

)

,

(

1

2

1

2

=

=

+

+

=

Φ

K

k

k

k

M

m

m

g

G

h

r

f

r

x

x

x

x

 

 
r

  

– współczynnik kontrolujący wielkość członu kary 

G

 - 

operator Heaviside = 0 gdy g

k

(x)>= 0 oraz = 1 gdy  

 

 

 

 

 

 

 

 

 

 

g

k

(x)<0. 

background image

 

63 

SELEKCJA  TURNIEJOWA  W  PROBLEMACH 
OPTYMALIZACJI Z OGRANICZENIAMI 

 
Jedna z najbardziej efektywnych metod rozwiązania za-
dania programowania nieliniowego z ograniczeniami. 
 
 

Operator selekcji turniejowej: 

 
W selekcji biorą udział dwa chromosomy populacji rodzi-
cielskiej. 
 

(i)

 

Jeżeli  oba  chromosomy  są  z  obszaru  niedopusz-
czalnego,  to do  populacji  tymczasowej  wybiera-
ny  jest  chromosom  położony  bliżej  obszaru  do-
puszczalnego (

na podstawie oceny odległości od 

brzegu obszaru dopuszczalnego

). 

 

Dla żadnego z chromosomów nie oblicza się  

 

wartości funkcji celu

 

(ii)

  Jeżeli  jeden  chromosom  jest  z  obszaru  dopusz-

czalnego,  a  drugi  z  obszaru  niedopuszczalnego, 
to  do  populacji  tymczasowej  wybierany  jest 
chromosom  należący  do  obszaru  dopuszczalne-
go. 

 

Dla żadnego z chromosomów nie oblicza się  

 

wartości funkcji celu

background image

 

64 

 

(iii)

  Jeżeli oba chromosomy są z obszaru dopuszczal-

nego,  to  dla 

obu  oblicza  się  wartość  funkcji 

przystosowania

  i  do  populacji  tymczasowej 

przechodzi  chromosom  o  lepszej  wartości  tej 
funkcji. 

 
 
Ocena odległości od obszaru dopuszczalnego: 
 

=

=

+

=

Ψ

K

k

k

k

M

m

m

g

G

h

1

2

1

2

)]

(

[

)]

(

[

)

(

x

x

x

 

 
 

     

 

W obszarze dopuszczalnym 

0

)

(

=

Ψ

x

     

 

W obszarze niedopuszczalnym 

0

)

(

>

Ψ

x