J.Stadnicki Optymalizacja- wykład dla Mechaniki, część4: PROGRAMOWANIE NIELINIOWE — metody numeryczne 15
J.Stadnicki Optymalizacja- wykład dla Mechaniki, część4: PROGRAMOWANIE NIELINIOWE — metody numeryczne 15
Algorytm Powella:
1° dla fc = 0 przyjmij tk =0 oraz krok t,
2° oblicz tk 1 =tk -\-t oraz Q {tk ) i Q (tk41),
3° jeżeli Q{tk ' )>Q{tk) dla A; = 0 to odwróć kierunek poszukiwań,
4° jeżeli Q {tk *1 )<Q{tk) to podstaw t — 2t i powtórz krok 2°dlaA; = k-\-l,
jeżeli Q{tL l)>Q{tK) i k>l to podstaw
i — 0,5t i oblicz Q {tk^] —t).
Otrzymamy trzy punkty A.B,C w równych odległościach t od siebie.
ze wzoru
5° przez punkty A, B, C poprowadź parabolę interpolującą i wyznacz jej minimum (4.13).
6° jeżeli
Q(t*)
— --<e, to przyjmij x = x] -\-t ,
w przeciwnym przypadku powtórz obliczenia z punktu B z krokiem o połowę
J.Stadnicki Optymalizacja- wykład dla Mechaniki, część4: PROGRAMOWANIE NIELINIOWE - metody numeryczne 16
ALGORYTMY GRADIENTOWE
Wykorzystują znajomość pierwszej pochodnej funkcji Q [X), która musi być różniczkowalna i jej pochodną powinno dać się wyznaczyć w sposób jawny.
Wykorzystują dwie strategie:
a) szukanie miejsca zerowego pochodnej,
b) interpolowanie funkcji wielomianami wyższego stopnia, np. interpolacja sześcienna.
ALGORYTM SIECZNYCH
1° dla k = i) podstaw xk —d,
xl=b,
2° oblicz Q' (xk) i Q' (xk2 ),
Niech Q{x) jest wypukła klasy
c] i ma minimum wewnątrz przedziału
Algorytm: