30
Teorie systémů a operační analýza 1 Formulace a vlastnosti úloh nelineárního programování RNDr. Jiří Dvořák, CSc. [email protected]

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

  • Upload
    saima

  • View
    143

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

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

Teorie systémů a operační analýza 1

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

RNDr. Jiří Dvořák, CSc.

[email protected]

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

TSOA: Formulace a vlastnosti úloh nelineárního programování 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 ).

nn

ni

Xxxx

mixxxg

R

T21

21

),...,,(

,,2,1,0),...,,(

x

),...,,( 21 nxxxf

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

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

Xf x0xgx ,)()(min

0xgx )(XM

T21 )(,...),(),()( xxxxg mggg

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

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

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

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

Konvexní funkceNechť 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ě 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é.

)()1()()1( 2121 xxxx ftftttf

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

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ě K pseudokonvexní funkcí právě tehdy, když pro každé dva body x1, x2 K platí

Konvexní funkce je také kvazikonvexní. Diferencovatelná konvexní funkce je pseudokonvexní.

)(),(max)1( 2121 xxxx ffttf

)()(0)()( 1212T

1 xxxxx fff

)(),(min)1( 2121 xxxx ffttf

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

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

Page 8: Formulace a vlastnosti úloh nelineární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í.

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

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

Příklady speciálních typů úloh NLPKvadratické 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í.

n

jjj xff

1

)()(x

n

jjiji xgg

1

)()(x

)()(

)(2

1

xx

xff

f

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

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

GradientNechť 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).

T0

2

0

1

00

)(,...,

)(,

)()(

nx

fx

fx

ff

xxxx

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

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.

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

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

jixxf

f)(

)( 02

02 x

x

))(()(

)()()()(

002T

021

0T

002

xxxxx

xxxxx

f

ffT

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

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

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

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

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

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á).

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

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

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

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

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

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.

G0

qT11d

G0

0T11d

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

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.

nf Rxx)(min

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

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

Lagrangeova funkce a podmínka regularityUvaž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é.

0xgx )()(min f

T21 )(,...),(),()( xxxxg mggg

m

iii guffL

1

T )()()()(),( xxxguxux

0)()( 00 xx igiI

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

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

iu

bf

00)(

x

0ux0ux ),(),( 0000 LL ux

0uuxu 000T0 0),(Lu

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

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

Ekvivalentní rozpis Kuhn - Tuckerových podmínek

mi

u

guu

Lu

gu

L

i

iii

i

ii

,,1

0

0)(),(

0)(),(

xux

xux

njx

gu

xf

xL m

i j

ii

jj,,10

)()(),(

1

xxux

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

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:

0x0yxh0yxgyx ,),(,),(),(min f

T1 ),(,...),,(),( yxyxyxg mgg

T1 ),(,...),,(),( yxyxyxh rhh

r

kkk

m

iii hvguf

fL

11

TT

),(),(),(

),(),(),(),,,(

yxyxyx

yxhvyxguyxvuyx

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

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

0vuyx

0x

vuyxx

0vuyx

),,,(

0),,,(

),,,(

0000

0

0000T0

0000

L

L

L

y

x

x

0vuyx

0u

vuyxu

0vuyx

),,,(

0),,,(

),,,(

0000

0

0000T0

0000

L

L

L

v

u

u

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

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

nj

x

xL

x

xL

j

jj

j

,,1

0

0

0

slyL

l,,10

mi

u

uL

u

uL

i

ii

i

,,1

0

0

0

rkvL

k,,10

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

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.

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

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.

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

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

Kuhn-Tuckerovy podmínky pro úlohu LPMě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é.

m

i

n

jijiji

n

jjj bxauxc – – , L

1 11

TT )()( bAxuxcux

)1(1

j

m

iiij cua

)2(01

j

m

iiijj cuax

)3(0jx

)4(1

i

n

jjij bxa

)5(01

i

n

jjiji bxau

)6(0iu

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

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:

m

i

n

jijiji

n

jjj

m

i

n

jjiij bxauxcxxd

– , L

1 111 1

TTT )()( bAxuxcxDxux

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

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

Kuhn-Tuckerovy podmínky pro úlohu kvadratického programování

0uAcDx T2Lx

0bAx Lu

njxL

xj

j ,,10

0x

Položme pro j = 1, … , n (tj. ). Po úpravě

dostaneme: j

j xL

v Lxv

njvx jj ,...,1,0

,

2 T

0v0x

bAx

cvuADx

Tuto soustavu můžeme řešit upravenou simplexovou metodou.