2 Statická optimalizace funkcí jedné proměnné2.2 Numerické metody jednorozměrné optimalizaceNumerické metody jednorozměrné optimalizace lze rozdělit na dvě základní skupiny:
Budeme se zde zabývat numerickými metodami jednorozměrné minimalizace spojitých unimodálních funkcí (jsou to takové funkce, které mají jeden extrém na daném intervalu), tj. řešením optimalizační úlohy
Není-li daná účelová funkce f(x) na intervalu unimodální, pak je třeba přibližně určit polohu bodu globálního minima a interval zmenšit tak, aby na zmenšeném intervalu účelová funkce f(x) byla unimodální. U numerických metod je nutno předem zadat požadovanou přesnost vyznačení optimálního řešení x*, tj. nezáporné číslo ε, pro které N-tá aproximace řešení xN musí vyhovovat nerovnosti
a také požadovanou přesnost vyznačení optimální hodnoty účelové funkce f *, tj. nezáporné číslo δ, pro které hodnota účelové funkce v bodě xN vyhovuje nerovnosti (obr. 2.4)
U některých numerických metod kontrola splnění podmínek (2.7), resp. (2.8) je problematická. Jde především o ty případy, kdy informace o vlastnostech účelové funkce f(x) jsou velmi nedostatečné, proto se rovněž používají vztahy
resp.
2.2.1 Diferenciální metodyBudeme uvažovat hladkou unimodální účelovou funkci f(x) na intervalu mající ostré globální minimum v jediném stacionárním bodě, který je reálným kořenem rovnice
V jednodušších případech lze rovnici (2.11) řešit analyticky. Bude-li tato rovnice transcendentní (nealgebraická), její řešení musíme hledat pomocí numerických iteračních metod. a) Bolzanova metodaNejjednodušší iterační metodou jednorozměrné minimalizace je Bolzanova metoda (metoda půlení intervalu, metoda dichotomie), kterou využijeme pro řešení rovnice (2.11). Bolzanova metoda spočívá v utvoření takové posloupnosti intervalů
pro kterou platí vztahy
kde lk je délka intervalu Ik. Ze vztahů (2.13) v limitě dostaneme
Interval Ik nazýváme k-tým intervalem neurčitosti nebo lokalizace. Bolzanova metoda může být popsána následujícím algoritmem (obr. 2.5):
Po N-tém kroku optimální bod x* leží v intervalu neurčitosti IN a proto lze psát
kde
Nutný počet kroků N při lokalizace optimálního bodu x* s přesností dostaneme úpravou vztahů (2.17) a (2.18)
V algoritmu (2.16) se využívá vlastnosti hladké unimodální účelové funkce f(x), která může být vyjádřena nerovnostmi
Bolzanova metoda je vždy konvergentní, pokud jsou splněny její podmínky (2.20), ale rychlost konvergence je malá. Příklad 2.4Bolzanovou metodou vyřešte optimalizační úlohu z příkladu 2.1 s přesností ε = 0,01 Řešení: Potřebný počet kroků vypočteme ze vztahu Shodně s algoritmem Bolzanovy metody (2.16) lze psát: Jednotlivé kroky řešení:
Výsledek zapíšeme: l7 = b7 - a7 = 0,01563 Přibližné řešení: Přesné řešení: Výsledek řešení ze souboru v Excelu (StatOpt-BolzMet.xls): b) Newtonova metodaMezi základní iterační metody řešení rovnice (2.11) patří Newtonova metoda (Newtonova-Raphsonova metoda, metoda tečen). Tato metoda spočívá v utvoření posloupnosti bodů podle Newtona rekurentního vzorce
Metoda odpovídá sestrojení tečny v bodě funkce f '(x), viz obr. 2.6. Průsečík tečny s osou X, tj. bod xk+1 je (k+1)-ní aproximace kořene rovnice (2.11), a tedy i optimálního bodu x*.
Postačujícími podmínkami konvergence posloupnosti bodů k optimálnímu bodu x*, tj.
jsou:
Za počáteční aproximaci je vhodné volit takový bod x1, který vyhovuje nerovnosti
Při nevhodné volbě počátečního bodu x1 další aproximace může ležet vně intervalu , viz obr. 2.6b. Newtonův rekurentní vzorec (2.21) má ještě jednu velmi názornou interpretaci. V okolí bodu xk účelovou funkci f(x) zastoupíme prvními třemi členy Taylorova rozvoje (kvadratickou parabolou)
Za (k+1)-ní aproximaci optimálního bodu X zvolíme bod xk+1, ve kterém funkce fk(x) nabývá svého ostrého globálního minima. Z nutné podmínky dostaneme (obr. 2.6a)
Obdrželi jsme Newtonův rekurentní vzorec (2.21). Odhad přesnosti N-té aproximace lze provést např. podle vztahu
kde
Konvergence Newtonovy metody je tím rychlejší, čím více se účelová funkce f(x) blíží kvadratické parabole, pro kterou přesné řešení dostaneme po jednom kroku. Newtonova metoda má některé velmi nepříjemné vady. Nejdůležitější jsou:
V praxi je možno použít modifikaci Newtonovy metody spočívající v tom, že když druhá derivace f ''(x) se již mnoho nemění, lze ji ponechat beze změny i pro následující iterace, tj. použijeme vzorce (obr. 2.7) kde B je konstanta rovná posledně vypočtené druhé derivaci f ''(x) . Tato modifikovaná metoda se někdy také nazývá Whittakerova metoda.
U Newtonovy metody se nevypočítává počet kroků iterace a výpočet se ukončí když platí a výsledek se zapíše ve tvaru protože se blížíme k extrému účelové funkce f(x) jen z jedné strany. Příklad 2.5Optimalizační úlohu z příkladu 2.1 vyřešte Newtonovou metodou a modifikovanou Newtonovou metodou, obě pro přesnost εN = 0,001 Řešení: a) Newtonova metoda Nejdříve vypočteme všechny požadované derivace účelové funkce: f '(x) = 3x2 - 1 f ''(x) = 6x f '''(x) = 6 Zkontrolujeme postačující podmínky konvergence: f '(0) f '(1) = - 2 < 0, Postačující podmínky konvergence Newtonovy metody jsou splněny pro polouzavřený interval . Za počáteční aproximaci volíme bod x1 = 1, protože platí f '(1) f '''(1) = 12 > 0. Newtonův rekurentní vzorec má tvar x1 = 1 |x5 - x4| = 0.00003 Přibližné řešení: b) modifikovaná Newtonova metoda Ve vzorci (2.31) za B volíme f ''(1) = 6 a dostaneme: x1 = 1 |x8 - x7| = 0.00058 Přibližné řešení: Přesné řešení: c) Metoda sečenTato metoda vychází z Newtonovy metody a proto pro ni platí stejné postačující podmínky konvergence (2.23) – (2.25). Zastoupíme-li v Newtonově rekurentním vzorci (2.21) směrnici tečny funkce f '(x) v bodě xk [tj. výraz f ''(xk)] směrnicí vhodně volené sečny, např.
pak dostaneme vztah pro metodu sečen
Metoda sečen má několik modifikací. Vztahy (2.32) – (2.34) vyjadřují případ uvedený na obr. 2.8, kdy pevným bodem je bod b a platí pro něj
Pokud to neplatí, bude pevným bodem bod a a vztah (2.34) je třeba upravit na tvar Vhodnou volbou počátečních aproximací lze u této metody zajistit konvergenci u většiny praktických případů. Rychlost konvergence je pomalejší než u Newtonovy metody. Ukončení iteračního výpočtu a zápis řešení optimalizační úlohy je stejný jako u Newtonovy metody. Výsledek zapisujeme ve tvaru kde pro xk+1 platí kde ε je zadaná přesnost. S výhodou se využívá kombinace metody sečen s Newtonovou metodou. Příklad 2.6Metodou sečen je třeba řešit optimalizační úlohu z příkladu 2.1 s přesností εN = 0,001 Řešení: Zvolíme si b = 1 a shodně se vztahem (2.34) pro f '(x) = 3x2 - 1 dostaneme: x1 = 1 |x8 - x7| = 0,00032 Přibližné řešení: Přesné řešení: |