Teoria i metody optymalizacji 1

Transkrypt

Teoria i metody optymalizacji 1
Teoria i metody optymalizacji
Nieliniowe zadanie optymalizacji bez ograniczeń
– numeryczne metody iteracyjne optymalizacji
I. Techniki optymalizacji lokalnej
Ad.I Iteracyjne algorytmy optymalizacji
∧
 
min f (x ) = f  x 
Algorytmy optymalizacji w kierunku
x∈R n
Algorytmy optymalizacji bez ograniczeń
Algorytmy optymalizacji z ograniczeniami
Algorytmy poszukiwania minimum lokalnego zadania programowania
nieliniowego:
• Bez ograniczeń
• Z ograniczeniami
Algorytmy zbieŜne do minimum lokalnego x*, jeŜeli taki punkt istnieje.
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Algorytmy zbieŜne do minimum lokalnego x*, jeŜeli taki punkt istnieje.
Algorytm optymalizacji lokalnej - przemierzanie obszaru rozwiązań
dopuszczalnych w poszukiwaniu ekstremum funkcji celu według
iteracyjnego schematu.
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Schemat algorytmu optymalizacji lokalnej bez ograniczeń
(1) Wybierz punkt startowy xo=xk.
(2) Oblicz wartość funkcji f(xk) oraz jeŜeli jest to wymagane to jej gradient ∇
f(xk)
(3) Zbadaj przyjęte kryterium zbieŜności.
•Jeśli kryterium jest spełnione to koniec algorytmu – uzyskano
rozwiązanie optymalne xk i optymalną wartość funkcji celu f(xk)
•JeŜeli nie, to przejdź do (4)
(4) Wyznacz ustalony kierunek poszukiwań :
Algorytmy gradientowe:
ekspansji i kontrakcji geometrycznej z testem
jednoskośnym,
logarytmiczny złoty podział odcinka ze wstępną ekspansją
i kontrakcją geometryczną,
aproksymacji parabolicznej z testem jednoskośnym,
bisekcji z testem dwuskośnym Goldstein’a,
x k +1 ∈ T ( x k , d k )
x k ⇐ x k +1
k ⇐ k +1
oraz
Algorytmy bez-gradientowe:
złotego podziału,
aproksymacji kwadratowej,
dk
(5) Wykonaj minimalizację kierunkową wybraną metodą:
(6) Podstaw
Do minimalizacji w kierunku moŜna uŜyć kilku algorytmów takich
jak np.:
i przejdź do (2)
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
ZbieŜność ciągu punktów
Iteracja metody poszukiwania minimum w kierunku
Przebieg typowej k-tej iteracji dowolnej metody realizującej
ideę poszukiwania wzdłuŜ kierunku:
1. Określ kierunek poszukiwań
~
3. Podstaw
x
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
hk → 0
d k.
2. Znajdź α minimalizujące f (α ) = f ( x k + αd k )
k +1
{x k }k ∞= 1 jest zbieŜny do
Definicja. Mówimy, Ŝe ciąg punktów
punktu x jeŜeli ciąg róŜnic k-tych przybliŜeń i punktu
optymalnego (punktu minimum) h k = x k − x zbiega do zera, co w
n
przestrzeni R oznacza, Ŝe
ze względu na α .
= x +α d .
k
k
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
1
Teoria i metody optymalizacji
Kryteria zbieŜności:
Algorytmy optymalizacji lokalnej
1. Test teoretyczny
Algorytmy bezgradientowe
Algorytm Hooke’a-Jeeves’a
Algorytm Nelder’-Meade’a
Algorytm Gauss’a-Seidla
Algorytm Powella
Algorytmy gradientowe
Algorytm największego spadku
Zmodyfikowany algorytm Newtona
Algorytm Zangwilla
Algorytm Fletchera-Reeves’a
Algorytm Polaka-Ribiery
Algorytm Fletchera-Powella-Davidona
f k − fˆ ≤ ε1 , x k − xˆ ≤ ε 2
2. PrzybliŜona stacjonarność rozwiązania
⇒ gk ≤ ε
∇f ( x k ) = g k
3. Testy praktyczne:
xik − xik +1 ≤ ε i , ∀i = 1,..., n
lub
f k − f k +1 ≤ ε 1
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Metody podstawowe kierunków poprawy
d ( k ) = e i (k )
1. Metoda Gaussa-Seidla (bezgradientowa).
Metoda Gaussa-Seidla
(bardzo wolna zbieŜność
liniowa)
2. Metoda największego spadku (gradientowa).
( )
3. Metoda Newtona (gradient i hesjan).
d ( k ) = −∇f x ( k )
Metoda największego spadku
(zbieŜność liniowa)
x2
( )
d ( k ) = −H x ( k )
−1
( )
∇f x ( k )
Metoda Newtona (zbieŜna
kwadratowo ale kosztowna i
nie zawsze stabilna)
 ∂ f 
H = hij = 

 ∂xi ∂x j i , j∈{1, 2,..., n}
2
{ }
Ilustracja metody Gaussa-Seidla
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
x1
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Algorytm Gauss’a-Seidela
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Algorytm obliczeń – metoda Gauss’a-Seidla
Istotą metody jest minimalizacja funkcji f(x) wzdłuŜ kolejnych kierunków
ortogonalnej bazy , która utworzona jest z wersorów układu współrzędnych
kartezjańskich.
Algorytm Gaussa-Seidela polega na cyklicznym stosowaniu odwzorowania T
do kierunków . Wykonanie jednego takiego cyklu nazywa się k-tą iterację.
Odwzorowanie T:
{
Najefektywniejsze są tzw. metody quasi-newtonowskie, w których w
kolejnych iteracjach konstruuje się przybliŜenie odwrotności hesjanu.
T ( x, d i ) = xik +1 : f ( xik +1 = min f ( xik + τ i d i ), xik +1 = xik + τ i d i
τ ∈σ
}
(1) Wybierz punkt startowy xo=xk. Oblicz wartość
funkcji f(xk)
(2) Zbadaj kryterium zbieŜności:
xik − xik +1 ≤ ε i , ∀i = 1,..., n
oraz
f k − f k +1 ≤ ε 1
gdzie ε ∈[0, δ ] np. : ε = 10−6
Jeśli tak, to koniec, jeśli nie, to przejdź do (3)
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
2
Teoria i metody optymalizacji
Metoda największego spadku NS
(3) Wyznacz kierunek poszukiwań : są to kolejne kierunki ortogonalnej bazy
d k = ek
Np.
jest to metoda gradientowa, która pozwala szukać minimum róŜniczkowalnej funkcji
nieliniowej f(x).
e1 = [1,0,...,0]
Koncepcja metody wynika z lematu, w którym wykazano, Ŝe jeśli istnieje kierunek d w
przestrzeni R n taki, Ŝe
(4) Wykonaj minimalizację kierunkową wybraną metodą:
∇f (x), d < 0
x k +1 ∈ T ( x k , d k )
to
x k ⇐ x k +1
(5) Podstaw
oraz
k ⇐ k +1 i
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
powtórz
f ( x + τd ) < f ( x )
(1)
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Algorytm obliczeń – metoda NS
(3) Wyznacz kierunek poszukiwań :
d k = −∇f ( x k )
(1) Wybierz punkt startowy xo=xk. Oblicz wartość
funkcji f(xk) oraz jej gradient ∇ f(xk)
(4) Wykonaj minimalizację kierunkową
wybraną metodą:
x k +1 ∈ T ( x k , d k )
(2) Zbadaj kryterium zbieŜności:
∇f ( x k ), ∇f ( x k ) = 0 czyli
∇f ( x k ), ∇f ( x k ) ≤ ε
(5) Podstaw x k ⇐ x k +1
oraz
k ⇐ k +1 i
powtórz
(1)
gdzie ε ∈[0, δ ] np. : ε = 10−6
Jeśli tak, to koniec, jeśli nie, to przejdź do (3)
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Algorytm bisekcji z testem dwuskośnym Golstein’a – algorytm
gradientowy
Do minimalizacji w kierunku zastosowano
gradientowy algorytm bisekcji z testem dwuskośnym
Goldstein’a :
Praktycznie do wyszukania punktów spełniających test dwuskośny
Goldsteina stosuje się następujący algorytm bisekcji:
(1) Oblicz pochodną w kierunku
τR > 0
kroku
taki , Ŝe
1
2
p = ∇f ( x o ) T d
τ = (τ L + τ R ). Oblicz
(2) Wyznacz
oraz współczynnik
f (x0 + τ Rd ) < f (x0)
f ( x 0 + τd ).
(3) Jeśli f ( x + τd ) < f ( x ) + (1 − β ) pτ to podstaw τ L ⇒ τ
i przejdź do kroku (2), w przeciwnym razie przejdź do kroku (4)
0
(4) Jeśli
0
f ( x 0 + τd ) > f ( x 0 ) + βpτ to podstaw
τR ⇒τ
i przejdź do kroku (2), w przeciwnym przypadku koniec.
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
3
Teoria i metody optymalizacji
Działanie algorytmu bisekcji z testem dwuskośnym Goldstein'a
dla funkcji:
f(x1, x2) = (x1)2 + 2(x2)2 – 6x1 + x1x2


punkt początkowy x0 = [0, 0]T
kierunek d = [1, 0]T
2
współczynnik testu β = 5
początkowa wartość współczynnika kroku τR = 9
dokładność dla testu
p = ∇ f ( x o )T d
Pochodna w kierunku
zatem mamy:


∇f ( x) =  ∂f (x) , ∂f (x)  = 2x − 6 + x ,4x + x 
2 2 1
∂x   1
 ∂x
1
2 

0
T
dla x = x = [0, 0]
∇f ( x 0 ) = [− 6,0]
Otrzymujemy wartość pochodnej p:
ε ′ =10−5
1
p = ∇f ( x o ) T d = [− 6 0] ⋅   = −6
0
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
(2) Obliczamy
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
1
2
τ = (τ L + τ R ) oraz f ( x 0 + τd ).
1
2
1
2
τ = (τ R ) = (9) = 4,5


f ( x 0 + τd ) = f (0,0) + (4,5 ,0) = 20,25 - 27 = - 6,75


(3) JeŜeli f ( x 0 + τd ) < f ( x 0 ) + (1 − β ) pτ
to podstaw τ ⇒ τ
i przejdź do kroku (2). W przeciwnym wypadku przejdź do
kroku (4)
Przechodzimy do kroku (3)
sprawdzamy:
L
-6,75 <? 0 + (−6) ⋅ (0,6 ) ⋅ (4,5) = −16,2
NIE
Przechodzimy do kroku (4)
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
f ( x + τd ) > f ( x ) + βpτ
(4) JeŜeli
to podstaw τ R ⇒ τ
i przejdź do kroku (2). W przeciwnym wypadku KONIEC
0
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
0
-6,75 >? 0 + (−6) ⋅ (0,4 ) ⋅ (4,5) = −10,8
TAK
i przechodzimy do kroku (2)
DRUGA ITERACJA
(...)
Po trzeciej iteracji otrzymujemy wynik
sprawdzamy:
Działanie algorytmu najszybszego spadku dla funkcji:
f(x1, x2) = 2(x1)2 + (x2)2 – 2 x1x2
punkt
początkowy x0 = [2, 3]T
współczynnik
początkowa
testu β =
1
4
wartość współczynnika kroku τR = 1
τ = 3,375
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
4
Teoria i metody optymalizacji
Obliczamy
d0 = −∇f (x0) =[−2,−2]T
PoniewaŜ pierwsza stosowana wartość współczynnika kroku
τR = 1 spełnia test dwuskośny Goldsteina, więc:
d 1 = −∇f ( x1) = [2 − 2]T
x1 = x0 + τ0 d0 = [0 1]T
W drugiej iteracji mamy:
Otrzymujemy:
Zatem test dwuskośny ma postać
-6 ≤ 20τ2 - 8τ ≤ -2
Za pomocą algorytmu bisekcji (test dwuskośny Goldsteina) w
trzeciej próbie znajdujemy wartość współczynnika τ1 = 0,25
Stąd
1 1 T
x2 = x1 + τ1 d1 = [
]
2 2
f ( x1 + τd 1 ) = 20τ 2 − 8τ + 1
− 2 
p = ∇f ( x1 ) T d 1 =   ⋅ [ 2 − 2] = −8
 2
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Postępując zgodnie z algorytmem otrzymujemy kolejne
wartości punktów optymalizowanej funkcji.
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Kolejno podane są punkty wyznaczone za pomocą algorytmu
najszybszego spadku dla funkcji:
f(x1, x2) = 2(x1) 2 + (x2) 2 – 2 x1x 2
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Funkcja celu f(x)
x0 = [2 3]
x1 = [0 1]
x2 = [ 1
2
x3 = [ 1
4
x4 = [ 1
4
I
1
]
2
1
]
2
1
] itd....
4
tak kolejno, aŜ do momentu gdy zostanie spełniony warunek
^
^
∇ f ( x ), ∇ f ( x ) < ε = 10 − 3
Tak uzyskano rozwiązanie optymalne xk=[0,0] i f(xk)=0.
M
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Kolejne iteracje metody największego spadku NS
Algorytmy optymalizacji z ograniczeniami
x0
W celu uwzględnienia ograniczeń moŜna postąpić w poniŜszy sposób:
• dokonać transformacji zmiennych decyzyjnych
• dokonać transformacji funkcji celu wprowadzając funkcje kary.
Przykłady transformacji zmiennych dla
typowych ograniczeń:
x1
1.
x3
x2
xi ≥ 0
xi = ui2
xi = exp(ui )
xi = ui
x5
x4
2.
x^
0 ≤ xi ≤ 1
xi = sin 2 ui
xi =
3.
Teoria i metody M
optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
ai ≤ xi ≤ bi
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
exp(ui )
exp(ui ) + exp( −ui )
xi = ai + (bi − ai ) sin 2 (ui )
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
5
Teoria i metody optymalizacji
Algorytmy optymalizacji z ograniczeniami cd.
Algorytmy optymalizacji z ograniczeniami cd.
Funkcja H ma poniŜszą własność:
Transformacja funkcji kryterialnej:
m
P ( x, σ , θ ) = f ( x) + ∑ σ iϕ ( g i ( x) + θ i ) H ( g i ( x ) + θ i )
1 dla g i ( x ) + θ i > 0
H ( gi ( x) + θi ) = 
0 dla g i ( x ) + θ i ≤ 0
i =1
Funkcja kary charakteryzuje się tym, Ŝe w zbiorze rozwiązań dopuszczalnych
X przyjmuje wartość równą zeru lub bliską zeru, a poza tym obszarem
przyjmuje bardzo duŜe wartości.
Gdzie:
σ i > 0, σ = [σ 1 , σ 2 ,...,σ m ]
θ i > 0, θ = [θ1 , θ 2 ,..., θ m ]
φ( )
jest wektorem współczynników kary
jest wektorem przesunięć kary
funkcja kary
1.
Metody zewnętrznej funkcji kary (metoda Couranta, metoda
Schmita i Foxa)
2.
Metody wewnętrznej funkcji kary (metoda Rosenbrocka,
metoda Carolla)
3.
Metody przesuwanej funkcji kary (metoda Powella).
ϕ ( g i ( x) + θ i ) : np. ( g i ( x) + θ i ) 2 lub ( − g i −1 ( x) + θ i )
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
6

Podobne dokumenty