Laboratorium - metoda aproksymacji kwadratowej

Transkrypt

Laboratorium - metoda aproksymacji kwadratowej
Matematyczne Metody Optymalizacji
Metoda Aproksymacji Kwadratowej
Marcin Lefik
Metoda Aproksymacji Kwadratowej (MAK)
Metoda aproksymacji kwadratowej zakłada, że w otoczeniu minimum w kierunku, funkcja
celu może być aproksymowana wielomianem drugiego stopnia.
Jeżeli znane są wartości F a , F m , F b funkcji celu f  x  w punktach a , m i b , przy
czym amb , to funkcja celu może zostać zastąpiona wielomianem interpolacyjnym
Lagrange'a:
 x m⋅ xb
 xa  xb 
 xa⋅ xm
F  x =F a⋅
 F m⋅
F b⋅
 am⋅ab
ma⋅mb
ba⋅bm
Pochodna funkcji F '  x=0 dla punktu x :
2
2
2
2
2
2
1 F ⋅m b F m⋅b a  F b⋅a m 
x= ⋅ a
2
F a⋅ mbF m⋅ba F b⋅am
Wypukłość funkcji celu badana jest przy pomocy drugiej pochodnej wielomianu
interpolacyjnego:
F xx =
F a⋅bmF m⋅baF a⋅ ma 
bm⋅ ab⋅mb
Jeżeli F xx 0 to funkcja jest wypukła i punkt x jest minimum.
Zamiast badać drugą pochodną można badać mianownik wzoru na wartość punktu x :
2
2
2
2
2
2
1 F ⋅m b F m⋅b a  F b⋅a m  L
x= ⋅ a
=
2
F a⋅ mbF m⋅ba F b⋅am
M
Jeżeli M 0 to funkcja jest wypukła i punkt x jest minimum.
Algorytm
Dana jest funkcja f  x  . Poszukiwane jest minimum tej funkcji w przedziale 〈 a , b〉 z
żądaną dokładnością  .
Krok wstępny:
a 1=a
ab
m 1=
2
b1=b
F a= f a1 
F m= f  m1 
F b= f b1 
Krok 1:
Obliczyć potencjalne minimum funkcji aproksymującej:
1
Matematyczne Metody Optymalizacji
Metoda Aproksymacji Kwadratowej
2
2
2
2
Marcin Lefik
2
2
1 F a⋅ mk bk F m⋅b k a k F b⋅a k mk  L
xk = ⋅
=
2 F a⋅ mk bk F m⋅b k a k F b⋅a k mk  M
Jeżeli M 0 przejść do kroku 8.
Jeżeli M 0 podstawić F x = f  x k  przejść do kroku 2.
Krok 2:
Sprawdzić czy punkt x k znajduje się wystarczająco blisko jednego z punktów próbnych:
a , m lub b (kryterium „bliskości” jest żądana dokładność  ), czyli:
Jeżeli ∣x k a k∣ lub ∣x k mk∣ lub ∣x k b k∣ to przejść do kroku 7.
Jeżeli wszystkie powyższe warunki są niespełnione to zbadać czy x k leży wewnątrz
rozpatrywanego odcinka, czyli:
Jeżeli a k x k b k to przejść do kroku 3, w przeciwnym przypadku do kroku 9.
Krok 3
Jeżeli x k m k to przejść do kroku 4, w przeciwnym przypadku do kroku 5.
Krok 4
Jeżeli F x  F m to redukowany
jest przedział 〈 a , m〉 :
a k 1=a k
m k1=x k
b k1=mk
F b=F m
F m=F x
Jeżeli F x  F m to redukowany
jest przedział 〈 x , b〉 :
a k 1=x k
m k1=mk
b k1=b k
F a= F x
Przejść do kroku 6.
Krok 5
Jeżeli F x  F m to redukowany
jest przedział 〈 m , b 〉 :
a k 1=mk
m k1=x k
b k1=b k
F a= F m
F m=F x
Jeżeli F x  F m to redukowany
jest przedział 〈 a , x 〉 :
a k 1=a k
m k1=mk
b k1=x k
F b=F x
Przejść do kroku 6.
2
Matematyczne Metody Optymalizacji
Metoda Aproksymacji Kwadratowej
Marcin Lefik
Krok 6
Test zatrzymania – sprawdzenie długości przedziału po redukcji:
Jeżeli b k1a k1 to przejść do kroku 1. W przeciwnym przypadku przejść do kroku 7.
Krok 7
Jeżeli F x  F m to minimum funkcji f  x  jest punkt x k , w przeciwnym
minimum funkcji f  x  jest punkt mk . KONIEC
przypadku
Krok 8
Koniec optymalizacji z komunikatem błędu: "Optymalizacja nie powiodła się - znaleziono
maksimum lub punkt siodłowy (punkt przegięcia) funkcji aproksymującej"
Krok 9
Koniec optymalizacji z komunikatem błędu: "Optymalizacja nie powiodła się - znalezione
minimum funkcji aproksymującej znajduje się poza badanym przedziałem."
Bibliografia
●
●
Findeisen W., Szymanowski J., Wierzbicki A., Teoria i metody obliczeniowe
optymalizacji, PWN, Warszawa 1977
http://eduoptim2.studio4plus.com/
3