WYKŁAD 8 METODA NEWTONA

Transkrypt

WYKŁAD 8 METODA NEWTONA
WYKŁAD 8
METODA NEWTONA-RAPHSONA
Znajdowanie minimum nieliniowej funkcji celu za pomocą metody Newtona opiera się na
równoważności rozwiązywania układu n równań liniowych
(8.1)
oraz minimalizacji funkcji kwadratowej n zmiennych
(8.2)
macierz [ J ] jest nazywana macierzą Jacobiego i wynosi
(8.3)
Hesjan [ H ] funkcji fQ jest równy
(8.4)
Hesjan jest więc dodatnio określony, jeżeli tylko macierz Jacobiego nie jest osobliwa.
Kierunek d=x0-x łączący punkt startowy x z minimum funkcji fQ(x0) wynosi za (7.12)
(8.5)
Dla funkcji kwadratowej optimum x0 jest po prostu sumą x+d natomiast dla ogólnego
przypadku, kiedy badana funkcja f(x) jest tylko zbliżona do funkcji kwadratowej fQ(x)
otrzymujemy schemat iteracyjny
(8.6)
skalar
oznacza długość kroku, dla którego wyznaczono minimum f(x) wzdłuż d. Wyrażenie
(8.6) opisuje podstawowy algorytm metody Newtona-Raphsona, w którym podstawowy
nakład obliczeń wynika z konieczności wyznaczenia kolejno: gradientu funkcji fQ(xk), jej
hesjanu i odwróceniu go bądź rozwiązaniu układu równań [H(xk)](x0-xk)= -
fQ(xk).
Najczęściej mamy do czynienia z sytuacją, kiedy postać funkcji celu i w konsekwencji jej
pochodne nie są dane w postaci jawnej. Zachodzi więc potrzeba numerycznej estymacji,
zarówno wektora gradientu jak i macierzy hesjanu. Wykonuje się to najczęściej za pomocą
metody aproksymacji parabolicznej w otoczeniu punktu xk
Jej algorytm (dla funkcji jednej zmiennej) jest następujący:
1. Ustawiamy początek lokalnego układu współrzędnych w danym punkcie;
2. Wyznaczamy trzy wartości funkcji w punktach f(- )=m, f(x=0)=o, f(+ )=p;
3. Zakładamy paraboliczny przebieg funkcji f( )= 0+
1
x+
2
x 2, co oznacza
(8.7)
4. Nieznane współczynniki
1,
2
wynoszą
(8.8)
5. Gradient funkcji f(x) jest więc równy
1
a hesjan H(x)=2 2.
W celu uogólnienia na funkcję n zmiennych wprowadza się oznaczenia f(x- i)=mi, f(x+ i)=pi,
gdzie wektor
i
ma wszystkie składniki równe zeru za wyjątkiem i-tego równego .
Rozpatrzmy dowolny przekrój (0, xi, xj) pola funkcji f(x) pokazany na rys.8.1.
sij
pi
qij
xi
xj
mj
rij
mi
pj
tij
Rys.8.1. Schemat przekroju pola funkcji f(x) płaszczyzną (0 xi xj)
Składowe gradientu f(x) w punkcie (xi=0, xj=0) wynoszą
(8.9)
Diagonalne składniki hesjanu są równe
(8.10)
Wyznaczenie pozadiagonalnych składników hesjanu wymaga wprowadzenia dodatkowych
wartości funkcji f(x).
(8.11)
W wyniku otrzymuje się
(8.12)
Przybliżone wyznaczenie w danym punkcie hesjanu minimalizowanej funkcji n zmiennych
wymaga (2n+2n2) obliczeń funkcji w bezpośrednim otoczeniu tego punktu.
W analizie rzeczywistych funkcji celu mamy zazwyczaj do czynienia z dodatnimi ich
wartościami w całej dopuszczalnej przestrzeni optymalizacji, co wynika z ich sensu
fizycznego np. koszt, masa, pobór mocy. Wynika z tego, że diagonalne elementy hesjanu są
również dodatnie, a macierz z nich utworzona jest dodatnio określona
(8.13)
Fakt ten wykorzystuje modyfikacja Levenberga-Marquarta metody Newtona, której algorytm
jest następujący
1. W punkcie xk oblicz gradient f(xk) oraz hesjan [H(xk)];
2. Sprawdź czy hesjan jest dodatnio określony, jeśli tak to = jeśli nie =1
3. Wyznacz kierunek dk spełniający [H(xk)+ diag[H(xk)]]dk= - f(xk);
4. Wykonaj minimalizację (określenie dodatniej liczby ) w kierunku d;
(8.14)
5. Sprawdź kryterium zatrzymania, jeśli nie jest spełnione to powrót do p.1.