Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Teorie systémů a operační analýza1 Metody nelineárního programování RNDr. Jiří Dvořák, CSc.

Podobné prezentace


Prezentace na téma: "Teorie systémů a operační analýza1 Metody nelineárního programování RNDr. Jiří Dvořák, CSc."— Transkript prezentace:

1 Teorie systémů a operační analýza1 Metody nelineárního programování RNDr. Jiří Dvořák, CSc.

2 TSOA: Metody nelineárního programování2 Členění metod nelineárního programování Metody NLP můžeme členit na:  metody jednorozměrné optimalizace a metody vícerozměrné optimalizace  metody hledání volného extrému a metody hledání vázaného extrému  metody nevyužívající derivace a metody využívající derivace  metody zaručující nalezení nějakého lokálního extrému a metody pro hledání globálního extrému  metody přesné a metody heuristické

3 TSOA: Metody nelineárního programování3 Metody jednorozměrné optimalizace Předpokládejme, že máme najít minimum funkce  ( ) na intervalu [a, b], a že funkce  je na tomto intervalu kvazikonvexní. Pak bod minima můžeme s danou přesností najít postupnou redukcí tohoto intervalu. Metody bez použití derivace: Interval zužujeme na základě porovnání hodnot funkce ve dvou vnitřních bodech (metoda zlatého řezu, Fibonacciho metoda). Metody s použitím derivací: V metodě půlení intervalu se interval redukuje na základě znaménka 1. derivace ve středu intervalu. Newtonova metoda využívá 2. derivaci pro hledání kořene rovnice  ´( ) = 0. Metody založené na aproximaci: V každém iteračním kroku se provádí kvadratická nebo kubická interpolace funkce .

4 TSOA: Metody nelineárního programování4 Vícerozměrné metody hledání volných extrémů Obvykle se postupuje podle tohoto schématu (předpokládáme minimalizační problém): 1.Nalezneme výchozí řešení x 1 a položíme k = 1. 2.Nalezneme vektor d k určující směr dalšího postupu z bodu x k. 3.Přejdeme k dalšímu řešení x k+1 podle vztahu x k+1 = x k + k d k. Koeficient k je často řešením jednorozměrné optimalizační úlohy 4. Postup končí, je-li splněna nějaká podmínka zastavení. V opačném případě položíme k = k + 1 a vrátíme se na krok 2.

5 TSOA: Metody nelineárního programování5 Vícerozměrné metody nevyužívající derivace Metody souřadnicového hledání: V nejjednodušším případě se provádí postupné hledání ve směru souřadných os. To je pomalé a hrozí nebezpečí uváznutí v neoptimálním bodě. Určité zrychlení přináší metoda Hooka a Jeevese vkládáním urychlujících kroků podél směru x k+1 – x k. Rosenbrockova metoda čelí nebezpečí uváznutí tak, že před každou iterací dojde k pootočení souřadné soustavy. Metody polyedrického hledání: Funkce n proměnných se minimalizuje pomocí polyedrů s n + 1 vrcholy (vrchol s největší hodnotou se projektuje přes těžiště ostatních vrcholů, které pak spolu s takto získaným bodem vytvářejí další polyedr). Příkladem je metoda Neldera a Meada. Metody konjugovaných směrů: Pro kvadratickou funkci n proměnných tyto metody teoreticky zaručují dosažení minima nejvýše po n krocích. Příkladem je Powellova metoda.

6 TSOA: Metody nelineárního programování6 Konjugované směry Nechť D je symetrická matice typu (n, n). Vektory s 1, s 2, …, s k se nazývají konjugovanými vzhledem k matici D, jestliže jsou lineárně nezávislé a pro všechna i  j platí Obecně platí, že minimum kvadratické funkce s n proměnnými může být nalezeno nejvýše v n krocích při podmínce, že hledání se provádí postupně podél směrů s 1, s 2, …, s n, konjugovaných vzhledem k Hessově matici této funkce. Protože libovolná funkce může být v okolí bodu minima dostatečně dobře nahrazena její kvadratickou aproximací, je pojem konjugovanosti užitečný i při minimalizaci nekvadratických funkcí.

7 TSOA: Metody nelineárního programování7 Gradientní metody pro volné extrémy V gradientních metodách se směry dalšího postupu určují pomocí gradientů. Tyto metody vlastně pracují s lineární aproximací účelové funkce pomocí vztahu V metodě největšího spádu (Cauchyho metodě) je směr z bodu x k dán výrazem. V blízkosti stacionárního bodu hrozí nebezpečí pomalé konvergence. Tento nedostatek odstraňuje např. metoda Fletchera a Reevese, která směr největšího spádu odklání pomocí směru z předchozí iterace. Tato metoda patří k metodám sdružených (konjugovaných) směrů, které pro kvadratickou funkci n proměnných teoreticky zaručují dosažení minima nejvýše po n krocích.

8 TSOA: Metody nelineárního programování8 Newtonova metoda a kvazinewtonovské metody Newtonova metoda: Tato metoda používá kvadratickou aproximaci účelové funkce pomocí prvých tří členů Taylorova rozvoje. Směr d k dalšího postupu z bodu x k je dán pomocí inverzní Hessovy matice takto: Obecně tato metoda nemusí konvergovat. Rychle konverguje dostatečně blízko minima. Kvazinewtonovské metody: V těchto metodách se inverzní Hessova matice aproximuje pomocí jisté symetrické pozitivně definitní matice D k. K těmto metodám patří metoda Davidona, Fletchera a Powella, která generuje konjugované směry.

9 TSOA: Metody nelineárního programování9 Metody hledání vázaných extrémů Metody založené na transformaci úlohy hledání vázaného extrému na úlohu hledání volného extrému:  penalizační a bariérové metody  metoda využívající Lagrangeovu funkci rozšířenou o kvadratický penalizační člen Linearizační metody:  metody spočívající v řešení posloupnosti úloh LP, aproximujících danou úlohu NLP  metody výběru směru založené na linearizaci Metody řešení speciálních úloh:  metody kvadratického programování  metody separovatelného programování

10 TSOA: Metody nelineárního programování10 Penalizační metody Úloha se řeší pomocí posloupnosti úloh hledání volného extrému funkce F(x) = f(x) +  k P(x) pro rostoucí kladné hodnoty koeficientů  k. P(x) je penalizační funkce, která penalizuje porušení omezujících podmínek. Tato funkce musí být volena tak, že pro přípustná x má nulovou hodnotu a pro nepřípustná x nabývá kladných hodnot. Obvyklý tvar penalizační funkce (p je celé kladné číslo) :

11 TSOA: Metody nelineárního programování11 Bariérové metody Úloha se řeší pomocí posloupnosti úloh hledání volného extrému funkce F(x) = f(x) +  k B(x) pro klesající kladné hodnoty koeficientů  k. B(x) je bariérová funkce zabraňující porušení omezujících podmínek. Jestliže se x blíží k hranici množiny přípustných řešení, bariérová funkce konverguje k nekonečnu. Příklady tvarů bariérové funkce:

12 TSOA: Metody nelineárního programování12 Metody výběru směru založené na linearizaci V těchto metodách se pro výběr vhodného směru dalšího postupu používá linearizace pomocí prvých dvou členů Taylorova rozvoje. Metody přípustných směrů vybírají vhodný směr z těch směrů, které nevybočují z množiny přípustných řešení. Příklady těchto metod jsou Zoutendijkova metoda a metoda Topkise a Veinotta, v nichž se vhodný směr určuje řešením úlohy LP. Metody projekce gradientu (např. Rosenova metoda) získávají vhodný směr projekcí gradientu –  f(x) na aktivní omezení. Metody redukovaného gradientu (např. Wolfeho metoda) určují vhodný směr pomocí gradientu účelové funkce v podprostoru nezávislých proměnných.


Stáhnout ppt "Teorie systémů a operační analýza1 Metody nelineárního programování RNDr. Jiří Dvořák, CSc."

Podobné prezentace


Reklamy Google