You are on page 1of 19

LOKÁLIS MAXIMUM ELV

Ismétlés: min {F ( x) : x ∈ A} = F ( x0 ) , ahol A konvex és Lokális optimum:


o
A ≠ ∅ . A lokális minimum szükséges feltétele: min F ( x, u ) = F ( x0 , u0 )
Q ∩V

F ′( x0 )( x − x0 ) ≥ 0, ∀x ∈ A A lokális optimum szükséges feltétele:


Létezik λ0 ∈ R1 , λ0 ≥ 0 és ψ : [0, T ] → R n abszolút folyto-
Tétel (lokális optimum I.):
nos függvény, hogy a λ0 szám és a ψ (⋅) függvény közül
( x, u ) ∈ E = C n [0, T ] × Lr∞ [0, T ] , ahol T > 0 fix
nem mindkettő nulla, továbbá teljesül a következő differen-
φ : R n × R r × [0, T ] → R1 , ciálegyenlet és egyenlőtlenség:
f : R n × R r × [0, T ] → R n
dψ (t )
F : E → R1 = − f 'Tx ( x0 (t ), u0 (t ), t )ψ (t ) + λ0φ x′ ( x0 (t ), u0 (t ), t )
dt
V nyílt környezete ( x0 , u0 ) ∈ E -nek
Feladat: < − f u′T ( x0 (t ), u0 (t ), t )ψ (t ) + λ0φu′ ( x0 (t ), u0 (t ), t ), u − u0 (t ) >
T ≥ 0 , minden u ∈ M és m.m t ∈ [0, T ] esetén.
F ( x, u ) := ∫ φ ( x (t ), u (t ), t ) dt → min
0 Hamilton-függvény:
Korlátozás:
dx H ( x, u,ψ , t ) :=< f ( x, u , t ),ψ > −λ 0φ ( x, u, t )
Q = {( x, u ) : = f ( x(t ), u (t ), t )
dt ∂H
x(0) = a, x(T ) = b ψ& = − .
∂x
u (t ) ∈ M , ahol M konvex és M o ≠ ∅}

Lantos: Dinamikus optimalizálás 1


Következmény: Lokális optimum:
min F ( x, u ) = F ( x0 , u0 )
A tétel állítása átfogalmazható a következő alakra: Q ∩V

< − H u′ ( x0 (t ), u0 (t ),ψ (t ), t ), u − u0 (t ) > ≥ 0 A lokális optimum szükséges feltétele:


minden u ∈ M és m.m. t ∈ [0, T ] esetén. De ez szükséges Létezik λ0 ∈ R1 , λ0 ≥ 0 és ψ : [0, T ] → R n abszolút folyto-
feltétele annak, hogy u 0 (t ) ∈ M és V környezete u 0 (t ) ese- nos függvény, hogy a λ0 szám és a ψ (⋅) függvény közül
tén nem mindkettő nulla, továbbá teljesül a következő differen-
ciálegyenlet és egyenlőtlenség:
min {− H ( x0 (t ), u,ψ (t ), t )} = − H ( x0 (t ), u0 (t ),ψ (t ), t )
u∈M ∩V
dψ (t )
= − f x′T ( x0 (t ), u0 (t ), t )ψ (t ) + λ0φ x′ ( x0 (t ), u0 (t ), t )
teljesüljön, azaz a H ( x 0 (t ), u,ψ (t ), t ) függvény m.m. dt
t ∈ [0, T ] esetén az u = u 0 (t ) pontban elégíti ki az M hal- ψ (T ) = −λ0ϕ ′( x(T ))
mazon az u szerinti lokális maximum szükséges feltételét.
Innen a "lokális maximum elv" elnevezés. < − f u′T ( x0 (t ), u0 (t ), t )ψ (t ) + λ0φu′ ( x0 (t ), u0 (t ), t ), u − u0 (t ) >
Tétel (lokális optimum II.): ≥ 0 , minden u ∈ M és m.m t ∈ [0, T ] esetén.
Feladat: A feltételek a Hamilton-függvénnyel a lokális maximum elv
T
F ( x, u ) := ∫ φ ( x(t ), u (t ), t ) dt + ϕ ( x(T )) → min alakjára hozhatók. Különbség azonban az előző feladathoz
0 képest, hogy ψ (T ) -re van előírt feltétel, míg az előző fel-
Korlátozás: adatban ilyen nem volt. Azonban ψ (0) most sem ismert,
Q = {( x, u ) :
dx
= f ( x(t ), u (t ), t ), x(0) = a ami a problémát bonyolulttá teszi.
dt
u (t ) ∈ M , ahol M konvex és M o ≠ ∅}

Lantos: Dinamikus optimalizálás 2


Következmény:

1) Ha M = R r (nincs korlátozás u (t ) -re), akkor H u′ = f 'Tu ( x0 (t ), u0 (t ), t )ψ (t ) − λ0φu′ ( x0 (t ), u0 (t ), t ) ≡ 0 .

2) Ha λ0 > 0 , akkor mindkét oldalon oszthatunk ( −λ 0 ) -lal és bevezethetjük a ψˆ := ψ /( −λ 0 ) és Hˆ :=< f ,ψˆ > +φ jelölést.
dψˆ ∂Hˆ
Ezzel a jelöléssel Hˆ u′ ( x0 (t ), u0 (t ),ψˆ (t ), t ) ≡ 0 és =− m.m., ahol ψˆ (T ) = ϕ ′( x 0 (T )) .
dt ∂x
Folytonosidejű LQ irányítási feladat:
Legyen ( x, u ) ∈ E = C n [0, T ] × Lr∞ [0, T ] , T > 0 fix, a minimalizálandó F ( x, u ) egy kvadratikus költségfüggvény és a rend-
szer folytonosidejű időben változó lineáris (LTV) rendszer:
1T 1
F ( x, u ) = ∫ [< Q(t ) x(t ), x(t ) > + < R (t )u (t ), u (t ) >] dt + < Q(T ) x(T ), x(T ) > , ahol Q(t ) ≥ 0, R(t ) > 0 ,
20 2
dx
= A(t ) x(t ) + B(t )u (t ), x(0) = x 0 .
dt
Alkalmazzuk a lokális maximum elvet az új formában és a diszkrétidejű esethez való hasonlóság kidomborítása céljából a
λ (t ) := ψˆ (t ) jelölés mellett:
1
Hˆ =< Ax + Bu, λ > + (< Qx, x > + < Ru, u >) ,
2
λ& (t ) = − Hˆ ′x = − A (t )λ (t ) − Q (t ) x(t ), λ (T ) = Q(T ) x(T ) ,
T

Hˆ u′ = BT (t )λ (t ) + R(t )u (t ) = 0 ⇒ u (t ) = − R −1 (t ) BT (t )λ (t ) .
Visszaírva az optimális irányítás alakját az állapotegyenletbe, a következő vegyes kezdeti és végérték problémát kapjuk:

Lantos: Dinamikus optimalizálás 3


 x&  =  A − BR −1 B T   x , x(0) = x , λ (T ) = Q (T ) x(T ) .
 λ&    
  − Q − AT   λ  0

Keressük a megoldást λ (t ) = P(t ) x(t ) alakban:

λ& = P& x + Px& = P& x + P( Ax − BR −1 B T Px) = −Qx − AT Px,


akkor a ( P -ben kvadratikus) folytonosidejű Riccati-differenciálegyenlethez jutunk:
P& (t ) + P(t ) A(t ) + AT (t ) P (t ) − P(t ) B(t ) R −1 (t ) BT (t ) P(t ) + Q(t ) = 0,
P(T ) = Q (T ),
amelynek P (t ) ≥ 0 pozitív megoldását keressük. Az optimális LQ irányítás állapot-visszacsatolás, amely P(t ) ismeretében:

u (t ) = − K (t ) x(t ) , ahol K (t ) = R −1 (t ) B T (t ) P(t ) .


Ha T = ∞ és az optimalizálási kritérium és a rendszer konstans (LTI), akkor az optimális irányítás az u = − K ∞ x konstans
állapotvisszacsatolás, ahol K ∞ = R −1 B T P∞ és P∞ megoldása a következő folytonosidejű algebrai Riccati-egyenletnek:

P∞ A + AT P∞ − P∞ BR −1B T P∞ + Q = 0 .
Az algebrai Riccati-egyenlet megoldására több szoftver eszköz (pl. MATLAB CST-ben lqr,lqr2) ismeretes.
Az LQ optimális irányítás mellett:
i) F ( x, u ) optimalizálási kritérium véges, ha ( A, B) irányítható (stabilizálható).
ii) Legyen Q = C T C (például C := Q ), akkor a zárt rendszer stabilis, ha ( A, C ) megfigyelhető (detektálható).

Lantos: Dinamikus optimalizálás 4


Tétel (Pontrjagin-féle maximum elv): Következmény (bang-bang elv):
Feladat:
T Feladat és korlátozás:
F ( x, u ) := ∫ φ ( x(t ), u (t )) dt → min , T > 0 szabad T
F ( x, u ) = ∫0 φ ( x (t )) dt , T > 0 szabad
0
Korlátozás: x& = g ( x ) + Bu, x (0) = a, x (T ) = b ,
dx M = {u ∈ R r : u i ≤ 1, i = 1, K , r} .
Q = {( x, u ) : = f ( x (t ), u (t )), x(0) = a, x (T ) = b
dt
Legyen λ0 > 0 , akkor a Hamilton-függvényt és a társ-
u (t ) ∈ M , ahol M ≠ ∅ tetszőleges}
differenciálegyenletet végigoszthatjuk λ0 -lal, és elvégez-
Globális optimum: hető a H := H / λ 0 és a ψ := ψ / λ0 helyettesítés. A
min F ( x, u ) = F ( x0 , u0 ) , T > 0 szabad Hamilton-függvénynek ezután a normalizálás után is ma-
Q
ximuma lesz az optimális irányítás esetén. A vizsgált rend-
A globális optimum szükséges feltétele: szer esetén a normalizálás után
Létezik λ0 ∈ R1 , λ0 ≥ 0 és ψ : [0, T ] → R n abszolút foly- H ( x, u,ψ ) =< g ( x ) + Bu,ψ > −φ ( x) ,
tonos függvény, hogy a λ0 szám és a ψ (⋅) függvény közül
ψ& (t ) = − g ′xT ( x0 (t ))ψ (t ) + φ x′ ( x0 (t )) ,
nem mindkettő nulla, továbbá teljesül a következő diffe-
renciálegyenlet és egyenlőtlenség: és a Pontrjagin-féle maximum elv szerint
dψ (t ) max [< g ( x0 (t )) + Bu,ψ (t ) > −φ ( x0 (t ))] =
= − f 'Tx ( x0 (t ), u0 (t ))ψ (t ) + λ0φ x′ ( x0 (t ), u0 (t )) u ∈M
dt
=< g ( x0 (t )) + Bu0 (t ),ψ (t ) > −φ ( x0 (t ))
H ( x, u,ψ (t )) :=< f ( x, u ),ψ > −λ0φ ( x, u )
Definiáljuk az előjelfüggvényt vektor argumentum esetén:
max H ( x0 (t ), u,ψ (t )) = H ( x0 (t ), u0 (t ),ψ (t )) = 0
u ∈M sign( x) := ( sign( x1 ),K, sign( xn ))T ,

Lantos: Dinamikus optimalizálás 5


akkor a Pontrjagin-féle maximum elvből következik: Megjegyzés:

max < u , BTψ (t ) >=< u 0 (t ), B Tψ (t ) ⇒ u 0 (t ) := sign ( B Tψ (t )), i) Ha a kezdeti és/vagy végállapotnak az S ( x) felületen
u i ≤1
kell lennie, akkor ψ -nek ebben az időpontban merőle-
gesnek kell lennie a felület érintősíkjára
Ezért az optimális irányítás u 0i (t ) komponensei minden (transzverzalitási feltétel).
időpontban csak ± 1 értéket vehetnek fel, tehát a negatív
és a pozitív szélsőértékük között választhatnak (bang- ii) Speciálisan, ha hiányzik a korlátozás a kezdeti és/vagy
bang). Hogy mikor melyiket kell választani, az B Tψ (t ) -től végállapotban, akkor ψ = 0 ebben az időpontban (azaz
merőleges a teljes térre).
függ, tehát lényegében ψ (t ) aktuális értékétől.

Mivel x 0 (t ) is ismeretlen, és ψ (t ) meghatározásához


x 0 (t ) is szükséges, amely viszont u 0 (t ) -től függ, ezért a
bang-bang elv ugyan egyszerűsíti a problémát, de a meg-
maradó
x& 0 (t ) = g ( x0 (t )) + B sign ( B Tψ (t ))
ψ& (t ) = − g ′xT ( x0 (t ))ψ (t ) + φ x ( x0 (t ))
csatolt probléma, beleértve az általában kevert vagy hi-
ányzó kezdeti és végérték feltételeket is, még ebben a vi-
szonylag egyszerűbb esetben is numerikus szempontból
kellően bonyolult marad.

Lineáris rendszer esetén kapcsolási görbék meghatározá-


sával igyekszenek egyszerűsíteni a problémát.

Lantos: Dinamikus optimalizálás 6


QP ÉS NP PROGRAMOZÁSI FELADATOK MEGOLDÁSA
KVADRATIKUS PROGRAMOZÁSI ALGORITMUSOK

A kvadratikus programozás alapfeladata a következő:


1
min J ( x) = < Hx, x > + < c, x > + d ,
x 2
x ≥ 0 , A1 x = b1 , A2 x ≤ b2 ,

ahol x ∈ R n , H ≥ 0 n × n méretű pozitív szemidefinit szimmetrikus mátrix, b1 ∈ R m1 , b2 ∈ R m2 , J ′x = Hx + c =: g ( x ) a cél-


függvény gradiense és J x′′ = H a célfüggvény Hess-mátrixa. A korlátozások egyenlőség és egyenlőtlenség alakjában adot-
tak. A minimum helyét d nem befolyásolja, ezért el is hagyható lenne.
Mivel H ≥ 0 miatt J (x) konvex és a korlátozások lineárisak, ezért a minimum szükséges feltétele nem túl szigorú
feltételek teljesülésekor (pl. Z T HZ pozitív definit, lásd később) egyúttal elégséges feltétel is. A minimum szükséges
feltételét a KKT-tétel adja.

Ha Ai sorait rendre aiT1 , K , aim


T
i
jelölik, akkor A1 x = b1 ekvivalens a1Tj x − b1 j = 0 -val, j = 1, K , m1 , és A2 x ≤ b2 ekviva-
lens a 2T j x − b2 j ≤ 0 -val, j = 1, K , m2 . A skalár multiplikátorral szorzott λ1 j (a1Tj x − b1 j ) és λ 2 j (a 2T j x − b2 j ) korlátozások
rendre felírhatók a < λ1 , A1 x − b1 >=< A1T λ1 , x > − < λ1 , b1 > és a < λ 2 , A2 x − b2 >=< A2T λ 2 , x > − < λ 2 , b2 > alakban is a λ1
és λ 2 vektor multiplikátorokkal.

Lantos: Dinamikus optimalizálás 7


Mivel J ′x = Hx + c és − x ≤ 0 , ezért a minimum feltétele:

Hx + c − λ + A1T λ1 + A2T λ 2 = 0 ,
λi ≥ 0 , λi xi = 0 , i = 1, K , n ,
λ 2i ≥ 0 , λ 2i ( a 2Ti xi − b2i ) = 0 , i = 1, K , m2 ,
A1 x = b1
AKTÍV HALMAZ MÓDSZEREK:
1. Egyenlőség alakjában adott korlátozások
1
min J ( x) =
< Hx, x > + < c, x > + d ,
x 2
Ax = b ,
T T
ahol A m × n típusú mátrix, amelynek sorai a1 , K , a m .
Egy x pontot megvalósítható pontnak (feasible point) fogunk nevezni, ha kielégíti a korlátozást. Ha x0 az optimális
megvalósítható megoldás és x egy (nem optimális) megvalósítható megoldás, akkor x 0 = x + p , ahol p -t megvalósítható
iránynak (feasible direction) fogjuk nevezni.
Feltesszük, hogy m < n és rank ( A) = m , különben ugyanis vagy redundáns, vagy pedig ellentmondó egyenletek szere-
pelnének a korlátozásban. Elvben tehát n − m változót ki lehet küszöbölni a változók közül. Fejezzük ki x -et az
x = YxY + Zx Z alakban, ahol AY = I és AZ = 0 . Ekkor Ax = xY és Zx Z ∈ kernel( A) . Mivel x 0 = Yx0Y + Zx 0 Z ,
Ax 0 = AYx0Y + AZx 0 Z = x 0Y = b , x = YxY + Zx Z és Ax = AYxY + AZx Z = xY = b = x 0Y , ezért x = Yx0Y + Zx Z és
p = x 0 − x = Z ( x 0 Z − x Z ) =: Zp Z és Ap = AZp Z = 0 .

Lantos: Dinamikus optimalizálás 8


A Lagrange-multiplikátor szabály szerint az optimális megvalósítható megoldás kielégíti a

J ′x ( x 0 ) + AT λ 0 = Hx 0 + c + AT λ 0 = 0 ⇒ Hx 0 + c = − AT λ 0
Z T g ( x 0 ) = − Z T AT λ 0 = 0 T
feltételt, ahol kihasználtuk, hogy g ( x 0 ) = Hx 0 + c = J ′x ( x 0 ) a gradiens az optimum helyén és Z T AT = 0T .

Legyen x egy (közelítő) megvalósítható megoldás. Mivel x 0 = x + p és p = Zp Z , ezért

1
< H ( x + p), x + p > + < c, x + p > + d =
2
1 1
= < Hp, p > + < Hx, p > + < Hx, x > + < c, p > + < c, x > + d =
2 2
1 1
= < Hp, p > + < Hx + c, p > + d + < Hx, x > + < c, x >=
2 2
1 1
= < Z T HZp Z , p Z > + < Z T g ( x), p Z > + d + < Hx, x > + < c, x > .
2 2
Az x (közelítő) megvalósítható megoldás ismeretében az optimális x0 megvalósítható megoldás a következő, korlátozás
nélküli optimalizálási feladat megoldásaként nyerhető:
1
min J ( p Z ) = < Hˆ p Z , p Z > + < cˆ, p Z > + dˆ ,
pZ 2
1
Hˆ = Z T HZ ≥ 0 , cˆ = Z T g ( x ) , dˆ = d + < Hx, x > + < c, x >
2

Lantos: Dinamikus optimalizálás 9


Az optimális megoldás a J ′pZ = Hˆ p Z + cˆ = 0 feltételből határozható meg:

Z T HZp Z = − Z T g (x) ,

ahol g ( x) = Hx + c az eredeti célfüggvény gradiense a közelítő megoldás helyén. Ha "+" jelöli a Moore-Penrose
pszeudoinverzet, akkor

p Z = −( Z T HZ ) + Z T g ( x) és p = Zp Z megvalósítható irány.
A módszer alkalmazásához ismerni kell egy kezdeti x megvalósítható megoldást (initial feasible point) és meg kell hatá-
rozni A -nak az Y , Z felbontását. A MATLAB szolgáltatásaival Y = pinv( A) és Z = null( A) megfelelne, de jelentős
számítási idővel jár, és kevésbbé előnyös iteratív alkalmazáskor, amikor A lépésről lépésre változhat.
A QR felbontást alkalmazva a következőképp járhatunk el:
i) Képezzük az AT mátrix QR felbontását a MATLAB qr függvényével. Akkor AT = Q ∗ R , ahol Q ortonormált, R fel-
ső háromszögmátrix, és ezért A ∗ Q = R T = [ R1T 0] .

T −1
ii) Y = Q (:,1 : m) ∗ ( R1 )

iii) Z = Q (:, m + 1 : n)

iv) x = Y ∗ b megvalósítható megoldás

Lantos: Dinamikus optimalizálás 10


Ha az iteráció során egy új â T sort kell beszúrni, mert a feltételek bővülnek, akkor

 R T Q T   R T 0
Aˆ =  T  =  T  =  1 T Q T = Rˆ1T
A
aˆ   aˆ   aˆ Q 
[ ]
0 Qˆ T ,

ahol Qˆ = QH és H Householder mátrix. Q̂ első 1, K , m oszlopa azonos Q oszlopaival, míg a többi m + 1, K , n oszlopa
lineáris kombinációja Q utolsó m + 1, K , n oszlopának.

Ha az iteráció során az s -edik sort el kell hagyni A -ból, mert a feltételek száma csökken, akkor  -nak eggyel kevesebb
sora lesz, mint A -nak, ezért Aˆ Q = [ M 0] , ahol M -nek az első1, K , s − 1 sora azonos R1T soraival, és a maradék
s, K , m − 1 sorokban a diagonálisban lévő elemtől jobbra is van még egy nemnulla elem. M alsó háromszögmátrix alakra
hozható síkbeli forgatás tarnszformációkkal, amelyeket Q -ra jobbról kell alkalmazni. Ezek a forgatások nem befolyásolják
Q utolsó n − m oszlopát, ezért Ẑ a régi Z mátrix lesz, kiegészítve egy extra oszloppal: Zˆ = [Z zˆ ] , ahol ẑ lineáris kombi-
nációja Q első m oszlopának.

2. Egyenlőtlenség alakjában adott korlátozások


Legyen az optimalizálási feladat
1
min J ( x) = < Hx, x > + < c, x > + d ,
x 2
Ax ≤ b ,
ahol A m × n típusú mátrix, amelynek sorai a1T , K , am
T
.

Lantos: Dinamikus optimalizálás 11


Ha x egy megvalósítható pont, akkor Ax ≤ b . Határozzuk meg az aktív korlátozásokat, amelyre a iTj x = bi j , j = 1, K , m x ,
és helyezzünk el minden ilyen aiTj -t és bi j -t rendre egy A1 mátrixban és egy b1 vektorban, akkor A1 x = b1 . Alkalmazzuk ez-
után az előző módszert az A1 mátrixszal és a b1 vektorral. A nem aktív korlátozások A2 -be és b2 -be kerülnek, tehát
A2 x < b2 .
Egy p irány ú.n. javító megvalósítható irány, ha A1 p ≤ 0 és < g ( x), p > < 0 . Ekkor ugyanis λ > 0 esetén
J ( x + λp ) ≈ J ( x) + λ < g ( x ), p > ≤ J ( x) , továbbá A1 ( x + λp ) = A1 x + λA1 p ≤ b1 és A2 ( x + λp ) = A2 x + λA2 p < b2 , feltéve,
hogy λ > 0 elég kicsi. Ezért a p irányban megfelelő lépésközzel továbblépve a J (x) kritérium csökken és a korlátozás is
teljesül.
A P = P T mátrixot projekciós mátrixnak nevezzük, ha P 2 = P . Például P = I − A1+ A1 egy projekciós mátrix, ahol A1+ a
Moore-Penrose pszeudoinverze A1 -nek. Ha A1 m1 × n méretű és rank ( A1 ) = m1 < n , akkor P = I − A1T ( A1 A1T ) −1 A1 szintén
egy projekciós mátrix. Ha P projekciós mátrix és p = − Pg (x) , akkor p egy javító megvalósítható irány, mivel

< g ( x), p > =< g ( x),− Pg ( x) >= − < g ( x), P 2 g ( x) >= − < Pg ( x), Pg ( x) >=
2
= − Pg ( x) < 0.

Az A1 -hez más technikával meghatározott p = − Z ( Z T HZ ) + Z T g ( x) irány is egy javító megvalósítható irány, mivel
A1 Z = 0 miatt A1 p = 0 , és p az x pontból a minimumhoz tartozó x0 pontba mutat, tehát ebben az irányban a kritérium-
függvény csökken.

Lantos: Dinamikus optimalizálás 12


Vigyázni kell azonban milyen α lépéshosszt választunk, mert nagy lépéshossz esetén az új pont nem biztos, hogy megvaló-
sítható (a korlátozásokat kielégítő) marad.
Ha nem sérülnének a korlátozások, akkor az optimális válsztás
α opt = arg min ϕ (α ) = arg min J ( x + α p)
lenne, amiből
ϕ ′(α ) =< H ( x + α p) + c, p >=< g ( x), p > +α < Hp, p >
miatt következik
< g ( x), p >
α opt = − .
< Hp, p >
Azonban egy maximális lépéshossz is megadható, amelynél nagyobb lépéshossznál már az eddig teljesülő inaktív korlá-
tozások sérülnének. Jelölje az aktív és az inaktív korlátozások indexhalmazát rendre I A1 illetve I A2 , akkor egy eddig inaktív
korlátozás sérülni kezdene, ha a 2Ti ( x + α p ) = b2i , i ∈ I A2 , ezért a maximális lépéshossz
 b2i − a 2Ti x 
α max = min  : i ∈ I A2  .
 a 2Ti p 
Egy másik problémát a Lagrange-multiplikátorok okozhatnak az optimum helyén. Egyenlőtlenség alakjában adott
Ax ≤ b korlátozások esetén
Hx + c + AT λ = 0 ,
λi ≥ 0 , λ 2i ( a 2Ti x i − b2i ) = 0 , i = 1, K , m 2 .
Az inaktív korlátozásokhoz tartozó multiplikátorok mind nullák: λi = 0, i ∈ I A2 , ezért a feltételek egyszerűsödnek:

Hx + c = g ( x) = − A1T λ1 és λ1 ≥ 0 .

Lantos: Dinamikus optimalizálás 13


Meg kell tehát oldani a g ( x) = − A1T λ1 egyenletrendszert λ1 -re és ellenőrizni kell, hogy λ1 minden komponense pozitív-e.
Ha vannak negatív komponensek is, akkor célszerű elhagyni mindazon feltételt az aktív halmazból, amelyik a legnagyobb
abszolút értékű negatív multiplikátorhoz tartozik. Jelölje ezt λ1,delete = min {λ1i : λ1i < 0, i ∈ I A1 } , akkor az elhagyandó aktív
feltételek:
I delete = {i ∈ I A1 : λ1i = λ1,delete , i ∈ I A1 } .
A teszthez a λ1 Lagrange-multiplikátor meghatározható λ1 = −( A1 A1T ) −1 A1 g ( x) alapján, vagy ha már meghatároztuk az
A1T = Q ∗ R felbontást, akkor MATLAB környezetben balosztással is:
λ1 = − R \ Q ′ ⋅ g ( x)
3. Kezdeti megvalósítható pont meghatározása
0
i) Legyen a korlátozás Ax ≤ b alakú, ahol az A mátrix m × n méretű. Válasszunk egy tetszőleges x kezdőpontot.
0
ii) Legyen d = Ax − b .
T 0
iii) Ha d = ( d1 , K , d m ) ≤ 0 , akkor stop ( x megvalósítható pont).
iv) d max = max {d i : 1 ≤ i ≤ m} .
T T
v) Legyen xˆ = ( x z ) , z ∈ R , A
1 ˆ = [A 1 ] , Jˆ ( xˆ ) = (0 L 0 1) xˆ = z és xˆ 0 = [ x 0T d max ]T . Oldjuk meg a követ-
m,1×1

kező (speciális lineáris programozási, LP) segédproblémát: min Jˆ ( xˆ ) = z , Aˆ xˆ ≤ b , ahol x̂ 0 megvalósítható induló pont

a segédfeladathoz. Bármilyen, az LP feladat megoldására alkalmas módszer (szimplex, stb.) szóbajöhet, beleértve az ak-
tív halmaz módszert is.
vi)
T
Legyen xˆ opt = ( x opt z opt ) T = arg min Jˆ ( xˆ ) a segédfeladat optimális megoldása. Ha z opt = Jˆ ( xˆ opt ) < 0 , akkor x opt az

eredeti feladat egy megvalósítható pontja, mivel aiT x opt − z opt ≤ bi ⇒ aiT x opt − bi ≤ z opt ≤ 0, i = 1, K , m ⇒ Ax opt ≤ b .

Lantos: Dinamikus optimalizálás 14


Az aktív halmaz módszeren alapuló QP algoritmus

1) Határozzunk meg egy induló x 0 megvalósítható irányt (lásd előző LP segédprobléma). Legyen k = 0 .

2) Határozzuk meg x k esetén az aktív és az inaktív korlátozásokat és az azokat azonosító I A1 , A1 , b1 , I A2 , A2 , b2 jellem-


zőket.

3) Határozzuk meg a g ( x k ) gradienst és a p k javító megvalósítható irányt.

4) Ha p k ≠ 0 , akkor határozzuk meg α = min{α opt , α max } értékét. Legyen az új megvalósítható pont x k +1 := x k + α p k ,
k := k + 1 és ugrás 2)-re.

5) Ha p k = 0 , akkor ellenőrizendő, hogy teljesül-e az optimum feltétele. Ehhez meg kell határozni a λ1 Lagrange-
multiplikátort az aktív korlátozásokhoz.
6) Ha λ1 ≥ 0 , akkor optimumban vagyunk és stop.

7) Ha ¬ (λ1 ≥ 0) , akkor meghatározandó λ1, delete és az aktív korlátozásokból elhagyandó feltételek I delate indexhalmaza.
Elvégzendő az aktív korlátozások redukciója és ugrás 2)-re.

Az algoritmus minden lépésére korábban már eljárásokat dolgoztunk ki.

Lantos: Dinamikus optimalizálás 15


Nemlineáris programozási feladat (NP)
min F0 ( x)
Fi ( x ) = 0, i = 1,K, m1 , Fi ( x ) ≤ 0, i = m1 + 1,K, m

Megoldására a QP módszert lokálisan, az x k aktuális közelítés környezetében alkalmazhatjuk a következő algoritmus sze-
rint:.
1) Válasszunk egy x 0 megvalósítható pontot, és legyen k = 0 .

2) Linearizáljuk a nemlineáris függvényeket az x k közelítő megoldás helyén, és vezessük be a következő jelöléseket:


~
x := x − x k , g ( x k ) := F0′x ( x k ) , H := F0′′x ( x k ) , aiT := Fix′ ( x k ) , bi = − Fi ( x k ) , i = 1, K , m .
3) Alkalmazzuk az aktív halmaz módszeren és a megvalósítható irányokon alapuló QP algoritmust, de annak 4) pontjában
alkalmazzunk iránymenti keresést az α ≥ 0 skalárváltozóban α = arg min J (αp k ) meghatározására, és tartsuk be az
Fi ( x k + αp k ) ≤ 0, i = 1, K , m feltételt az iránymenti keresés során.

4) Az aktív halmaz módszer stop feltételének elérésekor legyen x k +1 := x k + ~


x opt és ugrás 1)-re, illetve valamilyen ésszerű
leállási feltétel teljesülésekor (csak kicsit változó x k +1 , vagy a maximális iterációszám elérése) stop.

Lantos: Dinamikus optimalizálás 16


MATLAB Optimization Toolbox idevágó szolgáltatásai:

A MATLAB Optimization Toolbox függvényeket tartalmaz a különféle optimalizálási feladatok megoldására. Az ott hasz-
nált jelölésekkel a feladat elég általános alakja
min f ( x)
c ( x ) ≤ 0, ceq( x ) = 0, lb ≤ x ≤ ub,
\

ahol x vektor, f (x) skalárértékű optimalizálási kritérium, c (x ) és ceq(x) vektorértékű korlátozások, lb és ub az x vektor
alsó illetve felső korlátja.
Általános elvként elmondható, hogy a hivásoknál 'fun' egy olyan függvénynek a neve, amelyik a bemenetként kapott
x -hez meghatározza f (x) értékét, míg 'nonlcon' egy másik függvény, amely c (x ) és ceq(x) értékét határozza meg.
Ha be van kapcsolva a grad és/vagy Hessian kapcsoló az options-ban, (lásd optimset), akkor a 'fun' függvénynek ezek
értékét is ki kell számítania, különben értékük véges differenciákkal vagy más módon lesz közelítve.
Ha lb vagy ub dimenziója kisebb x dimenziójánál, akkor x első komponensei közül csak annyi van alsó illetve felső
korlátozásnak alávetve, amennyi lb illetve ub dimenziója, közbenső változókat pedig [ ] -vel lehet kimaszkolni.
Ha x 0 szerepel a híváskor és megvalósítható, akkor innen indul az optimalizálás, ellenkező esetben egy kezdeti segéd-
probléma automatikusan meghatározza az induló x 0 értéket.
Ha a bemeneti paraméterek között szerepel options, akkor ez befolyásolja a közbenső lépések listázását, xopt illetve
f ( xopt ) pontosságát, stb.
A kimeneti paraméterek között xopt a módszerrel megtalált optimális megoldás, és további információkat is lehet kérni az
optimalizálás folyamatáról.

Lantos: Dinamikus optimalizálás 17


Kvadratikus programozás (QP):
[ x,fval,exitflag,output,lambda] = quadprog ( H,c,A,b,Aeq,beq,lb,ub,x0,options )
1
ahol az optimalizálási feladat min f ( x) = < Hx, x > + < c, x > , Ax ≤ b , Aeq ∗ x = beq , lb ≤ x ≤ ub , a kezdeti közelítés x 0 ,
2
és options specifikus előírásokat tartalmaz a kereséshez (lásd help optimset ). Ha hiányoznak feltételek, akkor azt [ ] segít-
ségével kell megadni. A kimeneti paraméterek között exitflag egy integer, amely információt tartalmaz az algoritmus befe-
jeződéséről (érteke 1 konvergencia esetén, 0 options.MaxIter elérése miatti leálláskor, stb.). Az output egy struktúra,
amely az optimalizálás folyamatáról tartalmaz információt. A lambda kimeneti paraméter egy struktúra, amely a λ
Lagrange-multiplikátorokat tartalmazza.

Lineáris programozás (LP):


[ x,fval,exitflag,output,lambda] = linprog (c, A, b, Aeq, beq, lb, ub, x0, options)
ahol a feladat min f ( x ) =< c, x > , Ax ≤ b , Aeq ∗ x = beq , lb ≤ x ≤ ub , a kezdeti közelítés x0 és options specifikus előírá-
sokat tartalmaz a kereséshez. A kimeneti paraméterek jelentése hasonló, mint quadprog esetén.

Nemlineáris programozás (NP):


[ x,fval,exitflag,output,lambda, grad , hessian] = fmincon('fun' , x0,A,b,Aeq,beq,lb,ub,'nonlcon', options)
ahol a feladat min f ( x) , c ( x ) ≤ 0 , ceq( x ) = 0 , Ax ≤ b , Aeq ∗ x = beq , lb ≤ x ≤ ub , a kezdeti közelítés x0 , és options speci-
fikus előírásokat tartalmaz a kereséshez. A nonlcon függvény bemenete x , két kimenete pedig c és ceq . Az első négy
kimeneti paraméter jelentése hasonló, mint quadprog esetén.

Lantos: Dinamikus optimalizálás 18


Az Optimization Toolbox függvényei korábban mind az aktív halmaz és a megvalósítható irányok módszerén alapultak.
Ez vonatkozott az LP-re is, amely a QP-ben használt módszert alkalmazta. Az újabb verziók lehetővé teszik a belsőpontos
módszer használatát is (lásd LMI, Linear Matrix Inequalities, amely a robusztus irányításokhoz szükséges).

A kvázi Newton-módszerek körében alkalmazásra került a BFGS (Broyden-Fletcher-Goldfarb-Shanno) módszer, amely a


Hess mátrixot a gradiens értékeiből lim H i → H alakkal közelíti, valamint a DFP (Davidon-Fletcher-Powell) módszer és a
i →∞
módosított DFP (Gill&Murray) módszer, amelyek a lim H i → H −1 alakkal közelítenek. Mindhárom módszer H i +1 értékét
i →∞
H i -ből, valamint a gradiens értékéből határozza meg.

Az NP probléma keretprogramja a Schittkowski által javasolt SQP (Sequential Quadratic Programming) módszert hasz-
nálja, amely BFGS módszerrel frissíti a Lagrange-függvény Hess mátrixát, QP részfeladattal határozza meg a keresési
irányt és egy értékelő függvénnyel (merit function) bünteti a korlátozások megsértését az iránymenti keresés során.

Lantos: Dinamikus optimalizálás 19

You might also like