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
Teorie systémů a operační analýza 1
Formulace a vlastnosti úloh nelineárního programování
RNDr. Jiří Dvořák, CSc.
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
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
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í 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
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
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 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
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
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
jixxf
f)(
)( 02
02 x
x
))(()(
)()()()(
002T
021
0T
002
xxxxx
xxxxx
f
ffT
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í 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í 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.
G0
qT11d
G0
0T11d
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
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
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
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
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
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
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
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 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
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
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.