Metody nelinernho programovn RNDr Ji Dvok CSc dvorakuai
- Slides: 12
Metody nelineárního programování RNDr. Jiří Dvořák, CSc. dvorak@uai. fme. vutbr. cz Teorie systémů a operační analýza 1
Č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é TSOA: Metody nelineárního programování 2
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. n 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). n 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. n Metody založené na aproximaci: V každém iteračním kroku se provádí kvadratická nebo kubická interpolace funkce . TSOA: Metody nelineárního programování 3
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 dk určující směr dalšího postupu z bodu xk. 3. Přejdeme k dalšímu řešení xk+1 podle vztahu xk+1 = xk + k dk. 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. TSOA: Metody nelineárního programování 4
Vícerozměrné metody nevyužívající derivace n 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 xk+1 – xk. Rosenbrockova metoda čelí nebezpečí uváznutí tak, že před každou iterací dojde k pootočení souřadné soustavy. n 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. n 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. TSOA: Metody nelineárního programování 5
Konjugované směry Nechť D je symetrická matice typu (n, n). Vektory s 1, s 2, … , sk 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, … , sn , 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í. TSOA: Metody nelineárního programování 6
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 xk 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. TSOA: Metody nelineárního programování 7
Newtonova metoda a kvazinewtonovské metody n Newtonova metoda: Tato metoda používá kvadratickou aproximaci účelové funkce pomocí prvých tří členů Taylorova rozvoje. Směr dk dalšího postupu z bodu xk je dán pomocí inverzní Hessovy matice takto: Obecně tato metoda nemusí konvergovat. Rychle konverguje dostatečně blízko minima. n Kvazinewtonovské metody: V těchto metodách se inverzní Hessova matice aproximuje pomocí jisté symetrické pozitivně definitní matice Dk. K těmto metodám patří metoda Davidona, Fletchera a Powella, která generuje konjugované směry. TSOA: Metody nelineárního programování 8
Metody hledání vázaných extrémů n 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 n 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 n Metody řešení speciálních úloh: · metody kvadratického programování · metody separovatelného programování TSOA: Metody nelineárního programování 9
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) : TSOA: Metody nelineárního programování 10
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: TSOA: Metody nelineárního programování 11
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. n 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 Topkise a Veinotta, v nichž se vhodný směr určuje řešením úlohy LP. n Metody projekce gradientu (např. Rosenova metoda) získávají vhodný směr projekcí gradientu – f(x) na aktivní omezení. n Metody redukovaného gradientu (např. Wolfeho metoda) určují vhodný směr pomocí gradientu účelové funkce v podprostoru nezávislých proměnných. TSOA: Metody nelineárního programování 12