Formulace a vlastnosti loh nelinernho programovn RNDr Ji






























- Slides: 30
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 1
Ú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í 2
Ú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í 3
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í 4
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 x 1, x 2 K a libovolné t (0; 1) platí Jestliže pro každé dva body x 1, x 2 K , x 1 x 2 platí ostrá nerovnost, řekneme, že funkce f(x) je na množině K ryze 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í 5
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 x 1, x 2 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ě K pseudokonvexní funkcí právě tehdy, když pro každé dva body x 1, x 2 K platí Konvexní funkce je také kvazikonvexní. Diferencovatelná konvexní funkce je pseudokonvexní. TSOA: Formulace a vlastnosti úloh nelineárního programování 6
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í 7
Ú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í 8
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 f 1, f 2 a omezující podmínky jsou lineární. TSOA: Formulace a vlastnosti úloh nelineárního programování 9
Gradient Nechť funkce f(x) má v bodě x 0 parciální derivace 1. řádu. Gradientem funkce f(x) v bodě x 0 nazýváme vektor Gradient f(x 0) je kolmý na hladinovou nadplochu f(x) = f(x 0) v bodě x 0. Gradient f(x 0) ukazuje směr, ve kterém funkce f(x) v okolí bodu x 0 nejrychleji roste (směr největšího růstu). Směr největšího spádu ukazuje obrácený gradient – f(x 0). TSOA: Formulace a vlastnosti úloh nelineárního programování 10
Hranice množiny přípustných řešení Uvažujme množinu M = { x | gi (x) 0 }. Bod x 0 M je hraničním bodem množiny M, jestliže existuje alespoň jedno omezení, které je splněno jako rovnice. Jestliže gi(x 0) = 0, řekneme, že i-té omezení je aktivní vzhledem k bodu x 0. Pasivní vzhledem k bodu x 0 je takové omezení, pro něž platí gi(x 0) < 0. Nechť gi(x 0) = 0. Pak gradient gi(x 0) je kolmý k nadploše gi(x 0) = 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í 11
Hessova matice Nechť funkce f(x) má v bodě x 0 parciální derivace 2. řádu. Hessovou maticí v bodě x 0 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ě x 0 má tvar TSOA: Formulace a vlastnosti úloh nelineárního programování 12
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í 13
Pozitivní (semi-)definitnost matice Čtvercová symetrická matice D se nazývá pozitivně semidefinitní, jestliže pro všechna x Rn platí x. TD x 0; pozitivně definitní, jestliže pro všechna nenulová x Rn platí x. TD x > 0. Možnosti ověření pozitivní (semi-)definitnosti matice: 1. pomocí vlastních čísel matice 2. pomocí minorů matice 3. pomocí Lagrangeova superdiagonalizačního algoritmu TSOA: Formulace a vlastnosti úloh nelineárního programování 14
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í 15
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í minor k-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í minor k-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í 16
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ž d 11 0 (d 11 > 0). TSOA: Formulace a vlastnosti úloh nelineárního programování 17
4. Pro n 2 postupujeme takto: Je-li d 11 = 0, pak D musí mít tvar protože jinak by D nebyla pozitivně semidefinitní. Je-li d 11 > 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 d 11 > 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í 18
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ě x 0 spojité parciální derivace 1. řádu a má tam lokální minimum, pak f(x 0) = 0. Nutná podmínka 2. řádu: Jestliže funkce f má v bodě x 0 spojité parciální derivace 2. řádu a má tam lokální minimum, pak f(x 0) = 0 a matice 2 f(x 0) je pozitivně semidefinitní. Postačující podmínka 1. řádu: Je-li funkce f v bodě x 0 pseudokonvexní (zvláštním případem je funkce konvexní a diferencovatelná) a f(x 0) = 0 , pak x 0 je bod globálního minima. TSOA: Formulace a vlastnosti úloh nelineárního programování 19
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ť x 0 je přípustné řešení. Označme symbolem I(x 0) množinu indexů omezení aktivních vzhledem k bodu x 0 : Nechť pro i I(x 0) jsou funkce gi diferencovatelné. Řekneme, že v bodě x 0 je splněna podmínka regularity, jestliže pro i I(x 0) jsou gradienty gi(x 0) lineárně nezávislé. TSOA: Formulace a vlastnosti úloh nelineárního programování 20
Nutné podmínky optimality (Kuhn - Tucker) Nechť x 0 je přípustné řešení, pro něž platí podmínka regularity, a nechť funkce f a gi jsou diferencovatelné v bodě x 0. Je-li x 0 bodem lokálního minima, pak existuje vektor u 0 takový, že platí Složky vektoru u 0 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í . 21
Ekvivalentní rozpis Kuhn - Tuckerových podmínek TSOA: Formulace a vlastnosti úloh nelineárního programování 22
Ú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í 23
Nutné podmínky optimality pro úlohu se smíšenými omezeními Nechť (x 0 , y 0) je přípustné řešení, nechť v (x 0 , y 0) jsou funkce f a gi diferencovatelné a hk spojitě diferencovatelné a nechť gradienty gi(x 0, y 0) pro i I(x 0 , y 0) a gradienty hk(x 0, y 0) pro k = 1, … , r jsou lineárně nezávislé (podmínka regularity). Je-li (x 0 , y 0) bodem lokálního minima, pak existují vektory u 0 a v 0 takové, že platí Kuhn-Tuckerovy podmínky TSOA: Formulace a vlastnosti úloh nelineárního programování 24
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í 25
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 (x 0 , y 0). Jestliže k bodu (x 0 , y 0) existují vektory u 0 , v 0 tak, že platí Kuhn-Tuckerovy podmínky, pak (x 0 , y 0) je bodem globálního minima. Pozn. : Uvedené podmínky mohou být zeslabeny tak, že funkce f, gi a hk jsou diferencovatelné v (x 0 , y 0), funkce f je v (x 0 , y 0) pseudokonvexní, funkce gi pro i I(x 0 , y 0) jsou v (x 0 , y 0) kvazikonvexní a funkce hk (obecně nelineární) jsou v (x 0 , y 0) kvazikonvexní pro v 0 k > 0 a kvazikonkávní pro v 0 k < 0. TSOA: Formulace a vlastnosti úloh nelineárního programování 26
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 x 0 , y 0 , u 0 a v 0 splňují Kuhn-Tuckerovy podmínky. Označme 2 L(x, y) Hessovu matici funkce L(x, y, u 0 , v 0). Je-li 2 L(x, y) pozitivně semidefinitní v přípustných bodech (x, y) nějakého okolí bodu (x 0 , y 0), je (x 0 , y 0) bodem lokálního minima. TSOA: Formulace a vlastnosti úloh nelineárního programování 27
Kuhn-Tuckerovy podmínky pro úlohu LP Mějme úlohu max {c. Tx | Ax b, x 0}. Tuto úlohu převedeme na tvar min {– c. Tx | Ax – b 0, 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í 28
Úloha kvadratického programování má tvar min {x. TD x + c. Tx | 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í 29
Kuhn-Tuckerovy podmínky pro úlohu kvadratického programování Položme dostaneme: pro j = 1, … , n (tj. ). Po úpravě Tuto soustavu můžeme řešit upravenou simplexovou metodou. TSOA: Formulace a vlastnosti úloh nelineárního programování 30