1 / 30

Formulace a vlastnosti úloh nelineárního programování

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.

saima
Download Presentation

Formulace a vlastnosti úloh nelineárního programování

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Ú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í

  3. Ú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í

  4. 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í

  5. 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 , x1x2 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í

  6. 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í

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

  8. Ú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í

  9. 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í

  10. 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í

  11. 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í

  12. 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í

  13. 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í

  14. 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í

  15. 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í

  16. 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í

  17. 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í

  18. 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í

  19. 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í

  20. 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í

  21. 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í

  22. Ekvivalentní rozpis Kuhn - Tuckerových podmínek TSOA: Formulace a vlastnosti úloh nelineárního programování

  23. Ú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í

  24. 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í

  25. 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í

  26. 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í

  27. 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í

  28. 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–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í

  29. Ú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í

  30. 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í

More Related