Formulace a vlastnosti loh nelinernho programovn RNDr Ji

  • Slides: 30
Download presentation
Formulace a vlastnosti úloh nelineárního programování RNDr. Jiří Dvořák, CSc. dvorak@uai. fme. vutbr. cz

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

Ú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

Ú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

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)

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ě

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

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

Ú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

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

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

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.

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

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

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

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í)

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 =

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í

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

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

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ěž

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

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,

Ú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)

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

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

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

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

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

Ú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, … ,

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