M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody...

26
2011 K.M.Gawrylczyk 1 Metody optymalizacji ... Metody optymalizacji Metody deterministyczne Metody stochastyczne bez ogranicze ń z ograniczeniami metoda Monte-Carlo metoda symulowanego wy Ŝ arzania algorytmy genetyczne gradientowe z minimalizacj ą gradientu prostego, najszybszego spadku, gradientu sprz ęŜ onego, Newtona-Raphsona, M arquardta. Gaussa-Seidela, Daviesa-Swanna i Campeya, Powella, Zangwilla, Gaussa-Newtona Rosenbrocka, Hooka-Jeevesa, Simpleksu Neldera i Meada, zlotego podzialu, interpolacyjne. bezpo ś rednie bezgradientowe gradientowe bezgradientowe

Transcript of M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody...

Page 1: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

1 Metody optymalizacji ...

M eto dy o p ty m a liza cj i

M e to d y d et erm i ni s ty cz n e M et od y s t oc h a s ty cz n e

b e z o gr an ic z eń z o gra n ic z en ia m i m e to d a

M o nt e-C ar lo

m et od a sym u lo w a n eg o

w yŜa rz an ia

al go ry tm y g e n et yc z n e

g rad ie nto w e

z m in im alizac ją

g rad ien tu p ro stego ,

na js zyb sz eg o s padku ,

g rad ien tu sp rzęŜ on eg o ,

N ew ton a-R aphs on a,

M arq uard ta.

G au s sa -S eide la ,

D av ies a-Sw ann a i C am p e y a,

Po w ella ,

Zan g w il la ,

G au s sa -N ew tona

R os en b rocka ,

H oo ka -J eeve sa,

S im p leksu N e ldera i M ea d a,

z ło te go p od zia łu ,

in terpo lac yjn e .

b ezp ośred n ie

b ezg rad ie n to w e g rad ie n to w e b ez gra d ien to w e

Page 2: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

2 Metody optymalizacji ...

METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego podziału

Funkcja f(x) jest ciągła i posiada w przedziale [a, b] pojedynczy punkt stacjonarny. W celu znalezienia podprzedziału, w którym leŜy ten punkt stacjonarny trzeba obliczyć wartości funkcji w dwóch punktach przedziału. Utworzenie tylko jednego punktu x1 nie pozwala określić, w którym przedziale mieści się minimum. Dopiero po obliczeniu x2 moŜna stwierdzić, czy minimum znajduje się w przedziale [x1, b], czy w [a, x2].

Rys. 1 Jeden z punktów znajduje się zawsze wewnątrz nowego przedziału, tak więc w kolejnej iteracji wystarczy wyliczyć wartość funkcji w jednym punkcie. Algorytm "złotego podziału" zakłada, Ŝe wielkość nowy podprzedziałów będzie się zmniejszała o pewien stały czynnik τ. ZałóŜmy, Ŝe w bieŜącym przedziale [a(i),b(i)] zostały wyznaczone dwie wartości funkcji celu w punktach x1

(i) oraz x2(i) naleŜących do tego przedziału, przy czym x1

(i) < x2(i).

Punkty te spełniają zaleŜność: (i) (i)(i) (i)2 1

(i) (i) (i) (i)

- -x a b x= =- -b a b a

τ

skąd: x1

(i) - a(i) = b(i) - x2(i) .

Page 3: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

3 Metody optymalizacji ...

Jeśli f(x2(i)) > f(x1

(i)) wówczas nowy przedział będzie :

b(i+1) = x2(i),

a(i+1) = a(i) , x2

(i+1) = x1(i).

Wyznaczanie wartości τ :

(i+1) (i) (i)(i) (i) (i)2 1 2(i) (i)(i) (i) (i) (i)2 2

- - -x a x a x a= = =- - -x a x a b a

τ

oraz x1

(i) - a(i) = b(i) - a(i) - (x2(i) - a(i)) .

Wynika stąd, Ŝe

(i) (i)

21(i) (i)2

11 czyli 1 0

-x a = + = , + = .-x a

τ τ ττ

− −

Szukana wartość τ wynosi więc :

5 1

0,6182

= .τ −≈

Algorytm "złotego podziału" w punktach: 1. jeśli f(x2

(i)) > f(x1(i)) , to :

b(i+1) = x2

(i) , x2

(i+1) = x1(i) ,

x1(i+1) = a(i) + (1 - τ) (b(i+1) - a(i)) .

2. jeśli f(x2

(i)) ≤ f(x1(i)) , to :

a(i+1) = x1

(i) , x1

(i+1) = x2(i) ,

x2(i+1) = b(i) + (1 - τ) (b(i) - a(i+1)) .

Po n - krotnych obliczeniach długość przedziału redukuje się do wielkości : b(n) - a(n) = [b(1) - a(1)] tn-1 Zalety: DuŜa prostota oraz dobra zbieŜność. Wady: Niewielka szybkość zbieŜności przy duŜej dokładności.

Page 4: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

4 Metody optymalizacji ...

Metoda interpolacji kwadratowej W otoczeniu minimum badaną funkcję moŜna zastąpić wielomianem drugiego stopnia: 1-szy sposób : wartość funkcji jest wyliczana w trzech kolejnych punktach, przez

które jest prowadzony wielomian interpolacyjny drugiego stopnia. Następnie określa się minimum tego wielomianu. Następnie punkt ten jest wprowadzany zamiast jednego z punktów początkowych. Procedura jest powtarzana do osiągnięcia załoŜonej zbieŜności. Niewłaściwa zamiana punktów moŜe doprowadzić do braku zbieŜności.

2-gi sposób : najpierw wyznacza się przedział, w którym znajduje się minimum, a potem stosuje interpolację kwadratową.

ZałóŜmy, Ŝe znamy wartości funkcji w trzech punktach a, b, c: fa(xa), fb(xb), fc(xc), przy czym xa < xb < xc .

Rys. 2 Wielomian interpolacyjny jest parabolą i ma postać :

b c a c a ba b c

a b a c b a b c c a c b

( )( ) ( )( ) ( )( )( )

( )( ) ( )( ) ( )( )

x-x x-x x-x x-x x-x x-xf x = f + f + f .

x -x x -x x -x x -x x -x x -x

Warunkiem koniecznym istnienia w punkcie xmin ekstremum jest warunek:

mindla

( )0

x=x

f x=

x

a więc:

min b c min a c min a ba b c

a b a c b a b c c a c b

2 ( ) 2 ( ) 2 ( )0

( )( ) ( )( ) ( )( )

x x +x x x +x x x +xf + f + f .

x x x x x x x x x x x x

− − −=

− − − − − −

i : 2 2 2 2 2 2b c a c a b a b c

minb c a c a b a b c

( ) ( ) ( )1

2 ( ) ( ) ( )

x -x f + x -x f + x -x fx = .

x -x f + x -x f + x -x f

Page 5: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

5 Metody optymalizacji ...

Inna postać wzoru (zaproponowana przez Daviesa, Swanna i Campeya):

c am b

c b a2

f fLx =x ,

f 2f + f

−−

pod warunkiem zachowania równych odległości L pomiędzy bieŜącymi punktami xa, xb, xc.

Metoda interpolacji sześciennej Metoda najefektywniejsza, jednak wymagana jest znajomość pochodnej kierunkowej. Stosowana jest we wszystkich metodach gradientowych. Przebieg wartości funkcji aproksymujemy krzywą trzeciego stopnia.

Rys. 3. Współczynniki a,b,c,r wyznaczane są z układu czterech równań:

Ya = a xa3 + b xa

2 + c xa + r Yb = a xb

3 + b xb2 + c xb + r

Pa = 3a xa2 + 2b xa + c

Pb = 3a xb2 + 2b xb + c

Poszukiwana wartość minimum xmin:

22

min

2 4 12, gdzie: 4 12 0.

6

b b acx b ac

a

− + −= − ≥

Zazwyczaj korzysta się z równowaŜnej postaci zaleŜności:

a ba b

2a b

b

b a

min b

,

3 ,

,

,2

.

b ae x x

Y Yz P P

e

w z P P

P w zd e

P P w

x x d

= −

−= + +

= − ⋅

+ −=

− +

= −

Page 6: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

6 Metody optymalizacji ...

METODY BEZGRADIENTOWE POSZUKIWANIA EKSTREMUM Metoda Hooka-Jeevesa

Punkt minimalny xmin jest granicą ciągu x0, x1, x2, ..., gdzie x0 jest punktem początkowym. Występują dwa sposoby poruszania się: próbny : badanie zachowania funkcji w pewnym niewielkim obszarze przez

wykonywanie kroków próbnych wzdłuŜ wszystkich kierunków bazy ortogonalnej,

roboczy : przejście w określony sposób do następnego obszaru. Przejście do następnego obszaru następuje, gdy przynajmniej jeden z kroków etapu próbnego był pomyślny, to znaczy nastąpiło zmniejszenie wartości funkcji f(x). W przeciwnym wypadku etap próbny jest powtarzany przy zmniejszonym kroku. a) informacje wejściowe

x0 - punkt startowy ξ1,ξ2,...,ξn - baza wektorów ortogonalnych,

e - początkowa długość kroku, β - współczynnik zmniejszenia kroku, 0 < β < 1, ε - wymagana dokładność obliczeń, n - liczba zmiennych niezaleŜnych.

Etap próbny: 1○ podstaw j = 1 oraz oblicz wartość funkcji f(x0) i podstaw pod F0. 2○ wykonaj krok próbny w kierunku ξj : xj = xj - 1 + e ξj oraz oblicz f(xj) i podstaw

pod F . 3○ jeŜeli F < F0 to podstaw F w miejsce F0 i przejdź do pkt.6.

jeŜeli F ≥ F0 to przejdź do punktu następnego (4○). 4○ wykonaj krok próbny w przeciwnym kierunku : xj = xj - 2eξj, oblicz f(xj) i

podstaw pod F. 5○ jeŜeli krok ten był pomyślny podstaw F w miejsce F0. JeŜeli nie, to j = j + 1 i

wróć do (2○). 6○ zbadaj, czy j = n (wykonano kroki we wszystkich kierunkach bazy ortogonalnej).

Jeśli nie, to j = j + 1 i wróć do (2○). JeŜeli tak, to: 7○ Zbadaj, czy w wykonanym cyklu wystąpiły kroki pomyślne. JeŜeli tak, podstaw

xj jako punkt bazowy xB i wykonaj etap roboczy. JeŜeli nie, to: 8○ JeŜeli nie minimum, to: przy pierwszej iteracji zmień punkt startowy, a przy

następnych zmniejsz długość kroku i wróć do poprzedniego punktu bazowego i do (1○).

Etap roboczy: 1○ wykonaj krok roboczy : x0 = xB + (xB - xB0) = 2 xB - xB0 . 2○ podstaw xB w miejsce xB0 i wróć do etapu próbnego.

Page 7: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

7 Metody optymalizacji ...

Schemat działania opisanego algorytmu:

1 - start 4 - etap próbny (xB) 5 - etap roboczy 8 - etap próbny 9 - etap roboczy 13 - nie jest spełniony warunek (7○), powrót do 8, zmniejszenie e.

Kryterium zbieŜności : aktualna długość kroku e < ε.

Page 8: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

8 Metody optymalizacji ...

Metoda Rosenbrocka

Metoda ta jest dość podobna do metody Hooka-Jeevesa, gdyŜ równieŜ poszukujemy ekstremum w n wzajemnie ortogonalnych kierunkach. RóŜnica między tymi metodami polega na tym, iŜ tutaj kierunki te nie pozostają stałe, lecz ulegają zmianom w wyniku obrotu. Baza wyjściowa ξ1 .. ξn tworzona jest najczęściej z wektorów jednostkowych (wersorów) układu współrzędnych kartezjańskich. Na wstępie wykonuje się po jednym kroku o długości e w kaŜdym z tych kierunków. Jeśli w danym kierunku uzyskujemy sukces, to zwiększamy długość kroku w tym kierunku, natomiast w przeciwnym wypadku, długość kroku mnoŜymy przez współczynnik -b z przedziału (0..1), a więc wykonujemy krótszy krok w kierunku przeciwnym do danego. Procedura taka jest powtarzana aŜ do momentu, gdy wykonanie kroku we wszystkich n kierunkach daje efekt niepomyślny, czyli f(xj) > f(xj-1) dla wszystkich j. W tej sytuacji jeŜeli jest spełnione kryterium na ekstremum, to procedurę moŜna uznać za zakończoną, w przeciwnym wypadku zaś wykonujemy algorytm obrotu współrzędnych i rozpoczynamy jej działanie od początku. Kryterium zbieŜności tej metody zaproponowane przez Rosenbrocka opiera się na załoŜeniu, iŜ bieŜący punkt moŜna uznać za minimum, jeśli w czasie pięciu kolejnych obrotów współrzędnych (i wykonaniu kroków we wszystkich ortogonalnych kierunkach po kaŜdym obrocie) nie wystąpił Ŝaden pomyślny krok. Jednak w realizacjach praktycznych ze względu na zbytnie przedłuŜenie czasu wykonywania procedury stosuje się zwykle znacznie prostsze kryterium narzucając z góry ilość iteracji. Po wykonaniu tej ilości iteracji porównuje się uzyskany wynik z oczekiwaniami i ewentualnie przyjmuje nową wartość ilości iteracji startując z ostatnio wyliczonego punktu. Współczynniki a, b naleŜy dobrać eksperymentalnie; w przypadkach rozpatrywanych przez Rosenbrocka jako optymalne wartości przyjęto a = 3 i b = 0,5.

Page 9: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

9 Metody optymalizacji ...

Oznaczenia: x0 - punkt startowy, ξ1.. ξn - baza wektorów ortogonalnych (dla dwóch zmiennych n = 2), e - początkowa długość kroku (wektor n-wymiarowy), a - współczynnik korekcyjny zwiększający wartość kroku (a > 1), b - współczynnik korekcyjny zmniejszający wartość kroku (b < 1). Algorytm: 1) Obliczenie wartości funkcji w punkcie startowym i obliczenie wartości funkcji f(xj-1+ ej·Sj) dla wszystkich kierunków bazy (j = 1 .. n). Gdy f(xj-1 + ej·ξj) < f(xj-1) to obliczamy sumę pomyślnych kroków : dj = dj-1 + ej, przy czym d0 = 0, przesunięcie punktu xj = xj-1 + ej·ξj oraz zwiększamy krok (ej = a·ej).

W przeciwnym przypadku zmniejszamy krok (ej = -b·ej) oraz podstawiamy xj = xj-1.

Krok ten jest powtarzany aŜ do momentu, gdy dj = 0 dla wszystkich j = 1 .. n. JeŜeli nastąpiło to po jego jednokrotnym wykonaniu, to przechodzimy do punktu 2. 2) Zmiana punktu startowego x0 i powtórzenie kroku 1. W przeciwnym wypadku, jeśli minimum nie zostało osiągnięte przechodzimy do punktu 3. 3) Wykonanie algorytmu obrotu ortogonalnego układu współrzędnych ξ i powrót do

wykonywania kroku 1.

Page 10: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

10 Metody optymalizacji ...

Page 11: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

11 Metody optymalizacji ...

Algorytm obrotu współrzędnych: 1) Wyznaczenie układu wektorów: q1 = d1ξ1 + d2ξ2 + ... + dnξn q2 =____________ d2ξ2 + ... + dnξn ................................................ qn =_______________________________ dnξn 2) Ortogonalizacja tego układu przy zastosowaniu procedury Gram-Schmidta

( )

( )

11 1 1

1

22 2 2 1 1 2

2

1

1

,

...................................................

,n

nn n n j j n

nj

=

= =

= − =

= − =∑

νν q ξ

ν

νν q q ξ ξ ξ

ν

νν q q ξ ξ ξ

ν

1) Podstawienie znalezionego układu wektorów bazy ξ w miejsce poprzedniego.

Warunkiem jednoznaczności przejścia jest, aby nie zachodziło dj = 0 dla j = 1 .. n, gdzie dj jest sumą pomyślnych kroków wykonanych w j-tym kierunku. Spełnia się go poprzez odpowiedni sposób doboru długości kroku oraz stosowane kryterium oceny, czy osiągnięto minimum.

Page 12: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

12 Metody optymalizacji ...

Metoda Gaussa-Seidela Minimalizacja funkcji f(x) wzdłuŜ ortogonalnej bazy ξ1,ξ2,ξ3,..,ξn. Jest to minimalizacja funkcji w kierunku. ZbieŜność metody : JeŜeli funkcja celu f(x) ma postać f(x) = 1/2 xT A x to metoda Gaussa-Seidela jest zbieŜna do punktu ekstremalnego x* wtedy i tylko wtedy, gdy macierz A jest dodatnio określona. Gradient funkcji: grad f(x) = A x , stąd przesunięcie punktu w i-tej iteracji wynosi na podstawie warunku koniecznego na istnienie ekstremum w kierunku:

( )Ti i i i 0x λ+ =ξ A ξ .

Z równania tego otrzymuje się λi minimalizujące funkcję f(x) w kierunku ξi :

λi = -ai xi / aii ,

ai - i-ty wiersz macierzy A, aii - odpowiedni element tej macierzy. Wartość funkcji celu w punkcie xi+1 = xi + λiξi wynosi :

f(xi+1) = f(xi) + λiξiTA xi + 1/2 λi

2 aii , a po podstawieniu poprzedniego równania:

f(xi+1) = f(xi) - 1/2 λi2aii .

Oznacza to, Ŝe wartość funkcji celu będzie malała w kolejnych iteracjach, gdyŜ aii > 0 dla A dodatnio określonej. a) informacje wejściowe x0 - punkt startowy ξ1,ξ2,...,ξn - baza wektorów ortogonalnych, e0 - początkowa długość kroku, εj - wymagana dokładność obliczeń minimum w j-tym kierunku, ε0 - wymagana dokładność obliczeń globalnego minimum, n - liczba zmiennych niezaleŜnych. b) Algorytm obliczeń 1○ dla j = 1, 2, ..., n oblicz λj minimalizujące f(xj - 1 + λj ξj)

oraz współrzędne nowego punktu xj = xj - 1 + λj ξj ; 2○ jeŜeli kryterium zbieŜności nie zostało spełnione, podstaw xj w miejsce x0 i wróć

do (1).

Page 13: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

13 Metody optymalizacji ...

Page 14: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

14 Metody optymalizacji ...

Metoda Daviesa, Swanna i Campeya (DSC) Jest to metoda Gaussa-Seidela uzupełniona o obrót współrzędnych. - występuje zmienna długość kroku, powiększana dwukrotnie przy krokach

pomyślnych, - wyznaczanie minimum w kierunku występuje w oparciu o wzór dla interpolacji

kwadratowej ( w przestrzeni wielowymiarowej połoŜenia x stają się wektorami x) 2 2 2 2 2 2b c a c a b a b c

minb c a c a b a b c

( ) ( ) ( )1

2 ( ) ( ) ( )

- f + - f + - f= .

- f + - f + - f

x x x x x xx

x x x x x x

Algorytm ten ma dobrą szybkość zbieŜności i jest stosowany we wszystkich metodach bezgradientowych. a) informacje wejściowe x0 - punkt startowy ξ1,ξ2,...,ξn - baza wyjściowa utworzona z wektorów ortogonalnych, e - początkowa długość kroku, ε - wymagana dokładność obliczeń globalnego minimum, n - liczba zmiennych niezaleŜnych. b) Algorytm obliczeń 0○ Oblicz F0 = f(x0) 1○ dla j = 1, 2, ..., n oblicz λj minimalizujące f(xj - 1 + λj ξj) oraz zbiór xj = xj - 1 + λj ξj ; 2○ oblicz wektor przesunięć d = x0 - xn , 3○ jeŜeli dla j = 1,2,...,n dj > ej lub ε < dj < ej dokonaj obrotu układu

współrzędnych i powtórz od kroku (1○), przy czym : jeŜeli dk < ε , k ∈ [1, n], podstaw dk = 10 ε, lub: jeŜeli ε < dj < ej , podstaw ej = β dj . Kryterium zbieŜności moŜe być analogiczne jak w metodzie Gaussa-Seidela.

Page 15: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

15 Metody optymalizacji ...

Metoda Powella Metoda Gaussa-Seidela jest bardzo wolno zbieŜna, gdy poziomice funkcji mają kształt wąskich, długich dolin. Poprawę szybkości moŜna uzyskać przez modyfikację kierunku poszukiwań. W metodzie DSC występował obrót układu współrzędnych wraz z bazą ortogonalną. Powell zaproponował, aby do istniejącej bazy wprowadzać na miejsce "starych" kierunków poszukiwań nowe, sprzęŜone do pozostałych. Dwa kierunki ξi oraz ξj są wzajemnie sprzęŜone względem dodatnio określonej macierzy A, jeśli:

ξi A ξj = 0 dla i ≠ j . Kierunki sprzęŜone są liniowo niezaleŜne, co zapewnia jednoznaczność przekształcenia bazy kierunków poszukiwań.

I wariant metody Powella (P1). Procedura iteracyjna ma zbieŜność II rzędu, jeśli pozostaje w mocy następujące twierdzenie : Tw.I. Jeśli ξ1, ξ2,...,ξn są wzajemnie sprzęŜonymi kierunkami poszukiwań względem A, a ponadto stanowią bazę rozpatrywanej przestrzeni, wtedy zaczynając w dowolnie wybranym punkcie x0 moŜna wyznaczyć w skończonej liczbie kroków minimum formy kwadratowej:

F = a + bT x + 1/2 xT A x

Page 16: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

16 Metody optymalizacji ...

Dowód: Dowolny wektor w moŜna wyrazić wzorem:

T

T

1

, gdzie: n

ii i i

i ii

α α=

= =∑ξ Aw

w ξξ Aξ

ZałóŜmy, Ŝe po p iteracjach osiągnęliśmy punkt xp :

0

1

p

p i i

i

λ=

= +∑x x ξ

to wartość λp+1 minimalizującą funkcję f(x) wzdłuŜ kierunku ξp+1 moŜna określić z równania :

( )1 1 1 0 1 1

1

0, a więc podstawiając 0p

T Tp p p i i p p

i

f x x λ λξ ξ A ξ ξ b+ + + + +

=

∇ = + + + = ∑

otrzymujemy

( )T1 0 T

1 1T1 1

, gdyŜ wyraŜenie 0 z załoŜenia.pp p i i

p p

λ λξ Ax b

ξ A ξξ Aξ+

+ +

+ +

+=− =∑

Wynika stąd, Ŝe wartość λp+1 zaleŜy jedynie od połoŜenia punktu startowego x0 , natomiast sposób przejścia nie ma Ŝadnego znaczenia. Po n iteracjach otrzymuje się:

( )T0

0 T1

ni i

ni pi n

ξξ Ax bx x

ξ Aξ +=

+= −∑ ,

ale na podstawie dwóch pierwszych równań widać, Ŝe jest ono równowaŜne równaniu:

xn = x0 − x0 − A-1b = −A-1b , co oznacza, Ŝe osiągnięte zostało szukane ekstremum. Tw.II. JeŜeli x0 jest minimum w kierunku ξ oraz x1 jest równieŜ minimum wzdłuŜ tego samego kierunku, to kierunek (x1 - x0) łączący te dwa minima jest sprzęŜony z kierunkiem ξ. Dowód: Z warunku koniecznego na ekstremum w kierunku mamy :

ξT (Ax1 + b) = 0 oraz ξT (A x0 + b) = 0 ,

ξ

T A (x1 - x0) = 0 (warunek sprzęŜenia).

Page 17: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

17 Metody optymalizacji ...

a) informacje wejściowe x0 - punkt startowy ξ1,ξ2,...,ξn - baza wyjściowa utworzona z wektorów ortogonalnych, e0 - początkowa długość kroku, ε - wymagana dokładność obliczeń globalnego minimum, n - liczba zmiennych niezaleŜnych. b) Algorytm obliczeń : 1○ dla j = 1, 2, ... , n oblicz λj minimalizujące f(xj – 1 + λj ξj) oraz współrzędne nowego punktu

xj = xj - 1 + λj ξj , 2○ wyznacz składowe kierunku sprzęŜonego w myśl wzoru :

01

0

nn

n

x xξ

x x+

−=

3○ przeprowadź minimalizację λ wzdłuŜ kierunku ξn+1 : f(xn + λ ξn+1) oraz wyznacz współrzędne nowego punktu startowego :

xn+1 = xn + λ ξn+1 → x0 .

4○ dokonaj modyfikacji kierunków poszukiwań wg zasady : ξr+1 → ξr dla r = 1, 2,...,n.

JeŜeli nie minimum, powtarzaj od (1○). Kryterium zbie Ŝności 1. wykonywać procedurę tak długo, aŜ przesunięcie punktu będzie mniejsze niŜ

0.1ε0 (PA), 2. obliczyć nowy punkt startowy mnoŜąc współrzędne PA przez 10 ε0 , 3. powtórzyć procedurę znajdując PB 4. znaleźć minimum funkcji na linii PA - PB → PC , 5. zakończyć działanie, jeŜeli │PA - PC│ oraz │ PB - PC│ < 0.1ε0 , jeŜeli nie, to : 6. wyznaczyć nowe ξk równe (PA - PC) / │PA - PC│ i włączyć je do bazy na

miejsce ξ1 , 7. wrócić do pkt 1. Często poprzestaje się na warunku pkt 1.

Page 18: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

18 Metody optymalizacji ...

Przebieg algorytmu Powella (P1).

Page 19: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

19 Metody optymalizacji ...

II wariant metody Powella (P2) W metodzie P1 w układach wielowymiarowych mogą powstawać kierunki liniowo zaleŜne. W metodzie P2 modyfikacja kierunków poszukiwań następuje dopiero po spełnieniu warunku :

max 0,8λ

α∆≥ ,

gdzie: λmax - maks przesunięcie wzdłuŜ jednego z n kierunków poszukiwań ξs , ∆ - wyznacznik macierzy utworzonej z n wektorów ξi , α - całkowite przesunięcie po dokonaniu kolejnego obiegu. JeŜeli warunek ten nie jest spełniony, w nowym obiegu obowiązują poprzednie kierunki. Twierdzenie 3. JeŜeli kierunki ξ1,..., ξn są tak wybrane, Ŝe :

ξi A ξi = 1, i = 1, 2,...,n

to wyznacznik macierzy, której kolumnami są wektory ξi osiąga wartość maksymalną wtedy i tylko wtedy, gdy kierunki te są wzajemnie sprzęŜone. Dowód: JeŜeli dany jest zbiór kierunków wzajemnie sprzęŜonych η1,η2,...,ηn to

z definicji :

ηi A ηj = δij , i = 1, 2, ... , n ; j = 1, 2, ... , n ;

gdzie δij jest deltą Kroneckera :

0 dla

1 dla ij

i j

i jδ

≠= =

ZałóŜmy, Ŝe istnieje transformacja wiąŜąca {ξ} z { η} :

1

n

i ij j

j

Uξ η

=

=∑

to z podanej wcześniej własności otrzymujemy :

1 1 1

n n n

i j ik jl k l ik jk

k l k

U U U Uξ Aξ η Αη

= = =

= =∑∑ ∑

a w szczególności :

1

1, 1,2,..., .n

ik ik

k

U U i n=

= =∑

Page 20: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

20 Metody optymalizacji ...

Oznacza to, Ŝe wyznacznik macierzy U nie przewyŜsza 1 i jest równy jedności tylko wówczas, gdy U jest macierzą ortogonalną. A więc ξi A ξj = δij , co oznacza, Ŝe kierunki ξi są wzajemnie sprzęŜone. Kierunki ξ1 ,..., ξn naleŜy dobierać tak, aby wyznacznik macierzy był jak największy. Wyklucza to liniową zaleŜność pomiędzy nowoutworzonymi kierunkami. Ze starej bazy usuwa się kierunek ξm , wzdłuŜ którego następuje największe przesunięcie punktu. ZałóŜmy, Ŝe xi jest punktem, w którym funkcja f(x) osiąga minimum w kierunku ξi , przy czym:

ξi A ξi = 1 .

Przesunięcie wzdłuŜ tego kierunku moŜna wyrazić :

│xi – 1 - xi│ ξi = αi ξi ,

gdzie xi - 1 jest punktem odpowiadającym minimum wzdłuŜ kierunku ξi - 1 . Po wykonaniu całego obiegu :

xn - x0 = α1 ξ1 + α2 ξ2 + ... + αn ξn , gdzie x0 - punkt startowy, xn - punkt wynikowy po zakończeniu obiegu. Zgodnie z zasadą tworzenia kierunku sprzęŜonego :

xn - x0 = µ ξn + 1 oraz ξn + 1 A ξn + 1 = 1 . Oznacza to, Ŝe zamiana ξi na ξn+1 powoduje pomnoŜenie wyznacznika macierzy kierunków przez αi / µ . Wybierać trzeba takie ξm , dla którego przesunięcie αi jest największe. Zamiana ta ma sens tylko dla αi ≥ µ .

Page 21: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

21 Metody optymalizacji ...

Informacje wejściowe : jak w metodzie P1. Algorytm obliczeń : k = 1 1○ dla j = 1, 2, ... , n oblicz λj

k minimalizując f ( xk

j-1 + λjk ξj

k ) i określ xkj = xk

j-1 + λjk ξj

k ; 2○ określ α

k = │x nk - x0

k│ i ξkn + 1 = ( x n

k - x0k ) / αk

oblicz λ

kn+1 minimalizujące f ( xk

n + λn+1k ξk

n+1 ) i określ zbiór

x0k+1 = xk

n+1 = xkn + λk

n+1 ξkn+1 ;

3○ znajdź λk

s = max λkj dla j = 1, 2, ... , n

a. jeŜeli λks ∆

k / αk ≥ 0,8 → niech ξjk+1 = ξj

k dla j ≠ s, ξsk+1 = ξn+1

k+1

i niech ∆k+1 = λks ∆

k / αk ;

b. jeŜeli λks ∆

k / αk < 0,8 → niech ξjk+1 = ξj

k dla j = 1, 2, ... , n

i ∆k+1 = ∆k . Powtórz czynności od kroku 1○ zwiększając k = k + 1.

Page 22: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

22 Metody optymalizacji ...

Metoda Zangwilla Metoda ta została opracowana ze względu na to, iŜ w pewnych przypadkach metoda Powella (dokładniej jej I wariant) nie posiada zbieŜności II rzędu. NaleŜało wówczas przed jej rozpoczęciem dokonać minimalizacji funkcji wzdłuŜ wszystkich kierunków ortogonalnej bazy początkowej. Dodatkowa modyfikacja polega tutaj na wprowadzeniu dodatkowego zbioru ortogonalnych kierunków poszukiwań, który pozostaje niezmienny w trakcie poszukiwań ekstremum (na wstępie identycznego ze zbiorem wektorów ξ1 .. ξn). Za kaŜdym razem przed wykonaniem pełnego obiegu (takiego jak w metodzie Powella) dokonuje się minimalizacji funkcji wzdłuŜ kierunku ct ze wspomnianego zbioru dla wartości od t = 1 zmieniając ją cyklicznie o 1 co jeden krok. JeŜeli efekt jest pomyślny (czyli przesunięcie αt jest róŜne od zera), to zostaje wykonany jeden obieg procedury Powella, w przeciwnym przypadku zaś zastępuje minimalizacja wzdłuŜ kolejnego kierunku ct+1. Po n kolejnych niepomyślnych próbach wzdłuŜ kierunków c znaleziony punkt jest uznawany za minimum. Ta metoda posiada więc zbieŜność II rzędu. Jako kryterium zbieŜności przyjęto więc podobnie jak w metodzie Gaussa-Seidela uznawanie bieŜącego punktu za minimum, jeśli kolejne przesunięcia wzdłuŜ ortogonalnych kierunków ct dla t = 1 .. n są mniejsze od z góry załoŜonej dokładności.

Oznaczenia:

x0 − punkt startowy ξ1 .. ξn − baza wektorów ortogonalnych (wyjściowa dla pętli Powella) c1 .. cn − baza wektorów ortogonalnych nie ulegająca zmianie w trakcie

poszukiwań e − początkowa długość kroku

Algorytm:

1) Obliczenie λn0 minimalizującego f(xn

0 + λn0ξn

1) i określenie xn+10 = xn

0 + λn0ξn

1 2) Podstawienie t =1 i rozpoczęcie iteracji k dla k = 1 3) Obliczenie α minimalizującego f(xn+1

k-1 + αct) i ustawienie t = t + 1 (jeŜeli t < n) lub t = 1 (jeŜeli t = n). a) jeśli α jest róŜne od zera, to wówczas obliczamy x0

k = xn+1k-1 + αct oraz

przechodzimy do kroku 4 b) jeśli α =0, powtarzamy krok 3, zaś w przypadku n-krotnego powtórzenia uznajemy punkt za minimum. 4) Dla j =1 .. n obliczamy λj

k minimalizujące f(xj-1k + λj

kξj

k) oraz określamy

xjk = xj-1

k + λjkξj

k. Niech: 11

1 11

k kk n nn k k

n n

−+

+ −+

−=

x xξ

x x

5) Obliczenie λn+1k minimalizującego f(xn

k + λn+1kξn+1

k) oraz określamy xn+1

k = xnk + λn+1

kξn+1

k. Modyfikacja kierunków zgodnie z ξjk+1 = ξj+1

k dla j = 1 .. n. 6) Powtarzamy kroki począwszy od 3 podstawiając k = k+1.

Page 23: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

23 Metody optymalizacji ...

Page 24: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

24 Metody optymalizacji ...

Metoda simpleksu Neldera i Meada Metoda ta powstała w 1965 roku i jest często zwana metodą pełzającego simpleksu.

Jest metodą numeryczną słuŜącą do minimalizacji funkcji w wielowymiarowej

przestrzeni. Polega ona na utworzeniu w przestrzeni En+1 n - wymiarowego

simpleksu o n+1 wierzchołkach tak, aby moŜna było go wpisać w powierzchnię

reprezentującą badaną funkcję celu. Jednowymiarowym simpleksem jest odcinek o

dwóch wierzchołkach, simpleksem dwuwymiarowym jest trójkąt i ogólnie

simpleksem n - wymiarowym o n+1 wierzchołkach jest wielościan rozpięty na n+1

wektorach bazowych. Współrzędne punktów simpleksu oznaczono jako xi.

Na początku procedury wylicza się współrzędne punktów wierzchołkowych

simpleksu xi (dla i = 1, .. ,n+1) przy załoŜeniu pewnej odległości między tymi

wierzchołkami. W następnych iteracjach dokonuje się przekształceń simpleksu tak

długo, aŜ odległość pomiędzy jego wierzchołkami w pobliŜu poszukiwanego

ekstremum będzie mniejsza od załoŜonej dokładności obliczeń e. To właśnie zostało

przyjęte jako kryterium zbieŜności dla tej metody.

PoniŜej opisano jeden z wariantów metody Neldera i Meada. 1

1 opracowano na podstawie www.wikipedia.org

Page 25: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

25 Metody optymalizacji ...

Wariant algorytmu Neldera-Meada

• 1. porządkowanie według wartości funkcji w węzłach:

( ) ( ) ( ) ( )low high low 1 high 1 ... ... ,i nf f f +≤ ≤ ≤ ≤ = =x x x x x x x

• 2. odbicie: wyznaczamy nowy punkt

( )r 0 0 highα= + −x x x x ,

przy czym x0 jest środkiem cięŜkości figury, za wyjątkiem węzła xhigh.

Jeśli ( ) ( ) ( )r lowif f f> ≥x x x , to

wyznaczamy nowy simpleks z uŜyciem xr w miejsce xhigh. Idziemy do kroku 1.

• 3. ekspansja: gdy ( ) ( )r lowf f<x x , wtedy

obliczamy ( )e 0 0 highγ= + −x x x x .

Jeśli ( ) ( )e rf f<x x wyznaczamy nowy

simpleks z uŜyciem xe zamiast xhigh oraz idziemy do kroku 1. W innym przypadku wyznaczamy simpleks zawierający xr w miejsce xhigh, a następnie wracamy do kroku 1.

• 4. kontrakcja: gdy ( ) ( )r high, i if f≥ ≠x x x x

wtedy wyznaczamy ( )c high 0 highρ= + −x x x x .

Jeśli ( ) ( )c highf f≤x x wyznaczamy nowy

simpleks zawierający xc w miejsce xhigh, po czym wracamy do kroku 1.

W innym wypadku idziemy do kroku 5.

• 5. zmniejszanie: dla wierzchołków i wyznaczamy nowe współrzędne:

( ) { }low low , gdzie: 2, ... 1i i i nσ= + − ∈ +x x x x

Idziemy do kroku 1. Standardowe wartości to: α = 1, γ = 2, ρ = 1/2, σ = 1/2.

Page 26: M eto dy optym aliza cji - kmg.zut.edu.plkmg.zut.edu.pl/ftp/opt/Metody_bezgradientowe.pdf · Metody optymalizacji ... METODY POSZUKIWANIA EKSTREMUM BEZ OGRANICZE Ń Metoda złotego

2011 K.M.Gawrylczyk

26 Metody optymalizacji ...

Uwaga: α,ρ,γ oraz σ są odpowiednio współczynnikami odbicia, ekspansji, kontrakcji lub zmniejszenia. Ich typowe wartości wynoszą α = 1, γ = 2, ρ = 1/2 oraz σ = 1/2.

W przypadku odbicia, jeśli xhigh jest wierzchołkiem o największej wartości funkcji, moŜemy oczekiwać znalezienia mniejszej wartości po odbiciu tego wierzchołka względem bryły (powierzchni) uformowanej z pozostałych wierzchołków.

Podczas ekspansji, jeśli odbity punkt xr jest nowym minimum spośród wierzchołków, to moŜemy spodziewać się znalezienia interesujących wartości na linii od xo do xr.

Odnośnie kontrakcji : jeśli f(xr) > f(xi) moŜemy się spodziewać, Ŝe lepsza wartość wystąpi wewnątrz simpleksu uformowanego przez wszystkie wierzchołki xi.

Wybór początkowego simpleksu jest istotny, poniewaŜ zbyt mały moŜe powodować długie lokalne poszukiwanie.

Oznaczenia:

e - wymagana dokładność obliczeń,

xhigh - wybrany punkt wierzchołkowy simpleksu spośród n+1 wierzchołków xi, w którym wartość badanej funkcji osiąga maksimum,

xlow - wybrany punkt wierzchołkowy simpleksu spośród n+1 wierzchołków xi, w którym wartość badanej funkcji osiąga minimum,

x0 - środek symetrii simpleksu z wyłączeniem punktu xhigh zdefiniowany jako:

10 1 high,

n

i

in

x

n=

+= =∑

x x x

d - początkowa odległość pomiędzy wierzchołkami wyjściowego simpleksu

α - współczynnik odbicia (α > 0),

γ - współczynnik kontrakcji (0< γ <1),

ρ - współczynnik ekspansji (ρ > 1),

σ - współczynnik zmniejszenia (σ < 1)

n - liczba zmiennych niezaleŜnych.

Wartości współczynników α, ρ, γ, σ dobiera się w sposób eksperymentalny, choć w przykładach rozpatrywanych przez autorów metody jako optymalne przyjęto wartości α = 1, ρ = 0,5, σ = 0,5 oraz γ = 2.