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 , x2 , . . . , xn ]T

spełniający:

K ograniczeń nierównościowych gk(x) ≥ 0 k = 1,2, . K

M ograniczeń równościowych hm(x) = 0 m = 1,2, . M

i minimalizujący funkcję celu f(x)

f(x*) = min. f(x)

56

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 (x) = C − f (x) gdzie :

- C > f (x) dla wszystkich x, lub

- w iteracji t t

C = max .{ j

f (x)}

j J

∈

J – wielkość populacji

57

• Statyczne skalowanie liniowe

f '(x) = a ⋅ f (x) + b

a,b – stałe parametry dla wszystkich iteracji.

• Dynamiczne skalowanie liniowe

f '(x) = ⋅ (x) +

t

a f

t

b

a – stały parametr dla wszystkich iteracji,

bt – parametr ustalany w każdej iteracji.

• Metoda obcięcia

~

f '(x)

x

x

t

= f ( ) +[ f ( ) − c ⋅σ ]

c

– stała

σ

- odchylenie standardowe populacji.

~

f (x) - wartość średnia dopasowania w populacji.

58

• Skalowanie wykładnicze

f '(x

α

) =

(x)

t

ft

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

********************* (zrobić wykresy funkcji dla

f(x1,x2))

• Skalowanie logarytmiczne

'

f (x) = b − log[ f (x)]

t

t

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

t

• Metoda ruchomej bazy ( windowing)

'

f (x) = f (x) − f

t

t

w

w

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

f

- najgorsza wartość w ostatnich w iteracjach.

w

59

• Normalizacja

Problem maksimum:

f (x) − f

+ γ

'

min

f (x)

t

=

t

f

− f + γ

max

min

Problem minimum:

f

− f (x) + γ

'

max

f (x)

t

=

t

f

− f + γ

max

min

Selekcja turniejowa i rankingowa:

§ skalowanie jest nieistotne.

60

UWZGLĘDNIANIE OGRANICZEŃ

Znajdź wektor:

x*

minimalizujący funkcję celu:

f(x)

oraz spełniający

K ograniczeń nierównościowych:

gk(x) ≥ 0;

M ograniczeń równościowych:

hm(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ń.)

61

• 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:

M

K

Φ( ,

x r) = f (x) + {

r ∑[ h (x)]2

x

m

+ ∑ G [ g ( )]2}

k

k

m 1

=

k 1

=

r – współczynnik kontrolujący wielkość członu kary Gk - operator Heaviside = 0 gdy gk(x)>= 0 oraz = 1 gdy

gk(x)<0.

62

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.

63

(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:

M

K

Ψ(x) = ∑

2

2

[

x

x

m

h ( )] + ∑ k

G [ gk ( )]

m=1

k =1

W obszarze dopuszczalnym Ψ(x) = 0.

W obszarze niedopuszczalnym Ψ(x) > 0.

64