Professional Documents
Culture Documents
Irányításelmélet Előadás 8
Irányításelmélet Előadás 8
Irányításelmélet Előadás 8
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:
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ó).
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.
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 .
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 .
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
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)
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.
< 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.
Hx + c = g ( x) = − A1T λ1 és λ1 ≥ 0 .
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
xˆ
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
xˆ
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 .
1) Határozzunk meg egy induló x 0 megvalósítható irányt (lásd előző LP segédprobléma). Legyen k = 0 .
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.
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 .
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.
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.