Nelineární programování
Z Wikipedie, otevřené encyklopedie
Nelineární programování je odvětví optimalizace. Speciálním typem je konvexní programování, kvadratické programování.
Obsah |
[editovat] Úloha
Úlohou nelineárního programování je následující optimalizační úloha

přičemž:
- f (x) je obecně nelineární funkce
- množina přípustných řešení M je popsána soustavou nerovnic

- kde gi (x) jsou reálné funkce.
[editovat] Metody řešení
Úlohu nelineárního programování dělíme na dva základní typy:
- optimalizace bez vazeb, kdy M = Rn. Používané algoritmy:
- metoda největšího spádu
- metoda sdružených gradientů
- DFP (Davidon-Fletcher-Powell)
- optimalizace s vazbami, kdy M ⊂ Rn. Používané algoritmy:
- metody přípustných směrů: Zoutendijk, Frank a Wolf, Topkis-Veinott,…
- Veinottovy opěrné nadroviny
- penalizační algoritmy
- bariérové algoritmy
Tyto metody jsou většinou iterační a založeny na následujícím algoritmickém schematu: Sestrojíme nejprve výchozí přípustné řešení (tj. bod z množiny M). Potom se postupně pohybujeme k dalším přípustným bodům, ve kterých je hodnota účelové funkce nižší. Takto pokračujeme dokud je patrná změna účelové funkce, pokud ne, tak výsledný bod prohlásíme za kandidáta na optimum. Tyto metody konvergují pouze k lokálnímu minimu. Proto je nutné celý proces opakovat s různými volbami výchozích přípustných řešení. Velkou výhodou proto je úloha tzv. konvexního programování, neboť tam je každé lokální minimum zároveň minimem globálním.
Pro řešení se používají také podmínky optimality.
[editovat] Reference
- Milan Hamala: Nelineárne programovanie, ALFA, Bratislava 1972, 1. vydání.
- Miroslav Maňas: Optimalizační metody, Státní nakladatelství technické literatury, Praha 1979, 1. vydání.
- Miroslav Maňas: Nelineární programování, Státní pedagogické nakladatelství, Praha 1983, 1. vydání

