300 likes | 708 Views
Formulace a vlastnosti úloh nelineárního programování. RNDr. Jiří Dvořák, CSc. dvorak @uai.fme.vutbr.cz. Úloha nelineárního programování. Minimalizovat za podmínek Alespoň jedna z funkcí f a g i je nelineární. Množina X předepisuje např. nezápornost některých proměnných.
E N D
Formulace a vlastnosti úloh nelineárního programování RNDr. Jiří Dvořák, CSc. dvorak@uai.fme.vutbr.cz Teorie systémů a operační analýza
Úloha nelineárního programování • Minimalizovat • za podmínek • Alespoň jedna z funkcí f a gi je nelineární. Množina X předepisuje např. nezápornost některých proměnných. • Jiné tvary omezujících podmínek můžeme upravit na výše uvedený tvar takto: nenulové výrazy na pravých stranách převedeme nalevo a nerovnosti typu vynásobíme –1. • Zvláštním případem úlohy NLP je úloha bez omezujících podmínek (úloha hledání volného extrému funkce f ). TSOA: Formulace a vlastnosti úloh nelineárního programování
Úloha NLP v nerovnicovém tvaru • kde je vektorová funkce. • Množina přípustných řešení: • Převod na nerovnicový tvar: • Rovnici gi (x) = 0 nahradíme dvojicí nerovnic • gi (x) 0 • – gi (x) 0 TSOA: Formulace a vlastnosti úloh nelineárního programování
Extrémy funkce • Nechť funkce f(x) je definována na množině M. • Řekneme, že bod xmin M je bodem lokálního minima funkce f(x) právě tehdy, když existuje okolí O(xmin) takové, že pro všechna x O(xmin) M platí • f(xmin) f(x). • Řekneme, že bod xmin M je bodem globálního minima funkce f(x) právě tehdy, když pro všechna x M platí f(xmin) f(x). • Pozn.: V případě úlohy nelineárního programování • min{f(x) | x M} hovoříme také o lokálním (lokálně optimálním) a globálním (globálně optimálním) řešení. TSOA: Formulace a vlastnosti úloh nelineárního programování
Konvexní funkce • Nechť funkce f(x) je definována na konvexní množině K. Řekneme, že f(x) je konvexní funkcí na K právě tehdy, když pro každé dva body x1, x2 K a libovolné t (0;1) platí • Jestliže pro každé dva body x1, x2 K , x1x2 platí ostrá nerovnost, řekneme, že funkce f(x) je na množině Kryze konvexní. • Nechť f(x) je konvexní na konvexní množině K. Je-li • xmin K bodem lokálního minima, pak je také bodem globálního minima. Je-li f(x) ryze konvexní, je toto minimum jediné. TSOA: Formulace a vlastnosti úloh nelineárního programování
Kvazikonvexní a pseudokonvexní funkce • Řekneme, že funkce f(x) je kvazikonvexnífunkcí na konvexní množině K právě tehdy, když pro každé dva body x1, x2 K a libovolné t (0;1) platí • Platí-li nerovnost , • hovoříme o kvazikonkávní funkci. • Řekneme, že diferencovatelná funkce f(x) je na konvexní množině Kpseudokonvexnífunkcí právě tehdy, když pro každé dva body x1, x2 K platí • Konvexní funkce je také kvazikonvexní. Diferencovatelná konvexní funkce je pseudokonvexní. TSOA: Formulace a vlastnosti úloh nelineárního programování
Typy úloh nelineárního programování • Úlohy NLP můžeme klasifikovat podle různých hledisek. • Hledisko existence omezujících podmínek: • úlohy nepodmíněné optimalizace (úlohy bez omezení) • úlohy podmíněné optimalizace (úlohy s omezeními) • Hledisko konvexnosti • úlohy konvexního programování • úlohy nekonvexního programování (tyto úlohy mohou mít kromě globálně optimálního řešení několik lokálně optimálních řešení) • Dále existuje řada speciálních typů úloh NLP (např. úlohy kvadratického, separovatelného a lomeného programování). TSOA: Formulace a vlastnosti úloh nelineárního programování
Úloha konvexního programování • Řekneme, že úloha • min {f(x) | x M} • je úlohou konvexního programování právě tehdy, když M je konvexní množina a funkce f(x) je konvexní na M. • Nechť M = {x X | gi(x) 0, i = 1, 2, … , m}. Množina M je konvexní, jestliže množina X je konvexní a všechny funkce gi(x) jsou konvexní na X. • Vlastnosti úlohy konvexního programování: • každé lokálně optimální řešení je jejím optimálním řešením, • je-li množina optimálních řešení neprázdná, je konvexní, • je-li f(x) ryze konvexní, má úloha nejvýše jedno optimální řešení. TSOA: Formulace a vlastnosti úloh nelineárního programování
Příklady speciálních typů úloh NLP • Kvadratické programování • Účelová funkce je kvadratická a omezující podmínky jsou lineární. • Separovatelné programování • Všechny funkce f, gi jsou separovatelné, tj. dají se vyjádřit ve tvaru součtu funkcí jedné proměnné: • Lomené programování • Účelová funkce má tvar • Speciálním případem je lineárně lomené programování, kde funkce f1, f2 a omezující podmínky jsou lineární. TSOA: Formulace a vlastnosti úloh nelineárního programování
Gradient • Nechť funkce f(x) má v bodě x0 parciální derivace 1. řádu. • Gradientem funkce f(x) v bodě x0 nazýváme vektor • Gradient f(x0) je kolmý na hladinovou nadplochu • f(x) = f(x0) v bodě x0. • Gradient f(x0) ukazuje směr, ve kterém funkce f(x) v okolí bodu x0 nejrychleji roste (směr největšího růstu). Směr největšího spádu ukazuje obrácený gradient –f(x0). TSOA: Formulace a vlastnosti úloh nelineárního programování
Hranice množiny přípustných řešení • Uvažujme množinu M = { x | gi (x) 0 }. • Bod x0 M je hraničním bodem množiny M, jestliže existuje alespoň jedno omezení, které je splněno jako rovnice. • Jestliže gi(x0) = 0, řekneme, že i-té omezení je aktivní vzhledem k bodu x0. Pasivnívzhledem k bodu x0 je takové omezení, pro něž platí gi(x0) < 0. • Nechť gi(x0) = 0. Pak gradient gi(x0) je kolmý k nadploše gi(x0) = 0 a směřuje ven z množiny M. • Nechť bod xmin M lokálního minima funkce f(x) na množině M je hraničním bodem množiny M. Pak gradient f(xmin) směřuje dovnitř množiny M. TSOA: Formulace a vlastnosti úloh nelineárního programování
Hessova matice • Nechť funkce f(x) má v bodě x0 parciální derivace 2. řádu. • Hessovou maticí v bodě x0 nazýváme matici • Jestliže funkce f(x) má spojité druhé parciální derivace, pak Hessova matice je symetrická a Taylorův polynom • 2. stupně v bodě x0 má tvar TSOA: Formulace a vlastnosti úloh nelineárního programování
Hessova matice a konvexnost • Nechť funkce f(x) je definována na konvexní množině M a má zde spojité parciální derivace 2. řádu. • Pak funkce f(x) je • konvexní na množině M, jestliže pro všechna x M je Hessova matice pozitivně semidefinitní. • ryze konvexní na množině M, jestliže pro všechna x M je Hessova matice pozitivně definitní (s případnou výjimkou množiny míry nula, kde je pozitivně semidefinitní). TSOA: Formulace a vlastnosti úloh nelineárního programování
Pozitivní (semi-)definitnost matice • Čtvercová symetrická matice D se nazývá pozitivně semidefinitní, jestliže pro všechna x Rn platí xTD x 0; pozitivně definitní, jestliže pro všechna nenulová x Rn platí xTD x> 0. • Možnosti ověření pozitivní (semi-)definitnosti matice: • pomocí vlastních čísel matice • pomocí minorů matice • pomocí Lagrangeova superdiagonalizačního algoritmu TSOA: Formulace a vlastnosti úloh nelineárního programování
Pozitivní (semi-)definitnost a vlastní čísla • Vlastní čísla čtvercové matice D jsou kořeny rovnice • |D – E| = 0, kde |.| značí determinant a E jednotkovou matici. • Čtvercová symetrická matice D je pozitivně semidefinitní (resp. pozitivně definitní) právě tehdy, když všechna její vlastní čísla jsou nezáporná (resp. kladná). TSOA: Formulace a vlastnosti úloh nelineárního programování
Pozitivní (semi-)definitnost a minory • Čtvercová symetrická matice D je pozitivně semidefinitní (resp. pozitivně definitní) právě tehdy, když všechny její hlavní minory (resp. vedoucí hlavní minory) jsou nezáporné (resp. kladné). • Hlavní minork-tého řádu matice D je determinant submatice, kterou dostaneme z matice D vypuštěním • některých n – k řádků a odpovídajících n – k sloupců. • Vedoucí hlavní minork-tého řádu matice D je determinant submatice, kterou dostaneme z matice D vypuštěním posledních n – k řádků a sloupců. TSOA: Formulace a vlastnosti úloh nelineárního programování
Lagrangeův superdiagonalizační algoritmus • Tento algoritmus slouží k testování pozitivní (semi-)definitnosti matic. Nechť D = (dij) je symetrická čtvercová matice typu (n, n). • 1. Je-li pro některé i {1, … , n} dii < 0, pak matice D není pozitivně semidefinitní. Je-li pro některé i {1, … , n} dii 0, pak matice D není pozitivně definitní. • 2. Je-li pro některé i {1, … , n} dii = 0 a pro některé j {1, … , n} je dij = dji 0, pak matice D není pozitivně semidefinitní. • 3. Je-li n = 1, pak je D pozitivně semidefinitní (pozitivně definitní) právě tehdy, když d11 0 (d11 > 0). TSOA: Formulace a vlastnosti úloh nelineárního programování
4. Pro n 2 postupujeme takto: • Je-li d11 = 0, pak D musí mít tvar • protože jinak by D nebyla pozitivně semidefinitní. • Je-li d11 > 0, pak matici D převedeme Gaussovou eliminační metodou do tvaru • Platí, že D je pozitivně semidefinitní právě tehdy, když G je pozitivně semidefinitní. Je-li navíc d11 > 0, pak D je pozitivně definitní právě tehdy, když G je pozitivně definitní. • 5. Položíme D = G a postup opakujeme od bodu 3 tak dlouho, dokud o pozitivní (semi-)definitnosti nerozhodneme. TSOA: Formulace a vlastnosti úloh nelineárního programování
Podmínky optimality pro úlohy hledání volného extrému • Uvažujme úlohu • Nutná podmínka 1. řádu: Jestliže funkce f má v bodě x0 spojité parciální derivace 1. řádu a má tam lokální minimum, pak f(x0) = 0. • Nutná podmínka 2. řádu: Jestliže funkce f má v bodě x0 spojité parciální derivace 2. řádu a má tam lokální minimum, pak f(x0) = 0 a matice 2f(x0) je pozitivně semidefinitní. • Postačující podmínka 1. řádu: Je-li funkce f v bodě x0 pseudokonvexní (zvláštním případem je funkce konvexní a diferencovatelná) a f(x0) = 0 , pak x0 je bod globálního minima. TSOA: Formulace a vlastnosti úloh nelineárního programování
Lagrangeova funkce a podmínka regularity • Uvažujme úlohu • kde • Lagrangeova funkce pro tuto úlohu je definována takto: • Složky vektoru u se nazývají Lagrangeovy multiplikátory. • Nechť x0 je přípustné řešení. Označme symbolem I(x0) množinu indexů omezení aktivních vzhledem k bodu x0 : • Nechť pro i I(x0) jsou funkce gi diferencovatelné. Řekneme, že v bodě x0 je splněna podmínka regularity, jestliže pro i I(x0) jsou gradienty gi(x0) lineárně nezávislé. TSOA: Formulace a vlastnosti úloh nelineárního programování
Nutné podmínky optimality (Kuhn - Tucker) • Nechť x0 je přípustné řešení, pro něž platí podmínka regularity, a nechť funkce f a gi jsou diferencovatelné v bodě x0 . Je-li x0 bodem lokálního minima, pak existuje vektor u0 takový, že platí • Složky vektoru u0 vyjadřují citlivost lokálního minima účelové funkce na změny pravých stran omezení: • Nechť gi(x) = pi(x) – bi . Pak . TSOA: Formulace a vlastnosti úloh nelineárního programování
Ekvivalentní rozpis Kuhn - Tuckerových podmínek TSOA: Formulace a vlastnosti úloh nelineárního programování
Úloha se smíšenými omezeními a podmínkami nezápornosti • Uvažujme úlohu • kde x Rn, y Rs, • Lagrangeova funkce: TSOA: Formulace a vlastnosti úloh nelineárního programování
Nutné podmínky optimality pro úlohu se smíšenými omezeními • Nechť (x0 , y0) je přípustné řešení, nechť v (x0 , y0) jsou funkce f a gi diferencovatelné a hk spojitě diferencovatelné a nechť gradienty gi(x0, y0) pro i I(x0 , y0) a gradienty hk(x0, y0) pro k = 1, … , r jsou lineárně nezávislé (podmínka regularity). Je-li (x0 , y0) bodem lokálního minima, pak existují vektory u0 a v0 takové, že platí Kuhn-Tuckerovy podmínky TSOA: Formulace a vlastnosti úloh nelineárního programování
Ekvivalentní vyjádření podmínek optimality pro úlohu se smíšenými omezeními TSOA: Formulace a vlastnosti úloh nelineárního programování
Dostatečné podmínky optimality 1. řádu pro úlohu se smíšenými omezeními • Nechť funkce f a gi jsou konvexní a funkce hk jsou lineární (daná úloha je tedy úlohou konvexního programování) a nechť funkce f a gi jsou diferencovatelné v (x0 , y0) . Jestliže k bodu (x0 , y0) existují vektory u0 , v0 tak, že platí Kuhn-Tuckerovy podmínky, pak (x0 , y0) je bodem globálního minima. • Pozn.: Uvedené podmínky mohou být zeslabeny tak, že funkce f, gi a hk jsou diferencovatelné v (x0 , y0), funkce f je v (x0 , y0) pseudokonvexní, funkce gi pro i I(x0 , y0) jsou v (x0 , y0) kvazikonvexní a funkce hk (obecně nelineární) jsou v (x0 , y0) kvazikonvexní pro v0k> 0 a kvazikonkávní pro v0k< 0. TSOA: Formulace a vlastnosti úloh nelineárního programování
Dostatečné podmínky optimality 2. řádu pro úlohu se smíšenými omezeními • Nechť funkce f, gi a hk jsou diferencovatelné 2. řádu a nechť vektory x0 , y0 , u0 a v0 splňují Kuhn-Tuckerovy podmínky. Označme 2L(x, y) Hessovu matici funkce L(x, y, u0 , v0). Je-li 2L(x, y) pozitivně semidefinitní v přípustných bodech (x, y) nějakého okolí bodu • (x0 , y0), je (x0 , y0) bodem lokálního minima. TSOA: Formulace a vlastnosti úloh nelineárního programování
Kuhn-Tuckerovy podmínky pro úlohu LP • Mějme úlohu max {cTx | Ax b, x 0}. Tuto úlohu převedeme na tvar min {–cTx | Ax–b0, x 0}. • KT podmínky mají po úpravě tento tvar: • Podmínky (4), (3), (1), (6) jsou podmínky duálně sdružených úloh. Podmínky (2) a (5) jsou podmínky komplementarity. Lagrangeovy multiplikátory jsou tedy duální proměnné. TSOA: Formulace a vlastnosti úloh nelineárního programování
Úloha kvadratického programování • Úloha kvadratického programování má tvar • min {xTD x+ cTx | Ax= b, x 0} • Předpokládáme, že D je symetrická matice typu (n, n). • Lagrangeova funkce: TSOA: Formulace a vlastnosti úloh nelineárního programování
Kuhn-Tuckerovy podmínky pro úlohu kvadratického programování Položme pro j = 1, … , n (tj. ). Po úpravě dostaneme: Tuto soustavu můžeme řešit upravenou simplexovou metodou. TSOA: Formulace a vlastnosti úloh nelineárního programování