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