ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ Maciej Patan Uniwersytet Zielonogórski
WSTEP Zadanie minimalizacji bez ograniczeń f(ˆx) = min x R nf(x) f : R n R funkcja ograniczona z dołu Algorytm rozwiazywania Rekurencyjny proces obliczeniowy, który na podstawie znajomości bieżacego punktu x k generuje nowy punkt x k+1, w rezultacie czego startujac z punktu x 1 zostaje utworzony ciag punktów {x k } k=1 Uniwersytet Zielonogórski 1
Warunki konieczne i dostateczne dla zadań bez ograniczeń Tw. 1. Niech f : R n R 1 będzie funkcja klasy C 1. Warunkiem koniecznym na to, aby punkt x R n był minimum lokalnym funkcji f jest f(x ) = 0 (1) Jeżeli dodatkowo funkcja f jest wypukła, to warunek (1) jest warunkiem koniecznym i wystarczajacym na to, aby x był minimum globalnym Tw. 2. Niech f : R n R 1 będzie funkcja klasy C 2. Jeżeli punkt x R n jest minimum lokalnym to f(x ) = 0 (2) oraz hesjan 2 f(x ) (3) jest macierza dodatnio półokreślona. Uniwersytet Zielonogórski 2
Tw. 3. Jeżeli w punkcie x R n otrzymujemy f(x ) = 0 (4) oraz hesjan 2 f(x ) jest dodatnio określony, to x jest minimum globalnym Tw. 4. Niech f : R n R 1 będzie funkcja wypukła, lecz niekoniecznie różniczkowalna. Warunkiem koniecznym i wystarczajacym na to, aby punkt x R n był minimum globalnym jest 0 f(x ) (5) Uniwersytet Zielonogórski 3
Podział metod 1. metody losowe (przypadkowe) 2. metody deterministyczne tworzenie kierunków poszukiwań modyfikowana baza bezgradientowe modyfikowany kierunek gradientowe kolejny punkt wzdłuż danego kierunku poszukiwań metody dyskretne (poszukiwań prostych) metody z minimalizacja (kierunków poprawy) Uniwersytet Zielonogórski 4
METODA ZŁOTEGO PODZIAŁU Metoda stosowana dla funkcji unimodalnych W każdej iteracji generuje się dwa punkty x 1 i x 2 leżace wewnatrz rozpatrywanego przedziału [a, b] Na podstawie wartości funkcji f(x 1 ) i f(x 2 ) określa się, czy minimum leży w przedziale [x 1, b], czy też [a, x 2 ] W każdej następnej iteracji wyznaczany podprzedział obejmujacy poszukiwane minimum zmniejsza się o stały czynnik α = 0, 618 Minimum można określić z żadan a dokładnościa Uniwersytet Zielonogórski 5
Algorytm: Krok 0. Określ przedział [a, b] tak, aby obejmował minimum funkcji f(x ) Krok 1. Wyznacz x 1 = a + (1 α)(b a), x 2 = a + α(b a) gdzie α = 0.618 oraz oblicz f(x 1 ) i f(x 2 ). Krok 2. Jeśli f(x 1 ) < f(x 2 ) to idź do kroku 3, w przeciwnym przypadku do kroku 4. Krok 3. Podstaw b := x 2 i x 2 := x 1, oblicz x 1 = a + (1 α)(b a) oraz f(x 1 ) i przejdź do kroku 5. Krok 4. Podstaw a := x 1 i x 1 := x 2, oblicz x 2 = a + α(b a) oraz f(x 2 ) i przejdź do kroku 5. Krok 5. Jeżeli b a < ε (ε -zadana dokładność) to zakończ obliczenia, przyjmujac x = x 1 jeśli f(x 1 ) < f(x 2 ) lub x = x 2 jeśli f(x 1 ) > f(x 2 ); w przeciwnym przypadku przejdź do kroku 2. Uniwersytet Zielonogórski 6
METODA APROKSYMACJI KWADRATOWEJ Zakłada się, że w otoczeniu minimum, funkcję można zaproksymować wielomianem drugiego stopnia ❶ wartość funkcji jest wyliczana w trzech kolejnych punktach i za ich pomoca określany zostaje wielomian interpolacyjny drugiego stopnia ❷ wyznaczenie przedziału zawierajacego minimum, a następnie zastosowanie interpolacji kwadratowej Załóżmy, że znamy wartości funkcji celu f a, f b i f c w kolejnych trzech punktach x a, x b i x c (x a < x b < x c ) Uniwersytet Zielonogórski 7
Wielomian interpolacyjny Lagrange a (x x b )(x x c ) f(x) = f a (x a x b )(x a x c ) + f (x x a )(x x c ) b (x b x a )(x b x c ) + (6) +f c (x x a )(x x b ) (x c x a )(x c x b ) Warunkiem koniecznym istnienia ekstremum jest df(x) dx = 0 x=x m (7) Uniwersytet Zielonogórski 8
Otrzymujemy 2x m (x b + x c ) f a (x a x b )(x a x c ) + f 2x m (x a + x c ) b (x b x a )(x b x c ) + (8) +f c 2x m (x a + x b ) (x c x a )(x c x b ) = 0 (9) gdzie x m = 1 2 (x 2 b x 2 c)f a + (x 2 c x 2 a)f b + (x 2 a x 2 b)f c (x b x c )f a + (x c x a )f b + (x a x b )f c (10) Uniwersytet Zielonogórski 9
Właściwości Znaleziony punkt może okazać się maksimum w kierunku (warunek (7)) Niewłaściwa zamiana punktów wyjściowych może doprowadzić do rozbieżności metody Algorytm jest jednostajnie minimalizujacy znajduje minimum w kierunku z żadan a dokładnościa Jeżeli dana funkcję można z powodzeniem przybliżyć wielomianem drugiego stopnia, metoda jest szybko zbieżna Uniwersytet Zielonogórski 10
METODA NAJWIEKSZEGO SPADKU Algorytm iteracyjny x k+1 = x k + ηd k (11) gdzie d k kierunek poprawy w k-tej iteracji, η krok Kierunek poprawy wyznacza się na podstawie znajomości gradientu funkcji celu d k = f(x k ) (12) Gradient jest kierunkiem największego wzrostu przy gradiencie stosuje się znak minus Do rozpoczęcia procedury potrzebny jest dowolnie wybrany punkt startowy Warunek stopu x k+1 x k < ε (13) Uniwersytet Zielonogórski 11
METODA NEWTONA Metody dobierajace wartość kroku uczenia automatycznie Rozwinięcie w szereg funkcji kosztu f względem x 0 f(x) = f 0 + (x x 0 ) f(x 0 ) + 1 2 (x x 0)H(x x 0 ) +... (14) gdzie H hesjan (macierz drugich pochodnych) Po zróżniczkowaniu otrzymujemy f(x) = f(x 0 ) + H(x x 0 ) +... (15) Pomijajac człony wyższego rzędu i przyrównujac do zera f(x 0 ) + H(x x 0 ) = 0 (16) lub x k+1 = x k H 1 f(x k ) (17) Uniwersytet Zielonogórski 12
Metoda Newtona właściwości metoda kosztowna obliczeniowo potrzeba odwracania hesjanu potrzeba obliczania drugich pochodnych metoda niestabilnie numerycznie w przypadku rozpoczęcia obliczeń daleko od punktu optymalnego algorytm niepraktyczny w przypadku wielowymiarowym metoda stosowana jako punkt odniesienia praktycznie stosuje się techniki przybliżajace macierz hesjanu metody quasi-newtonowskie Uniwersytet Zielonogórski 13
METODY QUASI-NEWTONOWSKIE Metody przybliżajace macierz hesjanu Aktualizacja rozwiazania x k+1 = x k B k f(x k ) (18) gdzie B H 1 Metoda BFGS (Broyden-Fletcher-Goldfarb-Shanno) B k = [ I x k G T ] [ k G T k x B k 1 I G k x T ] k k G T k x k (19) gdzie x k = x k x k 1 i G k = f(x k ) f(x k 1 ) Uniwersytet Zielonogórski 14
Metoda DFP (Davidon-Fletcher-Powell) B k = B k 1 + x k 1 x T k x T k G k B k 1 G k G T k B k 1 G T k B k 1 G k (20) gdzie x k = x k x k 1 i G k = f(x k ) f(x k 1 ) Metody quasi-newtonowskie właściwości Brak operacji odwracania macierzy hesjanu Blisko rozwiazania zbieżność jest dobra Poczatkowo zbieżność jest słaba (na poczatku przybliżenie odwrotności hesjanu jest słabe, polepszane z iteracji an iterację) Uniwersytet Zielonogórski 15
METODA LEVENBERGA-MARQUARDTA Przybliżenie metody Newtona Macierz hesjanu przybliża się za pomoca macierzy jakobianu gdzie J jakobian reguła aktualizacji punktu gdzie µ współczynnik H k = J T k J k (21) x k+1 = x k (J T k J k + µ k I) 1 f(x k ) (22) Uniwersytet Zielonogórski 16
Właściwości Szybka zbieżność do rozwiazania Dla µ dużego metoda staje się metoda największego spadku Dla µ małego metoda staje się metoda Newtona W czasie uczenia µ jest zmniejszany każdorazowo po wykonaniu kroku zmniejszajacego wartość funkcji celu Dzięki zmniejszaniu µ algorytm staje się metoda Newtona blisko rozwiazania µ jest zwiększany tylko w przypadkach kiedy za duża jego wartość powoduje wzrost wartości funkcji celu Uniwersytet Zielonogórski 17
GRADIENT, HESJAN, JAKOBIAN Gradient f(x) = [ f(x) x 1 f(x) x 2... f(x) ] x n (23) Hesjan H = 2 f(x) x 2 1 2 f(x) x 2 x 1. 2 f(x) x n x 1 2 f(x) x 1 x 2... 2 f(x) x 2 2. 2 f(x) x n x 2... 2 f(x) x 1 x n 2 f(x) x 2 x n....... 2 f(x) x 2 n (24) Uniwersytet Zielonogórski 18
Jakobian J = f 1 (x) x 1 f 2 (x) x 1. f n (x) x 1 f 1 (x) x 2... f 2 (x) f 1 (x) x m f 2 (x) x m x 2........ f n (x) x 2... f n (x) x m (25) Uniwersytet Zielonogórski 19