WYKŁAD 9 METODY ZMIENNEJ METRYKI Kierunki sprzężone. Metoda Newtona Raphsona daje dobre przybliżenie najlepszego kierunku poszukiwań, lecz jest to okupione znacznym kosztem obliczeniowym zwykle postać analityczna hesjanu nie jest znana, a numeryczna estymacja pochodnych każdorazowo grozi wprowadzeniem znacznego błędu obliczeniowego. Istotą tzw. metod zmiennej metryki jest wykorzystanie posiadanych na każdym kroku informacji x k, x k+1, f(x k ), f(x k+1 ) dla coraz lepszego wyznaczania hesjanu bez potrzeby znajdowania jego składników explicite. Poszukiwany jest algorytm generujący iteracyjnie uzupełnienie [ G k ] przybliżające macierz startową [ G 1 ] do odwrotności hesjanu [ H ] -1. W tym celu wprowadzono pojęcie kierunków sprzężonych d i, d j względem pewnej macierzy [ A ] definicyjnie określonych zależnością (9.1) Jak widać pojęcie A-sprzężenia jest uogólnieniem pojęcia ortogonalności podstawiając za [ A ] macierz identycznościową [ I ] otrzymujemy zwykły warunek ortogonalności dwóch kierunków. Użyteczność kierunków sprzężonych w zagadnieniach optymalizacyjnych wynika z następujących twierdzeń przytaczanych tu bez dowodów, które można znaleźć w specjalistycznych monografiach 1 : TWIERDZENIE 1. Dla dowolnego ciągu d 1, d 2,...d n kierunków sprzężonych względem symetrycznej, dodatnio określonej macierzy [A] o rozmiarze n i dowolnego punktu startowego x 0 jest możliwe znalezienie minimum funkcji kwadratowej f Q (9.2) w co najwyżej n krokach iteracyjnych prowadząc minimalizację wzdłuż każdego kierunku d i. Twierdzenie to oznacza, że każda kolejna minimalizacja wzdłuż d i (i=1, 2,...n), znajduje minimum f Q na podprzestrzeni definiowanej przez rosnący zbiór A-ortogonalnych kierunków. 1 Findeisen W., Szymanowski J.,Wierzbicki A.: Teoria i metody obliczeniowe optymalizacji, PWN Warszawa, 1980; Aoki M.: Introduction to optimization techniques, Macmillan, New York, 1977 1
W celu określenia tego zbioru kierunków wykorzystywany jest algorytm Grama- Schmidta, w którym zwykły iloczyn skalarny został zastąpiony przez iloczyn A-sprzężony (9.1). Jako zbiór wyjściowych kierunków D 0 najprościej jest wykorzystać bazę e i przestrzeni euklidesowej, w której zdefiniowano wektor zmiennych decyzyjnych (9.3) Załóżmy, że (9.4) poszukujemy skalara 21, takiego że kierunki d 1 i d 2 powiązane zależnością (9.5) są A-sprzężone. Oznacza to, że zachodzi (9.6) Wynika stąd (9.7) Dla dowolnego kolejnego kierunku d k+1 mamy więc zależność (9.8) gdzie współczynniki kj wynoszą (9.7) Można wykazać, że znalezienie kolejnych minimów wzdłuż kierunków d i czyli przesunięcia x i+1 x i jest równe (9.8) Iloraz iloczynów skalarnych w zależności (9.8) będący odległością do kolejnego minimum w podprzestrzeni wyznacza się zwykle jedną z metod minimalizacji kierunkowej 2
(np. za pomocą aproksymacji parabolicznej). Zauważmy również, że przypadku kiedy punkt startowy jest odległy od minimum, czyli gdy funkcja kwadratowa f Q (x) jest bliska formie liniowej b, x i pozadiagonalne współczynniki hesjanu A nj mogą być pominięte, to algorytm Grama-Schmidta jako kierunki sprzężone generuje ortogonalne kierunki bazy euklidesowej e. Metoda kierunków sprzężonych staje się wtedy identyczna z metodą Gaussa-Seidela. Zaletą metody kierunków sprzężonych w stosunku do metody Newtona jest wyeliminowanie konieczności odwracania hesjanu, tym niemniej sam hesjan musi być obliczany przy tworzeniu zbioru kierunków A-sprzężonych. Warto w tym momencie przedstawić ilustrację geometryczną tego pojęcia. Załóżmy, ze funkcja celu f Q (x) jest dwuwymiarowa a jej kolejne izolinie są dane równaniem (9.9) Zależność (9.6) przedstawia zbiór elips ośrodku w punkcie x=[0, 0]. Wyznaczając kolejno gradient i hesjan tej funkcji mamy (9.10) (9.11) Odwrotność hesjanu [H] -1 wyznacza się elementarnie dla przypadku kiedy sam hesjan ma strukturę diagonalną (9.12) Jeżeli przyjmiemy, że macierz [A] jest równa [H] -1, to forma kwadratowa f Q (x 1, x 2 ) w nowej metryce ma postać (9.13) co dla rozpatrywanej funkcji daje (9.14) 3
Izolinie f Q (x 1, x 2 ) w tej metryce będą okręgami co pokazano na rys.9.1. Należy zwrócić uwagę, że omówiona transformacja dotyczy także dowolnego położenia elips funkcji kwadratowej oraz że zmiana metryki nie zmienia położenia minimum badanej funkcji. f Q E 2 x 2 x 1 f Q [H] -1 Rys.9.1. Izolinie testowej funkcji kwadratowej w różnych metrykach Algorytm kierunków sprzężonych Powella wykorzystujący znajomość hesjanu [H(x 0 )] w punkcie startowym x 0 oraz wykorzystujący jedynie wartości minimalizowanej funkcji jest następujący: 1. Wyznacz Hesjan w punkcie x 0 oraz H-sprzężoną bazę wektorów d 1...d n ; 2. Podstaw k=1 3. Oblicz przemieszczenie k punktów o minimalnej funkcji celu f Q (x) wzdłuż kierunku d k (9.15) 4. Sprawdź kryterium zatrzymania, jeśli nie jest spełnione to idź do p.5 5. Jeżeli k<n to k=k+1 i wróć do p.3, dla k=n x 0 =x n i wróć do p.1. Algorytmy zmiennej metryki Kierunki sprzężone posiadają istotną cechę, wykorzystywaną przy tworzeniu algorytmów optymalizacyjnych, którą opisuje następujące twierdzenie. TWIERDZENIE. Jeżeli punkt x k+1 został uzyskany w procesie minimalizacji funkcji kwadratowej wzdłuż A-sprzężonych kierunków, to gradient funkcji w tym punkcie jest również A-sprzężony z poprzednimi kierunkami (9.16) 4
W metodzie kierunków sprzężonych jest konieczne wyznaczanie hesjanu, najczęściej w sposób numeryczny, po każdych n krokach minimalizacji w kierunku. Procedura ta jest niezbędna, ponieważ funkcja celu f(x) jest przeważnie różna od funkcji kwadratowej i jej hesjan zmienia się w zależności od bieżącego położenia punktu x. Jak pokazano wcześniej, obliczanie składników macierzy drugich pochodnych jest kosztowne, zwłaszcza kiedy funkcja celu nie jest dana w sposób jawny oraz co jest równie istotne, prowadzi do błędów związanych z aproksymacją pochodnej ilorazem różnicowym. Okazuje się, że znając jedynie gradienty funkcji celu w kolejnych minimach wzdłuż kierunków sprzężonych można coraz lepiej aproksymować hesjan funkcji celu. Wykorzystuje się tu iteracyjne uzupełnianie pewnej macierzy [V] j, (j=1, 2,... n) o przyczynki pozyskiwane po każdym kroku optymalizacyjnym. Istnieje cała rodzina takich formuł, nazywanych wzorami zmiennej metryki, które dla kwadratowej funkcji celu zapewniają osiągnięcie minimum w co najwyżej n krokach. Najczęściej stosowane to: Wzór Davidona Fletchera - Powella (9.17) oraz Wzór Broydena Fletchera - Shanno (9.18) Oznaczenia są następujące [ I ] macierz jednostkowa, k = x k+1 x k = k d k - przesunięcie punktu optymalnego, k = f(x k+1 ) - f(x k ) zmiana wektora gradientu funkcji celu w kolejnych punktach optymalnych d g iloczyn zewnętrzny wektorów d, g. 5
Algorytm metody zmiennej metryki jest następujący: 1. Wybierz punkt startowy x 1 oraz startowe przybliżenie odwrotności hesjanu [V] 1. Najczęściej jest to macierz identycznościowa [ I ] lub, jeśli są ku temu przesłanki, inna symetryczna i dodatnio określona. Podstaw k=1. 2. Oblicz d k = - [V k ] f(x k ). 3. Wykonaj minimalizację w kierunku d k znajdując k takie że (9.19) 4. Sprawdź kryterium zatrzymania, jeśli nie jest spełnione wykonaj p.5. 5. Wykonaj podstawienia (9.20) gdzie poprawka [ V] k jest obliczana ze wzoru (9.17) lub (9.18) w zależności od wyboru metody. 6. Podstaw k=k+1 i wróć do p.3. 6