250 likes | 434 Views
Gradientní metody. Metoda největšího spádu (volný extrém) Zoutendijkova metoda (vázaný extrém). Metoda největšího spádu. Řešíme úlohu na volný extrém Předpoklad: funkce f je diferencovatelná Největší spád je ve směru gradientu Volíme výchozí bod Určíme směr Určíme délku k-tého kroku
E N D
Gradientní metody Metoda největšího spádu (volný extrém) Zoutendijkova metoda (vázaný extrém)
Metoda největšího spádu • Řešíme úlohu na volný extrém • Předpoklad: funkce f je diferencovatelná • Největší spád je ve směru gradientu • Volíme výchozí bod • Určíme směr • Určíme délku k-tého kroku • Konstruujeme posloupnost bodů
Pro lineární funkci je gradient směrnicí kolmice. Přímka účelové funkce se posouvá ve směru kolmice, tj. ve směru gradientu. Nejkratší cesta?
Gradientní metoda s krátkým krokem • Volíme konstantní délku kroku • Optimum: • Sledujeme konvergenci: • Zvolíme dostatečně malé - optimum:
Příklad 1 • Minimalizujte funkci: • Výchozí bod: • Délka kroku:
Gradientní metoda s dlouhým krokem • Pro každý krok počítáme délku kroku • Pro největší zlepšení hodnoty účelové funkce • Délka kroku – pomocná úloha
Příklad 1 b Stejná funkce i výchozí bod, hledáme takovou délku kroku,aby v bodě x1 dosáhla funkce minima (lokálního). Vyjádříme x1 a dosadíme do původní funkce f. Vzniklá funkce je konvexní funkce 1 proměnné , její bod minima najdeme pomocí první derivace=0.
Optimalizace s podmínkamiÚloha s přípustným směrem • Řešíme úlohu na vázaný extrém (omezující podmínky mohou být nelineární) • Konstruujeme posloupnost bodů • Řešení je přípustné: • Snížení účelové funkce dosáhneme, pokud navíc platí:
Příklad 2 • Je daná úloha: • Výchozí bod: • Vektor s je přípustným směrem, pokud platí: • Ke snížení hodnoty účelové funkce dojde, jestliže: (Řešením může být více než jeden přípustný směr, v němž dojde ke snížení ÚF)
Grafické znázornění X0 výchozí bod X=(3,1) globální minimum
Obecný algoritmus • 1. krok - Výchozí řešení • Za výchozí bod iteračního postupu zvolíme libovolný bod x z množiny M , tj. libovolné přípustné řešení, které označíme x0 , k = 0. • 2. krok - Směr a délka kroku • Řešení (k+1) iteračního kroku vypočítáme pomocí směrového vektoru a délky kroku • Přitom musí platit: xk+1M a f(xk+1) = f(xk + sk) < f(xk ) • 3. krok - Test optimality • Pokud nelze nalézt směrový vektor nebo délku kroku tak, aby byly splněny podmínky 2), je poslední nalezené řešení xk optimálním řešením a výpočet končí. • Jinak je určeno nové řešení xk+1, položíme k = k+1 a přejdeme ke kroku 2 - budeme hledat nový směr a délku kroku.
Zoutendijkova metoda 1. krok Zvolíme přípustné výchozí řešení x0;k=0 Pokud bod leží na některé hraniční přímce (není vnitřním bodem množiny přípustných řešení), přidává se k úloze o optimálním směru podmínka:
Zoutendijkova metoda 2. krok Určení optimálního směru: Směr, který svírá minimální úhel s gradientem a je přípustný. Příslušná úloha je nelineární a nahrazuje se jednodušším lineárním vztahem – lineární normalizace vztahu
Úloha o optimálním směru Vypočítáme gradienty funkcí f a g v bodě xk a vyřešíme pomocnou úlohu lineárního programování o optimálním směru. Jestliže opt. řešení úlohy (OS) má nulovou hodnotu kritéria, pak je algoritmus u konce a řešení xk je optimálním řešením
Úloha o optimálním směru Úloha vede na řešení simplexem. Abychom zajistili nezápornost proměnných, přičteme 1:
Zoutendijkova metoda 3. krok: Určení optima Jestliže opt. řešení úlohy (OS) má nulovou hodnotu kritéria, pak je algoritmus u konce a řešení xk je optimálním řešením, jinak pokračujeme krokem 4.
Zoutendijkova metoda 4. Krok: Určení délky kroku z hlediska přípustnosti nového řešení a z hlediska největší možné celkové změny hodnoty účelové funkce. 5. krok – test optimality II. • Jestliže délka kroku nulová, je řešení xk je optimální • Jinak jsme nalezli nové řešení a přejdeme ke kroku 2.
Příklad 2b 1. krok • Výchozí bod splňuje první 2 omezující podmínky jako rovnice, tj. leží na příslušných hraničních přímkách
Příklad 2b 2. Krok – úloha o OS
Hodnota optimální ÚF úlohy o optimálním směru není nula – řešení není optimální.
X0 =(2,1) výchozí bod X=(3,1) globální minimum X1=(2,5;0,5) Směr s0 Grafické znázornění