Documente Academic
Documente Profesional
Documente Cultură
- note de curs -
L L
ΔU = RI cos ϕ = ρ I cos ϕ ≤ ΔU a , ΔP = RI 2 = ρ I 2 ≤ ΔPa
S S
z Într-o problemă de proiectare
• se impun valorile medii pentru puterea activă şi reactivă a
consumatorului ⇒ I şi cosφ au valori precizate;
• lungimea L a tronsonului este precizată;
• secţiunea S a conductorului este necunoscută - se deduce din condiţia
de minim pentru CI cu respectarea restricţiilor asupra ΔU şi ΔP.
Exemple de probleme de optimizare
staţionară
| Minimizarea pierderilor în regim staţionar la motoarele de
inducţie
z Pierderile variabile de energie
• în cupru -pierderi Joule
• în fier - datorită histerzisului şi curenţilor turbionari
z Ambele tipuri de pierderi depind de frecvenţa şi amplitudinea
tensiunii de alimentare (sau, echivalent, de fluxul din întrefier).
z Frecvenţa şi amplitudinea tensiunii de alimentare sunt folosite
pentru realizarea reglajului de viteză.
z Există deci posibilitatea ca, prin alegerea convenabilă a acestor
mărimi de comandă, să se asigure viteza de rotaţie dorită şi un
randament maxim.
Formularea problemelor variaţionale
x1
2
cu condiţia izoperimetrică ∫ 1 + (dy / dx) dx = A
x0
T
z Unghiul de rotaţie normalizat pe intervalul [0, T]: θT = ∫ ω( τ)dτ (5)
0
T
2
z Energia disipată normalizată pe intervalul [0, T]: w T = ∫ (τ )dτ
i (6)
0
Exemple de probleme de control
optimal
| Se pot formula următoarele probleme de control optimal:
z problemă de consum minim de energie: să se determine comanda i(T) şi
starea ω(T) care determină o deplasare unghiulară impusă θT într-un timp
precizat T, astfel încât să se asigure minimul energiei disipate, pentru ω(0) şi
ω(T) fixaţi, adică să se minimizeze funcţionala (6) pentru o valoare impusă a
funcţionalei (5) (condiţie izoperimetrică);
x
9
x1 x2 x
3
x4 x5 x6 x7 x8 x
x2 f(x)=c1
f(x)=c2
x1
1.2. Chestiuni preliminare
1 T
FuncŃii obiectiv pătratice f(x): , f (x) = x Qx + b T x + γ
Rn→R
2
Q = QT - matrice simetrică, b∈Rn, γ - scalar
ConvergenŃa
există algoritmi care au o eficienŃă ridicată, dar nu au asigurată
convergenŃa în condiŃii suficient de largi
pentru a preveni rezultate eronate:
• stabilirea unui număr limită de iteraŃii;
• introducerea unor testări periodice, care asigură continuarea corectă a
programului;
• combinarea procedurilor respective cu altele care au convergenŃa
garantată, dar şi o eficienŃă mai scăzută.
1.2. Chestiuni preliminare
Criterii de evaluare a calităŃii algoritmilor
Viteza de convergenŃă
oferă informaŃii asupra numărului de iteraŃii necesar
ordinul de convergenŃă - apreciază cantitativ viteza de convergenŃă
ln f (x k )
dacă f(x*) = 0: ρ = lim
k →∞ ln f (x k +1 )
ln[f (x k ) − f (x* )]
dacă f(x*) ≠ 0: ρ = lim
k →∞ ln[f (x k +1 ) − f (x * )]
f (x*) ≤ f (x), ∀x ∈ R n
DemonstraŃie
T
n ∂f ∂f
df (x) = ∑ dx i = dx = ∇f (x),dx
i =1 ∂xi ∂x }⇒ ∇f (x),dx = 0
f (x) = const. ⇒ df (x) = 0
2.2.1. ProprietăŃi ale gradientului
b. Aproximarea Taylor de ordinul 1
o(θ)
f ( x + θ h ) = f ( x ) + θ h , ∇ f ( x ) + o( θ ), lim =0
θ→0 θ
⇓
f (x + θh) − f (x) o(θ)
= ∇f ( x), h +
θ θ
Presupunem că există
o(θ)
lim =0
θ→0 θ
2.2.1. ProprietăŃi ale gradientului
≤ x, x y, y , x,y∈Rn
2
c. Inegalitatea Cauchy-Schwarz x, y
egalitatea se obŃine dacă x şi y au aceeaşi direcŃie
2
∇f (x), h ≤ h, h ∇f (x), ∇f (x)
dacă h, h = 1 şi
f (x + θh) − f (x) o(θ)
= ∇f (x), h +
θ θ
⇓
f (x + θh) − f (x) 1/2 o(θ)
≤ ∇f (x), ∇f (x) +
θ θ
egalitatea se obŃine atunci când vectorii ∇ f ( x) şi h au aceeaşi direcŃie
Într-o vecinătate a punctului x, creşterea maximă a funcŃiei
f(x) are loc pe direcŃia gradientului, respectiv scăderea cea
mai rapidă se face pe direcŃia inversă gradientului
2.2.1. ProprietăŃi ale gradientului
d. Fie x* un punct precizat şi h o direcŃie oarecare fixată ⇒ f(x*+θh) se
modifică doar în funcŃie de parametrul scalar θ.
}
df (x * +θh)
=0
}
dθ
⇒ ∇f (x * +θh), h = 0
∂f ⇒ ∇ f ( x*) = 0
= ∇f (x), h
∂θ h este oarecare
}
e. Presupunem aleasă o direcŃie h astfel încât
∇f (x), h < 0
f (x + θh) − f (x)
⇒ lim <0 ⇒
f ( x + θh) − f ( x) o(θ)
θ→0 θ
= ∇f (x), h +
θ θ
f (x + θh) − f (x)
⇒ ∃τ a.i. ∀θ, cu θ < τ avem <0 ⇒ f ( x + θh ) < f ( x )
θ
}
(H(x*)>0).
1
f(x) = f(x*) + (x − x*)T ∇f(x*) + (x − x*)T H(x*)(x − x*) + e(x − x*) || x − x* ||2
2
H(x*) > 0 ⇒ (x − x* )T H(x* )(x − x* ) > 0 ⇒
∇f(x ) = 0
*
Prezentare generală
Cele mai eficiente şi folosite metode de rezolvare a problemelor de
extremizare fără restricŃii
În cazul problemelor de minim - metode de coborâre
xk
f(x)=c1 hk
f(x)=c2 xk+1
2.3.1. Aspecte generale privitoare la
metodele de căutare
Calcularea pasului optim
θ2 k
f ( x k +1 ) = f (x k ) + θ ∇f ( x k ), h k + h , Hkhk
2
Minimizez f (x k +1 (θ ))
k +1 ∇f (x k ), h k
df (x (θ ))
= 0 ⇒ ∇f (x k ), h k + θ h k , H k h k = 0 ⇒ θ* = −
dθ h k , H (x k )h k
∇f (x k ) ≤ ε
2.3.1. Aspecte generale privitoare la
metodele de căutare
Criterii de stop
criterii absolute de stop bazate pe variaŃia argumentului sau a
funcŃiei:
x k − x k −1 ≤ ε sau f (x k ) − f (x k −1 ) ≤ ε
dacă ||x*|| sau f(x*) sunt foarte apropiate de zero, atunci criteriile
relative nu sunt utilizabile şi se folosesc:
x k − x k −1 f (x k ) − f ( x k −1 )
≤ε sau ≤ε
1+ x k
1 + f (x ) k
2.3.1. Aspecte generale privitoare la
metodele de căutare
Criterii de stop
folosirea exclusivă a unui criteriu bazat pe variaŃia argumentului sau
a funcŃiei poate conduce la rezultate eronate
f(x)
f(x)
∆f
∆f
x
x
∆x
(a) ∆x (b)
Se recomandă ca
la fiecare iteraŃie să se aleagă o distanŃă ε = x2 − x1 destul de mică
unul din puncte să fie mijlocul intervalului
1
R k = k/2
2
x M
+ x m
Se alege un singur punct în centrul intervalului x 0
=
2
df
şi se calculează dx 0 , eliminându-se acea jumătate a
x=x
1
Rk = ,k - numărul de iteraŃii (de evaluări ale derivatei)
2k
Metode de eliminare unidimensională
xm
δj
x 1j
εj
x2j
δj
xM
∆ j−1 = ∆ j + δ j
δ j = ∆ j+1 } ⇒ ∆j−1 = ∆j +∆j+1
}
∆j
∆j
∆ j +1 ∆ j
δj+1 εj+1 δj+1 ⇒ 1= +
∆ j −1 ∆ j ∆ j −1
xm x1j+1 x2j+1 xM ⇒ 1 = s + s2
∆j
=s
∆j+1 ∆ j −1
xm xM ⇒ s = 5 − 1 ≅ 0,618
2
Metode de eliminare unidimensională
RksA
≅ 1,17
RkF
Interpolarea pătratică
ĝ = c 2 θ 2 + c1θ + c 0 , c 2 > 0
Minimul: θˆ * = −c1 / 2c 2
Interpolarea cubică
Dacă derivata lui g, respectiv gradientul lui f, se pot evalua relativ
simplu, se recomandă interpolarea cubică
gˆ = c3θ 3 + c 2θ 2 + c1θ + c0 ,
cu minimul θˆ* = − c 2 + c 2 − 3c1c3 (3c3 )
2
g ' (θ k ) + w − z
θˆ* = θ k − (θ k − θ k −1 )
g ' (θ k ) − g ' (θ k −1 ) + 2w
g (θ k ) − g (θ k −1 )
z=3 + g ' (θ k −1 ) + g ' (θ k ) w= z 2 − g ' (θ k −1 ) g ' (θ k )
θ k − θ k −1
2.3.2.1. Proceduri de extremizare
unidimensională
Determinarea analitică a pasului optim
dg( x k + θh k )
=0
dθ
d2g
>0 în θ*
dθ2
2.3.2.2. Proceduri de căutare liniară
aproximativă
Dezavantaj proceduri de căutare liniară exactă (de
determinare a pasului optim) - număr mare de evaluări ale
funcŃiei obiectiv la fiecare iteraŃie
De multe ori se preferă alegerea unui pas care să asigure
doar scăderea funcŃiei, fără a implica atingerea minimului
pe direcŃia aleasă
regula lui Armijo: este acceptabilă valoarea pasului θ care satisface
condiŃiile
g(θ) = f(x k + θh k )
θ < ε <1 şi η>1; obişnuit se folosesc valorile ε = 0,2 şi η = 2
2.3.2.2. Proceduri de căutare liniară
aproximativă
g
g(0)
εηθg’(0)
εθg’(0)
g’(0)
θa θb θu θ
FuncŃia g(θ) are un minim pentru θ>0 ⇒ panta curbei în g(0) este
negativă.
CondiŃiile anterioare definesc o condiŃie acceptabilă între θa şi θb.
2.3.2.2. Proceduri de căutare liniară
aproximativă
Algoritm
se iniŃializează o valoare oarecare θ > 0;
se calculează g(θ) şi dacă g(θ) ≤ g(0)+ εθg’(0), se creşte θ punând
ηθ; se repetă procedura până când inegalitatea este satisfăcută,
adoptând valoarea precedentă pentru θ;
dacă g(θ) = g(0)+ εθg’(0) nu este îndeplinită pentru valoarea iniŃială
θ, se micşorează aceasta punând θ/η şi se repetă procedura până
când se găseşte un θ care satisface condiŃia.
2.3.3. Metode de gradient
Metodele sunt aplicabile în cazul în care f(x) este
derivabilă în raport cu toate argumentele
Metodele de gradient sunt metode de ordinul al II-lea, la
care se folosesc derivatele de ordinul I ale funcŃiei
Formula iterativă
x k +1 = x k − θ k r k
r k = ∇f (x k )
Metoda mai este denumită a celei mai abrupte coborâri
DirecŃia de căutare nu conduce, de regulă, către minimul
funcŃiei şi chiar folosirea ei în cadrul unei proceduri iterative
nu este prea avantajoasă
2.3.3. Metode de gradient
Metoda gradientului optimal
x k +1 = x k − θk r k , −r k = −∇ f ( x k ) - direcŃia de deplasare
}
∇f (x k ), h k
θ* = −
k
h , H (x )h k k rk , rk
⇒ θ* =
rk , Hkrk
h k = −r k
2.3.3. Metode de gradient
ObservaŃii
DirecŃiile succesive de deplasare sunt ortogonale
df(xk+1(θ)) df dxk+1
T
d k +1
= (rk+1)T (xk −θrk ) = −(rk+1)T rk ⇒ r , r =0
k
0= = k+1
dθ dx dθ dθ 0
f(x)= co nst. x
x0 x2 -r 1
2 0 x1
x -r
2 -r 1
-r
x4
x1
-r 3 x3 (b)
(a)
n −1
−1 pi piT
Q =∑
i =0 pi , Qpi
2.3.4. Metode bazate pe direcŃii
conjugate
Metoda direcŃiilor conjugate
k+1 k k
x = x + θkp
pk sunt vectorii care dau direcŃiile de deplasare şi se aleg
Q-conjugaŃi
Paşii de deplasare se aleg optimi pe direcŃiile respective
Precizia de stabilire a direcŃiilor conjugate este
dependentă de cea cu care se calculează paşii optimi ⇒
metoda impune o precizie ridicată în aplicarea procedurii
de căutare liniară exactă
Metoda direcŃiilor conjugate
Algoritm
}
}
∇ f ( x) = Qx + b ⇒ ∇ f ( x0 ) = Qx0 + b
⇒ x* = x 0 − Q −1∇ f ( x 0 )
∇ f ( x*) = Qx * +b = 0
n −1
−1 pi piT ⇒
Q =∑
i i
i =0 p , Qp
n −1
pp i iT n −1 pi ,∇f (x0 ) ∇f (x0 ), pi
⇒ x* = x0 − ∑ ∇f (x 0 ) = x 0 − ∑ pi ⇒ θi =−
i i i i
i =0 p , Qp i =0 p , Qp pi , Qpi
Metoda direcŃiilor conjugate
x i+1 i
= x + θip i
⇒ ∇f ( x i +1
) − ∇f (x ) = θi Qp
i i
} ⇒
⇒
∇f (x0 ), pi = −θ0Qp0 − θ1Qp1 − ... − θi −1Qpi −1 + ∇f (xi ), pi
pi – Q-conjugaŃi } ⇒
}
∇f (x0 ), pi = ∇f (xi ), pi
∇f (xi ), pi
∇f (x0 ), pi ⇒ θi = −
θi = − pi , Qpi
i i
p , Qp
Metoda direcŃiilor conjugate
ObservaŃii
calcularea direcŃiilor conjugate în cadrul acestei proceduri se
realizează pe baza algoritmului de tip Gram-Schmidt
formula
ν k +1 , Qu j
a kj =
u j , Qu j
prezintă neajunsul prezenŃei matricei Q
• în problemele de minim, aceasta corespunde matricei Hessian şi
utilizarea ei ar prezenta o complicaŃie majoră (procedura nu apelează
la derivatele de ordinul doi).
Eliminarea acestui neajuns se poate realiza printr-o transformare a
formulei
Metoda direcŃiilor conjugate
Eliminarea neajunsului prezenŃei matricei Q se poate
realiza printr-o transformare a formulei de calcul a
coeficienŃilor akj
} }
ν k +1 , Qu j
a kj = j
u , Qu j
⇒ α kj =
ν k +1
, Qp j
p Qν
jT
= jT j =
k +1
(
x − x Qν k +1 j+1
)
j T
( )
T
p j , Qp j p Qp x j+1 − x j Qp j
u =p
j j ⇒
j+1
Notez y j = r j+1 − r j . La funcŃii pătratice y = Q(x
j
− xj)
y jT ν k +1
⇒ α kj =
y jp j
2.3.4. Metode bazate pe direcŃii
conjugate
Metoda gradienŃilor conjugaŃi
Metodă derivată din metoda direcŃiilor conjugate
x k+1 = x k + θ k p k
}
r k , Qp k −1 k r k - r k-1
βk −1 = r ,
p k −1
, Qp k −1 θk-1 r k , r k - r k , r k-1
⇒ βk-1 = =
k k-1
k-1r -r pk-1, r k - pk-1, r k-1
∇f (xi +1 ) − ∇f (xi ) = θi Qpi p ,
θk-1 ⇒
r k , r k-1 = 0, p k-1 , r k = 0
}
rk , rk
⇒ βk-1 = rk , rk
- pk-1, rk-1 ⇒ βk-1 =
rk-1, rk-1
k-1 k-1 k-1 k-1 k-2 k-1 k-1
p ,r = r ,-r + β k-2p =- r ,-r
∇f (x k +1 ) = 0
Dacă notăm
⇒ x k +1 = x k − H −1 ( x k )∇f ( x k )
p k +1 = x k +1 -x k } ⇒ H k p = −r
k k
}
schimbarea gradientului se poate aproxima cu formula
r k +1 − r k = H k +1 ( x k +1 − x k )
notăm
k k+1 k ⇒ G k +1 y k = p k - condiŃie cvasi-Newton
p =x -x
y k = r k+1 - r k
2.3.6. Metode de tip cvasi-Newton
Primele metode din această categorie s-au bazat pe aproximările şi
relaŃiile anterioare
Implementările ulterioare au apelat şi la aproximarea succesivă Bk a
matricei Hessian, direcŃia de căutare pk determinându-se ca soluŃie a
sistemului liniar
B k p k = −r k
CondiŃia cvasi-Newton devine în acest caz B k +1p k = y k
Principalul avantaj
aproximările matricei Hessian sau ale inversei acesteia nu se obŃin prin
calcularea derivatelor de ordinul doi, ci se bazează doar pe cunoaşterea
valorilor funcŃiei şi gradientului ⇒ metodele cvasi-Newton sunt metode de
ordinul II
Avantajul menŃionat conduce la reducerea substanŃială a volumului de
calcule la fiecare iteraŃie, dar prin aceasta se diminuează şi viteza de
convergenŃă, care aici este supraliniară
2.3.6. Metode de tip cvasi-Newton
Metoda DFP (Davidon-Fletcher-Powell)
dacă dispunem de o aproximare G'k a matricei simetrice Q-1 pe
subspaŃiul corespunzător bazei date de vectorii Q-conjugaŃi
d0,d1,...,dk-1
k −1 di diT
G 'k = ∑ i i
,
i = 0 d , Qd
}
⇒ ( G k + Ck ) Qp = 0
k
Ck =
( G y )( G y )
k
k
k
k T
y kT G k y k
Metoda DFP
}
p k p kT
Dk = kT k
p Qp p k p kT
⇒ Dk = kT k
y p
y = Qp
k k
Metoda DFP
Algoritm
1. se realizează iniŃializarea x0, G0>0 (se recomandă G0=I, prima
direcŃie fiind atunci direcŃia gradientului), se pune θ0=1 (sau se
poate determina θ0 prin căutare liniară exactă); se calculează r0;
şi y k = r k+1 - r k ;
( G k y k )( G k y k )
T
p k p kT
5. se determină Ck = ,Dk = kT k , G k +1 = G k + Dk + Ck
y kT G k y k y p
6. se pune k ←k+1 şi se revine la (2).
Metoda DFP
Algoritmul DFP:
−(p y k )
kT
ϕk > → asigură menŃinerea pozitivităŃii
(y k G k y k )(p k G −k1p k ) − (p k y k ) 2
T T T
secvenŃelor Gk
ϕk = 0 ⇒ DFP
ϕk=1 ⇒ algoritmul BFGS (Broyden, Fletcher, Goldfarb, Shanno)
Alte proceduri cvasi-Newton
Dixon a demonstrat proprietatea:
iv. generează aceeaşi secvenŃă de puncte {xk} care
minimizează f(x)
teste multiple indicaseră că algoritmul DFP şi mai ales BFGS sunt
superiori altor algoritmi din familia Broyden
diferenŃele care apar de obicei se datorează inacurateŃei căutării
liniare şi erorilor de rotunjire
se pare că algoritmul BFGS este mai puŃin sensibil la aceşti
factori şi, ca atare, la acesta apare mai rar tendinŃa de pierdere a
pozitivităŃii matricei G
Alte proceduri cvasi-Newton
Se pot formula algoritmi suimilari care realizează aproximarea
succesivă Bk a matricei H, la care direcŃia de căutare pk este
soluŃie a ecuaŃiei B k p k = −r k
metodele care aprox. H-1 - O(n2); metodele care aprox. H - O(n3)
dacă în locul hassianului se actualizează factorii Cholesky sau ai
descompunerii LDLT ai lui B ⇒ O(n2)
apare avantajul verificării relativ simple a pozitivităŃii matricelor Bk şi al
posibilităŃii de corijare în cazuri nefavorabile
k kT k kT k k
y B p
y y Bkp p Bk
B k +1 = B k + k T k − k T + ψ b b , b = kT k − kT , ψ k ∈ [0,1]
T T k
k k k k
k k p B k p k
p y p Bkp p y p Bk p
pentru ψk = 0 → BFGS; pentru ψk =1 → DFP
kT k
pozitivitatea B se menŃine dacă p y > 0 (întotdeauna satisfăcută în
cazul căutării liniare exacte) şi dacă
−(p y k ) 2
kT
ϕk >
(y k B k y k )(y k B −k1y k ) − (p k y k ) 2
T T T
Alte proceduri cvasi-Newton
S-au făcut cercetări pentru stabilirea unor algoritmi din
această clasă care să nu impună determinarea exactă a
pasului optim
( )( )
T
pk -G yk pk -G yk
În acest sens, Powell a propus formula Gk+1 = Gk +
k k
Este satisfăcută condiŃia cvasi-Newton (
k k T k
p -Gk y y )
Formula impune ca vectorii p0,p1,...,pn-1 să fie liniar independenŃi şi
nu conjugaŃi
• calcul cu precizie mai scăzută a pasului de deplasare
Pentru algoritmii din familia Broyden se poate renunŃa la
căutarea liniară exactă, asigurându-se totuşi o convergenŃă
a matricelor Bk spre H
Se pierde proprietatea Bn = H, dar se obŃine un câştig de eficienŃă
Deplasările pe direcŃiile pk trebuie realizate astfel încât să se
asigure scăderea funcŃiei şi această scădere să fie semnificativă
Alte proceduri cvasi-Newton
ConvergenŃa acestor proceduri a fost demonstrată iniŃial
pentru funcŃii pătratice
Powell a demonstrat:
convergenŃa algoritmului DFP pentru funcŃii convexe în cazul
utilizării paşilor optimi
în cazul căutării liniare aproximative, secvenŃele fk tind spre f(x*) în
aceleaşi condiŃii ca şi în cazul căutării liniare exacte
ConvergenŃa algoritmilor din familia Broyden a fost
demonstrată în condiŃia că x0 este suficient de apropiat de
x* (convergenŃă locală)
Rata de convergenŃă a algoritmilor din această categorie
este supraliniară
2.3.7. Metode de căutare directe
Se apelează doar la calculul valorilor funcŃiei obiectiv
ConvergenŃa lentă, calcule simple la fiecare iteraŃie
Metodele se pot aplica şi în cazul funcŃiilor nederivabile,
sau atunci când derivatele se calculează cu mare dificultate
Clasificare
metode iterative - se stabilesc puncte din ce în ce mai apropiate de
minim:
• algoritmul Gauss-Seidel, algoritmul Hooke şi Jeeves, algoritmul
Rosenbrock, algoritmul Powell
metode iterative folosind poliedre:
• algoritmii SIMPLEX şi COMPLEX
2.3.7. Metode de căutare directe
Algoritmul Gauss-Seidel
x k+1 = x k + θ k d k
x1
2.3.7. Metode de căutare directe
Algoritmul Rosenbrock
Deplasările se fac după direcŃii ortogonale. La fiecare ciclu:
a) Se porneşte de la x0 al ciclului şi se stabilesc direcŃiile formate din n vectori
unitari ortogonali d1,...,dn;
• la primul ciclu, d1,...,dn corespund axelor;
• la ciclurile următoare se stabilesc prin procedeu Gram-Schmidt.
j j-1 j
b) Se calculează x = x + λ jd
• dacă f( x j+1 ) < f( x j ) pasul este considerat succes şi λ j ← αλ j , α > 1
• dacă f( x j+1 ) > f( x j ) pasul este considerat insucces, se revine la xj şi se efectuează
un pas în sens invers, punând λ j ← βλ j , −1 < β < 0
• Obs.: într-o altă variantă a procedurii se stabilesc noile puncte prin deplasări cu paşi
optimi pe direcŃiile respective
c) Se repetă etapa (b) pentru toate direcŃiile j = 1,2,...,n, considerând succes
pasul în care f (x j−1 + λ jd j ) < f (x j−1 )
d) Se reiau etapele (b) şi (c) până când, pe fiecare direcŃie, un succes este urmat
de un insucces sau | λ j |< ε
Ultimul punct al ciclului xc devine punct iniŃial pentru ciclul următor, la care
prima direcŃie este cea care uneşte x0 cu xc
Avantajul: la fiecare ciclu, direcŃiile de deplasare tind să se orienteze spre
direcŃia principală a "văii"
2.3.7. Metode de căutare directe
Algoritmul Powell
DirecŃiile de deplasare în cadrul unui ciclu sunt conjugate
se demonstrează că, pentru funcŃii pătratice, după n cicluri
direcŃiile obŃinute sunt conjugate
Algoritmul:
Se alege punctul iniŃial x0 şi direcŃiile de deplasare dj=ej, j=1,2,...,n,
cu e j =[0,...0,1,0...,0]T , deci paralele cu axele
Se determină pasul optim θ*j pe direcŃiile dj, j=1,...,n şi se
calculează x j =x j-1 +θ*j d j , j=1,...,n
Se ia noua direcŃie d=xn−x0 şi se înlocuiesc direcŃiile d1,...,dn cu
d2,...,dn,d, care apoi se renotează ca d1,...,dn
Se determină θ care asigură min (x +θ d ) şi se înlocuieşte x0 cu
n n
n n θ
0
x +θd . Cu acest nou x , se revine la etapa (c), începând astfel
un nou ciclu
Rata de convergenŃă este apropiată de cea pătratică, mai
ales în apropierea punctului de minim
2.3.7. Metode de căutare directe
Algoritmul SIMPLEX
Se porneşte de la o configuraŃie de puncte numită simplex
sub denumirea de SIMPLEX este mult mai cunoscută metoda de
rezolvare a problemelor de programare liniară
Se porneşte de la n+1 puncte care alcătuiesc vârfurile unui
hiperpoliedru regulat, de obicei având un vârf (x1) în origine.
Coordonatele celorlalte puncte sunt
x2 =[ c1 c2 c2 ... c2 ] ,...,xn+1 =[ c2 c2 c2 ... c1]
T T
c1 =
n
a
2
( )
n + 1 + n − 1 , c2 =
n
a
2
( )
n +1 −1
ℓ
∑ λ i h i (x ) = 0 ⇒ f( x* ) = ϕ( x* )
*
De asemenea
i =1
3.1.1. Teorema multiplicatorilor Lagrange
ObservaŃii
Folosind multiplicatorii Lagrange, problema de extrem cu
legături se transformă într-o problemă cu extrem liber, dar
nu pentru funcŃia obiectiv f(x), ci pentru funcŃia sintetică ϕ(x)
Rezolvarea problemei impune soluŃionarea unui sistem de
n+ℓ ecuaŃii cu n necunoscute x plus ℓ necunoscute λ
din ecuaŃiile (3) se exprimă xj în funcŃie de multiplicatorii λi
xj se introduc în (4) ⇒ se obŃine un sistem de ℓ ecuaŃii cu
necunoscutele λi
Y = {y y T ∇ h i ( x* ) = 0, i = 1,..., ℓ, y ≠ 0} (5)
i =1
şi
y T H x ϕ(x* , λ * ) y > 0,
pentru orice y∈Y definit de (5) atunci x* este un punct de
minim local tare a lui f pe S.
3.1.3. CondiŃii suficiente de extrem
i =1
I = {i gi (x* ) = 0}
3.2. Metode analitice pentru probleme
cu restricŃii de tip inegalitate
Clasificarea condiŃiilor necesare şi suficiente de extrem
CondiŃiile diferenŃiale de extrem
Extinderea la cazul restricŃiilor inegalitate a tehnicii clasice a
multiplicatorilor Lagrange pentru problemele cu legături
Necesitatea se bazează pe condiŃii de regularitate
SuficienŃa se bazează în plus pe condiŃii de convexitate
CondiŃiile de extrem fără diferenŃiabilitate (condiŃii de tip
"punct şea" pentru lagrangeanul asociat problemei)
SuficienŃa nu necesită ipoteze speciale
Necesitatea presupune
• convexitatea mulŃimii X şi a funcŃiilor f şi g pe S
• liniaritatea lui h
• anumite condiŃii de regularitate
3.2.1. CondiŃii diferenŃiale de extrem
CondiŃii necesare în cazul restricŃiilor liniare
gi (x) = − ni , x + bi , bi ∈ R, ∇gi (x) = −ni ∈ Rn
i =1
m
∑ i i ) = 0, λ i ≥ 0, i = 1,..., m
λ *
şi g ( x
i =1
3.2.1. CondiŃii diferenŃiale de extrem
DemonstraŃie - se admite că pot fi „liniarizate” restricŃiile
unde bi = −∇ g i (x* ), x - x* ≥ 0, x ∈ S
m
∇ x ϕ(x , λ ) = 0
*
⇒ ∇ f ( x ) + ∑ λ i ∇ g i ( x* ) = 0
*
i =1
∇ λ ϕ(x, λ ) ≤ 0, λ ≥ 0 ⇒ gi (x) ≤ 0, i = 1, m ,
m
λ, ∇ λ ϕ(x , λ ) = 0 ∑ i i ) = 0, i = 1, m
λ
* *
⇒ g ( x
i =1
3.2.1. CondiŃii diferenŃiale de extrem
Procedură generală
1. Se determină extremul liber xφ pentru f(x) fără restricŃii
dacă gi(xφ)≤0, i=1,...,m STOP
altfel, salt la 2.
2. Se consideră pentru început drept restricŃii active acele restricŃii care au
fost încălcate la (1). Se determină extremul legat considerându-se, pe
rând, câte o restricŃie activă.
dacă soluŃia verifică celelalte restricŃii şi toŃi λi ≥0 STOP
altfel, salt la 3.
3. Se repetă procedura de la etapa (2), considerând alte restricŃii active
Se recomandă să se renunŃe la restricŃiile care au fost verificate ca inegalitate
şi să se introducă restricŃiile care au fost încălcate în etapa (2).
Pentru început se vor considera combinaŃii de câte două restricŃii active (de
preferat, din cele care au fost încălcate la etapa anterioară).
Dacă nu se găseşte soluŃia, se trece la combinaŃii de câte trei restricŃii active
etc.
Astfel de repetări se fac până se obŃine soluŃia problemei x* (a.î. gi(x*) ≤0 şi
λi≥0, i=1,...,m), mergând până la combinaŃii de cel mult m restricŃii active
3.2.1. CondiŃii diferenŃiale de extrem
CondiŃii necesare de extrem pentru pb. cu restricŃii mixte
Se consideră restricŃii de tip egalitate şi inegalitate
Se presupune că funcŃiile f, hi, (i=1,..., ℓ) şi gj (j=1,...,m) au
derivatele de ordinul unu continue în x*
T5: dacă x* este punct staŃionar de tip minim şi sunt
îndeplinite condiŃii de regularitate în x* (referitoare la gi(x*),
i∈I şi h(x*)), atunci ∃ multiplicatorii λi∈R şi µi≥0 a.î.:
ℓ
ε∇f ( x* ) + ∑ µi ∇g i (x* ) + ∑ λ i ∇h i ( x* ) = 0, ( ****)
i∈I i =1
cu ε=1 (în problemele de maxim, ε=−1) şi I={i;gi(x*)=0}
FuncŃia sintetică: ϕ( x , λ , µ ) = εf( x ) + λ T
h( x ) + µ T
g(x)
Cond. nec. de extrem: ∇ x ϕ( x, λ , µ ) = 0
3.2.1. CondiŃii diferenŃiale de extrem
CondiŃii suficiente de extrem
T6. Considerăm problema precedentă şi presupunem că
toate funcŃiile au derivate de ordinul doi continue într-o
vecinătate a lui x*∈S. Dacă există λ∈Rℓ şi µ∈Rn
satisfăcând condiŃia Lagrange-Kuhn-Tucker (****) cu ε=1
(în problemele de maxim, ε=−1) şi
y T H x [ ϕ(x*,λ,µ ) ] y > 0
ℓ
cu H x [ ϕ(x,λ,µ ) ] = H [ f ( x) ] + ∑ µi H [ g i (x) ] + ∑ λ i H [ h i (x) ]
i∈I i =1
{
şi y∈Y unde Y = y y, ∇gi (x* ) = 0,i ∈ I; y, ∇h k (x* ) = 0,k = 1, ℓ }
atunci x* este punct de minim local tare al lui f pe S.
3.2.1. CondiŃii diferenŃiale de extrem
CondiŃii suficiente de extrem
T7. Fie f, g, h funcŃiile din problema precedentă care au
derivate de ordinul unu continue. Dacă în x*∈S este
îndeplinită condiŃia (****) cu ε=1 şi µTg(x*)=0 şi dacă
funcŃia sintetică ϕ(x,λ λ,µ
µ) este pseudo-convexă pe S,
atunci x* este punct de minim al funcŃiei f pe S.
ObservaŃii:
CondiŃia suficientă de minim global nu implică derivatele de ordin
2, ci condiŃii de convexitate
un minim local într-o problemă convexă este şi minim global
3.2.2. CondiŃii de extrem fără
diferenŃiabilitate
CondiŃiile de optimalitate nediferenŃiale - condiŃii de tip şea
Se consideră lagrangeanul
ϕ(x , µ ) ≤ ϕ( x , µ ) ≤ ϕ(x, µ )
* * * *
{ }
min f (x) h i (x) = 0,i = 1, l , l ≤ n, g j (x) ≤ 0, j = 1, m
x
i =1 i =1
−∇f ( x )
C G
A
1
B −∇f ( x )
h x 2
f(x) = ct.
x
S
S g(x) =0
a b
4.2.1. Metoda de gradient proiectat
pentru pb. cu restricŃii inegalităŃi liniare
Principiu
RestricŃiile se pot exprima sub forma Ax − b ≤ 0, A ∈ R mxn , b ∈ R m
cu m>n şi rang(A)=n ⇒ restricŃiile sunt liniar independente
{ }
Fie I = i1 ,i 2 ,.......i p , p < m mulŃimea indicilor restricŃiilor active
Fie submatricea AI, formată cu liniile i1,.... ip din A
• Se presupune că fiecare submatrice AI a matricei A are rangul maxim
posibil p ⇒ AIAIT nesingulară
ProiecŃia vectorului gradient pe un subspaŃiu corespunzător
frontierei considerate se determină cu
∆x = PI∇f (x) (1)
• PI este matricea operatorului de proiecŃie ortogonală din Rn pe
subspaŃiul liniar { x: AIx=0 }
PI = I n − A TI ( A I A TI ) −1 A I (2)
• subspaŃiul este paralel cu poliedrul dat de intersecŃia suprafeŃelor
g i (x) = 0, i ∈ I
4.2.1. Metoda de gradient proiectat
pentru pb. cu restricŃii inegalităŃi liniare
}
}
(5) µ = −( A I A TI ) −1 A I∇ f ( x) ∈ R p
⇒ A TI µ = ( PI − I n )∇f ( x)
PI = I n − A TI ( A I A TI ) −1 A I
⇒ ∇f ( x ) + A TI µ = 0
∆x = 0, ∇ f ( x) ≠ 0
∆x = PI∇f (x) } ⇒ PI = 0
4.2.1. Metoda de gradient proiectat
pentru pb. cu restricŃii inegalităŃi liniare
∇f ( x ) + ATI µ = 0 ⇔ ∇f ( x ) + µ T∇gi ( x ) = 0, i ∈ I
• Dacă toate componentele vectorului µ sunt nenegative ⇒ s-a stabilit
soluŃia problemei conform condiŃiei necesare de extrem Kuhn–Tucker
• Dacă există cel puŃin un µi<0 înseamnă că funcŃia f(x) mai poate fi
micşorată printr-o deplasare admisibilă în raport cu restricŃia i ⇒
restricŃia i nu este activă şi trebuie scoasă din mulŃimea indicilor I
• Dacă există mai mulŃi multiplicatori negativi, se va elimina doar
restricŃia ce corespunde celui mai negativ µi
• Nu se recomandă eliminarea simultană a mai multor restricŃii,
deoarece, în astfel de cazuri, de multe ori se întâmplă ca o parte din
restricŃii să fie necesar a fi reintroduse în mulŃimea restricŃiilor active
4.2.1. Metoda de gradient proiectat
pentru pb. cu restricŃii inegalităŃi liniare
Algoritm
1. Pentru punctul considerat x se stabileşte mulŃimea indicilor
restricŃiilor active I, apoi AI şi se calculează PI cu (2) şi ∆x cu (1).
2. Dacă ∆x≠0, se determină pasul maxim admisibil şi apoi se
stabileşte pasul θ* din condiŃia (3). Se calculează noul punct x’ cu
(4).
Dacă θ* < θm se repetă (2) din noul punct x’.
Dacă θ* = θm se introduce o nouă restricŃie în mulŃimea celor active şi
se revine la pasul 1.
3. Dacă ∆x=0, se determină µ cu (5). Dacă toate componentele µi≥0,
STOP - punctul determinat x este punctul de minim.
4. Dacă există componente µi<0, se elimină din mulŃimea restricŃiilor
active cea care corespunde valorii µi celei mai mici şi se revine la
pasul 1.
4.2.1. Metoda de gradient proiectat
pentru pb. cu restricŃii inegalităŃi liniare
ObservaŃii
MulŃimea I a indicilor restricŃiilor active şi, drept consecinŃă,
matricele AI şi PI, se modifică atunci când
• este introdusă o nouă restricŃie: decizia apare la atingerea unei noi
frontiere, când s-a utilizat un pas θ* = θm
• este scoasă una din restricŃii: decizia este luată în baza semnului
multiplicatorilor Lagrange – Kuhn – Tucker
Algoritmul descris trebuie precedat de o procedură de stabilire a
punctului de start care să se afle pe frontiera domeniului S
• această subproblemă se poate reformula ca una de optim:
f ( x ) = ∑ ( aTj x − b j ),
j∈J
CondiŃiile finale
Momentul final tf > t0
• fixat la o valoare dată finită tf < ∞
• infinit
• liber în T (urmează a se determina prin rezolvarea problemei)
Starea finală xf = x(tf) ∈ X
• fixată într-un punct al spaŃiului X
• liberă pe o submulŃime Xf ⊂ X
• complet liberă în X şi – dacă este necesar – urmează a se determina
prin rezolvarea problemei
1.1. Elementele de bază ale
problemelor de optimizare dinamică
RestricŃiile impuse variabilelor de comandă şi de stare
RestricŃii impuse variabilelor de comandă
Comenzi admisibile - satisfac anumite restricŃii U
• Aceste comenzi trebuie să asigure transferul din condiŃiile iniŃiale în
condiŃiile finale precizate ⇒ sistemul trebuie să satisfacă condiŃii de
controlabilitate şi tangibilitate
D.p.d.v. al restricŃiilor impuse mărimilor de comandă
• Probleme fără restricŃii
• mulŃimea U este deschisă – de obicei coincide cu Rm; se consideră de
regulă comenzi uj(t), j=1,...,m continue şi derivabile în intervalul [t0,tf]⊂T
• Probleme cu restricŃii
• mulŃimea U este închisă
• în problemele de optimizare comenzile uj(t) sunt netede pe porŃiuni în
intervalul [t0,tf], cu excepŃia eventuală a unui număr finit de puncte în care
funcŃiile sau derivatele au discontinuităŃi finite (de speŃa I-a)
1.1. Elementele de bază ale
problemelor de optimizare dinamică
În cazuri mai generale se admit şi funcŃii uj(t) cărora li se impune
doar să fie măsurabile pe [t0,tf],
• Se admit şi funcŃii generalizate
• distribuŃia Dirac şi derivatele ei
I 0* = I 0 (u* ) ≤ I 0 (u), ∀u ∈U
în problemele de maxim se cere comanda u* pentru care
I 0* = I 0 (u* ) ≥ I 0 (u), ∀u ∈U
o problemă de maxim poate fi transformată într-una de minim
adoptând -I0 în loc de I0
1.2. Formularea problemelor
Aspect fundamental - existenŃa şi unicitatea soluŃiilor
Formularea unor condiŃii generale de existenŃă şi unicitate pentru
soluŃiile optime este extrem de dificilă ⇒ se urmăresc astfel de condiŃii
pentru clase de probleme
Majoritatea metodelor conduc de obicei către extreme locale
se utilizează apoi procedee de stabilire a extremului absolut
În funcŃie de cerinŃele problemei sau de metodele de rezolvare
comanda optimă u* se obŃine în una din formele
comandă optimală în circuit deschis - u*(t)
• probleme de comandă optimală, sau probleme de optimizare în circuit
deschis
comandă optimală în circuit închis - u*(t)=v*(x*(t),t) sau u*(t)=w*(y*(t),t)
• probleme de comandă optimală în circuit închis sau de conducere optimală
(control optimal)
• problema deducerii unei astfel de comenzi se mai numeşte de sinteză
optimală
1.2. Formularea problemelor
ObservaŃie
condiŃiile perimetrice Ik şi criteriul I0 sunt duale - oricare funcŃională
Ik, sau combinaŃii liniare ale acestora pot lua locul lui I0, care devine
condiŃie izoperimetrică
1.3.Elemente secundare în pb. de opt.
şi reducerea lor la elemente de bază
Reducerea la elementele de bază
t
xn+ k (t ) = ∫ Lk ( x (τ ), u(τ ),τ )dτ , k = 1,..., s ⇒ (6)
t0
⇒ xɺ n+ k (t ) = Lk ( x (t ), u(t ), t ) (7)
condiŃiile (8) sunt cu stare iniŃială fixată şi cu moment iniŃial fixat sau
liber
condiŃiile finale (9) sunt cu stare finală liberă pe o submulŃime
condiŃiile finale (10) sunt de acelaşi tip cu condiŃiile finale de bază
1.3.Elemente secundare în pb. de opt.
şi reducerea lor la elemente de bază
Legături şi restricŃii de tip funcŃie
I ** = min I * ( w ) = I * ( w * ) (13)
w∈W
M B = M L + M = x0f + M (t0 , x 0 , t f , x f )
1.4. Reducerea şi echivalenŃa
problemelor de optimizare
Reducerea problemelor de tip M şi B la probleme de tip L
Problemă de tip Mayer - se introduc o nouă variabilă de
stare şi una de comandă
xn+1 (t0 ) = 0
xɺn +1 (t ) = um+1 (t )
xn+1 (t f ) = M (t0 , x 0 , t f , x f )
tf
t f − t0
tf τf
⇒ I= ∫ L ( x (t ), u(t ), t ) dt = ∫ dτ = τ f − τ 0
t0 τ0
1.4. Reducerea şi echivalenŃa
problemelor de optimizare
Alte reduceri posibile
Reducerea problemelor variante la probleme invariante -
se poate realiza prin introducerea unei noi variabile de
stare xn +1 (t ) = t
Reducerea problemelor de moment final liber la probleme
cu moment final fixat
Reducerea mulŃimii U la mulŃimea X şi invers, a mulŃimii X
la U, prin parametrizări corespunzătoare
cea de a doua reducere transformă problema de optimizare
dinamică într-o problemă de programare matematică
1.5. Probleme uzuale de optimizare
t t
∞
I = ∫ ε (t ) dt (16)
0
1.5. Probleme uzuale de optimizare
d d dx(t )
(δ x) = εη (t ) = εη (t ) = δ
ɺ - operatorii δ şi d/dt comută (3)
dt dt dt
Se pune problema determinării modificării funcŃiei L, dar mai ales
a funcŃionalei I atunci când x variază cu δx
x + δ x = x + εη (t )
Creşterea funcŃionalei I este
tf tf
∆I (ε ) = I (ε ) − I = ∫ L( x + εη , xɺ + εηɺ, t )dt − ∫ L( x, xɺ, t )dt (4)
t0 t0
dI (ε ) ε 2 d 2 I (ε )
Se dezvoltă în serie Taylor ∆I (ε ) = ε + + ... (5)
d ε ε =0 2! d ε ε =0 2
2.1.1. Mărimi variaŃionale
Se notează
dI (ε )
- prima variaŃie a funcŃionalei δ I (ε ) = ε (6)
d ε ε =0
ε d I (ε )
2 2
- a doua variaŃie a funcŃionalei δ 2 I (ε ) = (7)
2! d ε 2 ε =0
⇒ ∆I (ε ) = δ I (ε ) + δ 2 I (ε ) + ... (8)
η (t0 ) = η (t f ) = 0
tf
Dacă I = ∫ f (t )η (t )dt = 0 pentru orice η (t ) atunci f (t ) ≡ 0
t0
pe intervalul [t0 , t f ]
2.1.2. Algoritmul Euler – Lagrange
tf
dI ∂L d ∂L
δI = = ∫ * − *
η (t )dt = 0 pentru orice η (t )
∂ε ε =0 t0 ∂x
dt ∂xɺ
⇓
∂L( x, xɺ , t ) d ∂L( x, xɺ , t )
− = 0 - condiŃia necesară de extrem (Euler) (11)
∂x dt ∂xɺ
⇓
∂2L ∂2L ∂ 2 L ∂L
x (t ) +
ɺɺ xɺ (t ) + − =0 (12)
∂xɺ∂xɺ ∂xɺ∂x ∂xɺ∂t ∂x
F ( x , xɺ , λ , t ) = L( x , xɺ , t ) + λT (t ) h( x , t ) (14)
∫ f ( x , xɺ , t )dt = k , k ∈ R p , f ∈ R p (15)
t0
F ( x, xɺ , λ, t ) = L( x, xɺ , t ) + λT [ f ( x, xɺ , t ) − xɺ 0 (t )] (17)
2.1.2. Probleme cu legături. Multiplicatori
Lagrange
EcuaŃia Euler – Lagrange pentru funcŃia sintetică F în raport cu
variabila x
∂F d ∂F ∂L ∂f d ∂L ∂f
− = + T λ− + T λ = 0 (18)
∂x dt ∂xɺ ∂x ∂x dt ∂xɺ ∂xɺ
EcuaŃia Euler – Lagrange pentru funcŃia sintetică F în raport cu
variabila x0
d
λ(t ) = 0 ⇔ λ(t ) = const. (19)
dt
EcuaŃia Euler – Lagrange în raport cu variabila x0 oferă doar (19)
⇒ se poate renunŃa la x0 din expresia lui F, obŃinând astfel o altă
funcŃie sintetică
H ( x , xɺ , λ, t ) = L( x , xɺ , t ) + λT f ( x , xɺ , t )
(20)
funcŃia sintetică a lui Hamilton (Hamiltonian)
2.2. Probleme de conducere optimală
cu condiŃii terminale fixate
Se consideră sistemul
xɺ (t ) = f ( x (t ), u(t ), t ), x ∈ R n , u ∈ R n , t ∈ [t0 , t f ] ⊂ R (21)
t
Obs.: (21) ⇒ x (t ) = ∫ f ( x (τ ), u(τ ),τ )dτ ⇒ se putea formula problema
t0
ca una de extremizare a funcŃionalei (40) cu o condiŃie izoperimetrică
Se introduce hamiltonianul
H ( x , u, λ, t ) = L ( x , u, t ) + λT f ( x , u, t ) (25)
(24)+(25) ⇒ F ( x , xɺ , u, λ, t ) = H ( x , u, λ, t ) − λT (t ) xɺ (t ) (26)
2.2. Probleme de conducere optimală
cu condiŃii terminale fixate
EcuaŃiile E–L pentru funcŃia sintetică F în raport cu u, x şi λ
∂F d ∂F ∂H
− =0 ⇒ = 0 - condiŃia necesarǎ de extrem (27)
∂u dt ∂u
ɺ ∂u*
}
∂F d ∂F ∂H
− =0 ⇒ = − ɺ* (t )
λ (28)
∂x dt ∂xɺ ∂x* - ecuaŃiile canonice
ale lui Hamilton
∂F d ∂F ∂H
− =0 ⇒ = x
ɺ *
(t ) (29)
∂λ dt ∂λ
ɺ ∂λ*
2.2. Probleme de conducere optimală
cu condiŃii terminale fixate
dH ∂H ∂H ∂H ɺ ∂H
= T x+ T u+ T λ+
ɺ ɺ (30)
dt ∂x ∂u ∂λ ∂t
dH ∂H
Pe traiectoria extremalǎ = (31)
dt ∂t
dH
Pentru problemele invariante =0 ⇒ (32)
dt
⇒ H ( x , u, λ) este constantă pe traiectoria extremală
x f = g (t f ) (39)
T
∂M (t f , x )
f ∂M (t , x f
) *
+ H [ x (t f ), u (t f ), λ (t f ), t f ] + − λ (t f ) gɺ (t f ) = 0 (40)
* * * f
∂t f ∂x
f
2.3.2. Probleme cu stări terminale libere
pe o submulŃime
Stările terminale libere pe suprafeŃe date
Se consideră problema de la 2.3.1. dar se impune ca x(t0)∈X0 şi
x(tf)∈Xf
X 0 definit de ϕ I ( x , t ) = 0; ϕ I are dim. q0 (41)
}
∂M ∂ϕ I
λ (t0 ) =
*
+ T ⋅ µ* (45)
∂x *
x , t0 ∂x *
x , t0
condiŃiile de transversalitate
∂M ∂ϕ F
λ (t f ) =
*
+ T ⋅ ν* (46)
∂x *
x ,tf ∂x *
x ,tf
2.3.3. ObservaŃii privind condiŃiile
terminale în problemele de optimizare
1. În problemele cu condiŃii terminale fixate nu apar condiŃii de
transversalitate
2. În problemele cu momente terminale t0 şi tf libere şi stări terminale x0
şi xf fixate apar condiŃii de transversalitate referitoare la aceste
momente (relaŃia (38) şi similară acesteia pentru t0)
3. În problemele cu momente terminale t0 şi tf fixate şi stări terminale x0
şi xf libere apar condiŃii de transversalitate referitoare la aceste stări
(relaŃia (37) şi similara acesteia pentru x0)
4. În problemele cu momente şi stări terminale libere apar ambele tipuri
de condiŃii de transversalitate precizate la 2. şi 3.
5. În problemele cu t0 şi x0 fixaŃi, tf liber şi xf fixat pe o curbă, condiŃia de
transversalitate este (40); o condiŃie similară se poate scrie şi pentru
capătul iniŃial
6. În problemele cu t0 şi tf fixaŃi, x0 şi xf libere pe anumite suprafeŃe,
condiŃiile de transversalitate sunt de forma (45) şi (46)
2.3.3. ObservaŃii privind condiŃiile
terminale în problemele de optimizare
La capătul unde starea x(t) este liberă, costarea λ(t) este
fixată, iar la capătul unde starea x(t) este fixată, costarea λ(t)
este liberă
Această situaŃie poate să apară doar în legătură cu anumite
variabile de stare, fără să se extindă asupra întregului vector de
stare x(t)
Specific în astfel de probleme este faptul că
unele variabile se pot fixa la ambele capete ale traiectoriei şi
atunci se spune că avem o problemă bilocală în raport cu
aceste variabile
alte variabile nu se fixează la nici un capăt, ceea ce determină
fixarea multiplicatorilor la capete şi avem o problemă bilocală
în raport cu aceşti multiplicatori
2.4. CondiŃii necesare şi suficiente de
extrem
Satisfacerea ecuaŃiilor Euler – Lagrange nu asigură în mod obligatoriu
extremizarea funcŃionalei
EcuaŃiile şi condiŃiile de transversalitate
nu admit nici o soluŃie
admit o soluŃie
admit mai multe soluŃii în mulŃimea comenzilor admisibile
Nu orice soluŃie a acestor ecuaŃii determină o traiectorie extremală
din mulŃimea traiectoriilor extremale trebuie aleasă cea optimă, care
asigură minimul global
În general problema existenŃei şi unicităŃii extremalei este dificilă
uneori, considerente fizice conduc la concluzia că problema admite o
singură extremală şi că aceasta reprezintă traiectoria optimă căutată
CondiŃiile suficiente de extrem se referă la extreme locale, deci nu
garantează că extremul obŃinut este absolut
cunoscând toate extremele de pe mulŃimea traiectoriilor admise, separarea
extremului absolut nu prezintă dificultăŃi deosebite
Calculul variaŃional clasic oferă o serie de condiŃii necesare de extrem,
toate acestea la un loc formând condiŃia suficientă de extrem
2.4. CondiŃii necesare şi suficiente de
extrem
a) CondiŃii Euler – Lagrange - subcapitolul 2.1 pentru problemele
variaŃionale şi 2.2 pentru problemele de comandă optimală
b) CondiŃii de transversalitate subcapitolul 2.3 problemele de comandă
optimală
c) CondiŃia Legendre
probleme variaŃionale cu condiŃii de capăt fixate
x∈R : ∂2L
≥0 (47)
∂xɺ 2
∂2L ∂2L
⋯
∂ x
ɺ
1 1 ∂xɺ ∂ x
ɺ ∂ x
ɺ
1 n
∂ 2
L
x ∈ Rn : = ⋯ ⋯ ⋯ ≥0 (48)
∂xɺ ∂xɺ T
2
∂ L ⋯ ∂ L
2
∂2M
≥0
∂x f2
2.4. CondiŃii necesare şi suficiente de
extrem
d) CondiŃia suficientă Jacobi-Legendre
e) CondiŃia Weierstrass
f) CondiŃia Erdman-Weierstrass
ObservaŃii:
CondiŃiile de extrem (a)...(f) sunt toate condiŃii necesare. Ansamblul
acestor condiŃii oferă condiŃia suficientă de extrem
În anumite probleme nu trebuie considerate toate condiŃiile (a...f) pentru a
verifica suficienŃa
Pentru verificarea suficienŃei trebuie utilizate toate cele şase condiŃii de
extrem numai în cazul folosirii formelor mai puŃin restrictive ale acestora
Se pot folosi în afară de (a) doar condiŃiile Jacobi şi Legendre, dacă
aceasta din urmă este verificată strict
În problemele de conducere optimală se poate apela doar la condiŃia
Legendre extinsă sub forma relaŃiilor (49)
Tehnici de optimizare
- note de curs -
x ( k ) = x (tk ), x ( k0 ) = x (t0 ), x ( k f ) = x (t f )
x ( k ) = x * ( k ) + ε ηx ( k )
(2)
x (k + 1) = x (k + 1) + ε ηx ( k +1)
*
δ x (k ) = ε ηx ( k )
δ x ( k + 1) = ε ηx ( k +1)
η x ( k0 ) = η x ( k f ) = 0 (3)
Hamiltonianul
H ( x (k ), u(k ), λ( k + 1), k ) =
= L( x (k ), u(k ), k ) + λT (k + 1) f ( x (k ), u(k ), k ), λ(k ) ∈ R n (12)
2.5.2. CondiŃii de extrem în problemele
de optimizare dinamică discretă
Pentru simplificare se consideră problemele invariante
k f −1
k =k f
I =M ( x(k )) k =k
0
+ ∑ [ H ( x ( k ), u( k ), λ( k + 1)) − λT
(k + 1) f ( x(k ), u(k ))] (13)
k =k0
Se consideră că o variaŃie δ u( k ) = ε ν ( k ) faŃă de comanda optimală
produce variaŃiile
δ x (k ) = ε η(k ), δ x (k + 1) = ε η(k + 1), δλ (k + 1) = ερ (k + 1)
faŃă de starea optimală şi costarea optimală şi, în final, variaŃia
indicelui de calitate δ I
(4) +(13) ⇒
k f −1
∂M (k f ) ∂M (k0 ) ∂H (k ) T ∂H (k )
ηT (k f ) − ηT (k0 ) + ∑ [ηT (k ) +ν (k ) +
⇒
∂x(k f ) ∂x(k0 ) k =k0 ∂x(k ) ∂u(k )
k −1
∂H (k ) f (14)
+ ρ (k +1)
T
] − ∑ [ λT (k +1)η(k + 1) + ρT (k +1) x(k +1)] = 0
∂λ(k + 1) k =k0
2.5.2. CondiŃii de extrem în problemele
de optimizare dinamică discretă
k f −1 kf
∑ λT ( k + 1)η(k + 1) = ∑ λT (k )η(k ) =
k = k0 k = k0 +1 (15)
k f −1
= λT (k f )η(k f ) − λT ( k0 )η(k0 ) + ∑ λT (k )η(k )
k = k0
(14) + (15) ⇒
∂M (k f ) T ∂M (k0 )
T
η (k f ) − λ( k f ) − η ( k0 ) − λ( k0 ) +
∂x (k ) ∂x (k0 )
f
k f −1 k f −1
∂H ( k ) ∂H (k )
+ ∑ ηT (k ) − λ( k ) + ∑ ν T ( k ) + (16)
k = k0 ∂x ( k ) k = k0 ∂u(k )
k f −1
∂H (k )
+ ∑ ρT (k + 1) − x ( k + 1) = 0
k = k0 ∂λ(k + 1)
2.5.2. CondiŃii de extrem în problemele
de optimizare dinamică discretă
(16) ⇒
∂H ( x* (k ), u* (k ), λ* (k + 1))
=0 (17)
∂u ( k )
*
∂H ( x * (k ), u* (k ), λ* (k + 1))
= x *
(k + 1) (19)
∂λ ( k + 1)
*
}
∂M ( x (k0 )) *
− λ ( k0 ) = 0 (20)
∂x (k0 ) condiŃiile de transversalitate
în raport cu capetele traiectoriei
∂M ( x (k f ))
− λ* (k f ) = 0 (21)
∂x (k f )
2.5.2. CondiŃii de extrem în problemele
de optimizare dinamică discretă
ObservaŃii
relaŃiile (17)-(21) se generalizează şi pentru cazul variant
H ( x , u, λ, t ) = L ( x , u, t ) + λT f ( x , u, t ) (26)
∂H ∂L( x , u, t ) T ∂f ( x, u, t )
=0⇒ + λ (t ) =0 (27)
∂u ∂u ∂u
∂H ∂L( x, u, t ) T ∂f ( x , u, t )
= −λ ⇒
ɺ + λ (t ) = − λɺ(t ) (28)
∂x ∂x ∂x
∂M ( x f )
= λ(t f ) ⇒ λ(t f ) = 0 (29)
∂x f
2.5.3. ComparaŃie între cazul continuu şi
cel discret
Se apelează la discretizarea
x ((k + 1)T ) − x ( kT )
xɺ kT = (30)
T
λ((k + 1)T ) − λ(kT )
λɺ kT = (31)
T
(24)+(30)+(31) ⇒ x (k + 1) = x (k ) + Tf ( x (k ), u(k ), k ), x (k0 ) = x
0
(32)
(27)+(28)+(29)+(30)+(31) ⇒
∂L( x (k ), u(k ), k ) ∂f ( x (k ), u(k ), k )
+ λ( k ) = 0 (33)
∂u(k ) ∂u (k )
T
λ( k f ) = 0 (35)
2.5.3. ComparaŃie între cazul continuu şi
cel discret
Se consideră acum sistemul discretizat
Hamiltonianul este
H ( k ) = TL( x ( k ), u( k ), k ) + λT ( k + 1)[ x ( k ) + Tf ( x ( k ), u( k ), k )] (38)
∂H (k ) ∂L( x ( k ), u(k ), t ) ∂f
=0⇒ + T λ(k + 1) = 0 (39)
∂u( k ) ∂u(k ) ∂u ( k )
∂H (k ) ∂L( x (k ), u(k ), k ) ∂f
= λ( k ) ⇒ T + In + T T λ(k + 1) = λ(k ) (40)
∂x (k ) ∂x (k ) ∂x (k )
2.5.3. ComparaŃie între cazul continuu şi
cel discret
În cele două variante, rezolvarea problemei se face pe baza
seturilor de relaŃii (32...35) şi respectiv (32, 35, 39, 40)
Evident, aceste relaŃii nu coincid întru totul
Dacă variabila adjunctă nu variază prea mult de la un pas de
discretizare la altul, deosebirea între (33) şi (39) nu este prea mare
• acest lucru poate fi acceptat pentru T suficient de mic
O deosebire mai mare apare între (34) şi (40)
• relaŃia (40) se mai scrie
−1
∂f ( x (k ), u(k ), k ) ∂L( x (k ), u( k ), k )
λ(k + 1) = I n + T λ ( k ) − T (41)
∂ x T
( k ) ∂x (k )
S ≥ 0, Q (t ) ≥ 0, P (t ) > 0
t0 , t f - fixaŃi x 0 (t0 ) = x 0 - fixată x (t f ) - liberă
}
∂x f
∂2H ∂2 H
= P (t ) > 0 = Q (t ) ≥ 0
∂u 2 ∂x 2
∂2 H ∂2 H
2 Q (t ) ⇒ extremul este un minim
∂x ∂ u ∂x 0
∂ M
2
= ≥0
=S ≥0 ∂ H ∂ H 0
2 2 P (t )
∂x f
2
∂x∂u ∂u 2
3.1.2. SoluŃia problemei
N (t ) = B (t ) P −1 (t ) BT (t ) (10)
(9) + (4) + (7) ⇒
ɺ (t ) − R(t ) N (t ) R(t ) + R(t ) A(t ) + AT (t ) R(t ) + Q(t )]x(t ) = 0, ∀t ∈[t , t ] (11)
⇒ [R 0 f
RelaŃia (11) trebuie să fie satisfăcută pentru orice x(t) ⇒
⇒ Rɺ (t ) = R (t ) N (t ) R (t ) − R (t ) A(t ) − AT (t ) R (t ) − Q (t ) (12)
(EcuaŃie Matriceală DiferenŃială Riccati - EMDR, cu condiŃia finală (8))
(1) + (5) + (7) ⇒ traiectoria extremală satisface ecuaŃia omogenă
xɺ (t ) = [ A(t ) − N (t ) R(t )] x (t ) (13)
x (t 0 )
u (t ) + xɺ (t ) x (t )
−P B −1 T
B ∫
+
A
λ (t ) R(t ) x
legea de conducere optimală în circuit închis este u(t) = −P−1BT Rx(t ) = Kx(t )
0T
*
valoarea minimă a indicelui de calitate este I ∞ = x Rx 0 , unde x 0 = x (0)
−1 T
Dacă în plus perechea ( Q , A) este detectabilă, matricea K = − P B R şi
comanda corespunzătoare u(t ) = Kx (t ) sunt stabilizatoare şi matricea R
este unica soluŃie pozitiv semidefinită a EMAR (29)
3.3. SoluŃionarea ecuaŃiilor matriceale
Riccati
SoluŃionarea PLP cu timp final finit / infinit impune rezolvarea unei
ecuaŃii matriceale Riccati diferenŃiale / algebrice
Pentru EMDR nu există soluŃii exprimabile prin formule analitice de
calcul,
şi în cazul scalar, în general, soluŃia ecuaŃiei diferenŃiale Riccati se poate
stabili numai dacă se cunoaşte o soluŃie particulară a ecuaŃiei
EMAR se reduce în cazul scalar la o ecuaŃie algebrică de gradul 2
În cazul matriceal EMAR echivalează cu un sistem de n(n+1)/2 ecuaŃii
algebrice neliniare de grad 2
pentru n ≥ 3 devine practic nerezolvabil pe cale analitică
chiar metodele numerice care abordează această cale sunt deosebit de
laborioase
3.3.1. Rezolvarea EMDR
a) SoluŃia EMDR se poate determina prin aproximaŃii succesive din şirul
R0 (t ), R1 (t ),..., Ri (t ),...,
care se poate demonstra că este convergent către soluŃia R(t) a EMDR
şi ale cărui elemente se calculează cu
t
Ri (t) = S + ∫ [Ri−1(θ )N(θ )Ri−1(θ ) − Ri−1(θ ) A(θ ) − AT (θ )Ri−1(θ ) − Q(θ )]dθ, i =1,2,...
tf
In 0
X (t ) X (t f ) In Ω11 (t , t f ) Ω12 (t , t f )
Λ(t ) = Ω (t , t f ) Λ(t ) = Ω (t , t f ) S , Ω (t , t f ) = Ω (t , t ) Ω (t , t )
f 21 f 22 f
R(k) = Q + AT R(k +1) A − AT R(k +1)B(BT R(k +1)B + P)−1 BT R(k +1) A (14)
S ≥ 0, Q (t ) ≥ 0, P (t ) > 0 (17)
3.5.1. Problema reglării optimale a
mărimii de ieşire
Dacă sistemul este complet observabil şi dacă S ≥ 0, Q(t) ≥0, atunci
C T (t f ) SC (t f ) ≥ 0, C T (t )Q (t )C (t ) ≥ 0 (18)
⇒
y (t ) = C (t ) x (t )
⇒ xT (t )C T (t )Q (t )C (t ) x (t ) ≥ 0, ∀ C (t ) x (t ) (19)
sistem complet observabil ⇒ fiecare ieşire y(t) este generată de o stare
unică x(t), deci inegalitatea (19) este adevărată pentru orice x(t) ⇒
Q ' (t ) = C T (t )Q (t )C (t ) ≥ 0
Similar se demonstrează că S ' = C T (t f ) SC (t f ) ≥ 0
3.5.1. Problema reglării optimale a
mărimii de ieşire
Rezultatele din 3.1 se pot transpune pentru această problemă
(deoarece sunt îndeplinite condiŃiile impuse în problema respectivă
pentru noile matrice Q ' şi S ')
Rɺ (t ) = R(t )B(t ) P −1(t )BT (t ) R(t ) − R(t ) A(t ) − AT (t ) R(t ) − CT (t )Q(t )C (t ) (21)
R (t f ) = C (t f ) SC (t f ) (22)
1 T
I* = x (t0 ) R(t0 ) x (t0 ) (24)
2
3.5.1. Problema reglării optimale a
mărimii de ieşire
ObservaŃii
Deşi problema este formulată în legătură cu mărimea de ieşire y(t),
regulatorul optimal este realizat cu reacŃie după stare, presupusă
accesibilă şi măsurabilă
Dacă stările nu sunt accesibile şi măsurabile, pentru rezolvarea
problemei trebuie introdus un estimator
Există şi posibilitatea de a utiliza reacŃia după ieşirea y şi în acest caz,
în relaŃiile de calcul intervine pseudoinversa matricei C
3.5.2. Problema urmăririi optimale
1 1 1
H = ( z − Cx )T Q ( z − Cx ) + uT Pu + λT ( Ax + Bu ) (27)
2 2 2
∂H
= 0 ⇒ u(t ) = − P −1BT λ(t ) (28)
∂u
ɺλ(t ) = − ∂H ⇒ λɺ(t ) = −C T QCx − AT λ + C T Qz (29)
∂x
∂M
λ(t f ) = − ⇒ λ(t f ) = C T (t f ) SC (t f ) x (t f ) − C T (t f ) Sz (t f ) (30)
∂x (t f )
xɺ (t ) A(t ) − N (t ) x (t ) 0
(15) + (29) ⇒
λɺ(t ) = 1 + z (t ) (32)
−Q (t ) − A (t ) λ(t ) W (t )
T
3.5.2. Problema urmăririi optimale
Din (32), (28), (34) se găseşte o relaŃie care este satisfăcută pentru
orice x(t) şi z(t) dacă
Rɺ (t ) = R (t ) N (t ) R(t ) − R(t ) A(t ) − AT (t ) R(t ) − Q1 (t ) (35)
şi gɺ (t ) = [ R(t ) N (t ) − AT (t )] g (t ) − W (t ) z (t ) (36)
g (t f ) = C T (t f ) Sz (t f ) (39)
3.5.2. Problema urmăririi optimale
Etape în rezolvarea problemei
(1°) Rezolvarea ecuaŃiei matriceale diferenŃiale Riccati (35), cu condiŃia de
capăt (38)
Se poate demonstra că C (t f ) SC (t f ) ≥ 0, Q (t ) = C (t )Q (t )C (t ) ≥ 0
T 1 T
g (t0 ) x (t0 )
z (t ) - g (t ) −1 + x (t ) y (t )
∫ ∫
T T
C Q BP B C
- +
F T (t ) F (t )
3.5.3. Problema urmăririi modelului de
referinŃă
O cale atractivă de a realiza proiectarea unui sistem automat este de a
impune de la început comportarea în regim dinamic, în sensul unei
apropieri cât mai mari de comportarea unui model impus
Modelul poate exista fizic sau poate fi luat în considerare un model
implicit
xɺ (t ) = Ax (t ) + Bu(t ) + w (t ); x (t0 ) = x 0
(43)
y (t ) = Cx (t )
1
J = [ x(t f ) − xd ]T S[ x(t f ) − xd ] +
2
tf
1
+ ∫ {[ xɺ (t ) − Lx(t ) − Bu(t ) − w(t )]T Q1[ xɺ (t ) − Lx(t ) − Bu(t ) − w(t )] + (45)
2t
0
+ [ x(t ) − xd ]T Q2[ x(t ) − xd ] + uT (t ) P (t )u(t )}dt
1
J = [ x (t f ) − xd ]T S[ x (t f ) − xd ] +
2
tf (46)
1
+ ∫ { xT (t )Qˆ1 x (t ) + [ x (t ) − xd ]T Q2 [ x (t ) − xd ] + uT (t ) P (t )u(t )}dt
2t
0
Qˆ1 = Aˆ T Q1 Aˆ , Aˆ = A − L
Tehnici de optimizare
- note de curs -
x0 (t0 ) = 0, 0 f
x (t ) = x0
f
(9)
4.1. EnunŃul principiului minimului
Se introduc vectorii n + 1 – dimensionali
x0 ɶ f 0
xɶ = ; f = , f 0 ≡ L (10)
x f
Se consideră sistemul xɺɶ (t ) = fɶ ( xɶ , u, t ) (11)
şi indicele de calitate I = Mɶ ( xɶ (t f )) = M ( x (t f )) + x0 (t f ) (12)
Hɶ ( xɶ , pɶ , u, t ) = pɶ T (t ) fɶ ( xɶ , u, t ),
pɶ = [ p0 p]T (13)
∂Hɶ ɺ ∂Hɶ
EcuaŃiile (5) şi (6) devin pɶ = −
ɺ ; xɶ = (14)
∂xɶ ∂pɶ
∂M ( x (t f ))
pɶ (t f ) = (15)
∂x (t f )
Hɶ ( xɶ , pɶ , u, t ) = p0 f 0 + pT (t ) f ( xɶ , u, t ) ⇒ (16)
Principiul minimului
Fiind dat sistemul (11) şi indicele de calitate (12), condiŃia necesară ca
u*(t) să fie comanda extremală, iar x*(t) - traiectoria extremală
respectivă este ca să existe un vector adjunct nenul pɶ (t ) dat de ecuaŃia
(14), cu condiŃia de capăt (15) şi cu Hɶ dat de (13), astfel încât să se
minimizeze valoarea hamiltonianului
Hɶ * = Hɶ ( xɶ * , pɶ * , u* , t ) = min Hɶ ( xɶ * , pɶ * , u, t ) (18)
u∈U
∂M (t f , x f )
+ H ( x* (t f ), p* (t f ), u* (t f ), t f ) = 0, x f = x (t f ) (21)
∂t f
În problemele cu stare finală liberă
∂M (t f , x f )
= p* (t f ) (22)
∂x f
4.1. EnunŃul principiului minimului
CondiŃiile de transversalitate
În problemele cu stare finală liberă pe o mulŃime X ⊂ X de obicei este
f
vorba de suprafeŃele finale specificate prin ecuaŃii de forma
∂M (t f , x f ) ∂ϕ F
p* (t f ) = + ⋅ ν * , ν = const. (24)
∂x *
∂x x* ,t f
x ,t f
ObservaŃii
Algoritmul se poate prezenta şi în raport cu problema transformată
pentru hamiltonianul Hɶ
În acest caz p0 este neprecizat şi, dacă se adoptă p0=1, rezultă pentru
problema netransformată hamiltonianul (4)
În multe probleme de optimizare dinamică, comanda şi starea sunt
separabile atât în sistem, cât şi în criteriu
De exemplu, în cazul invariant avem
xɺ (t ) = f ( x ) + h( u) (29)
L( x, u) = f 0 ( x ) + h0 ( u)
În acest caz, se observă în expresia (4) a hamiltonianului că termenii care
conŃin comanda u(t) nu depind de x
• ca atare, din condiŃia de minim a hamiltonianului rezultă comanda u exprimată
funcŃie de vectorul p
• dacă se cunosc condiŃiile de capăt pentru p(t), acesta se poate determina prin
integrarea ecuaŃiei (5) şi se stabileşte astfel u*
4.2. Algoritmul bazat pe principiul minimului
H
problemă invariantă
comanda scalară este restricŃionată
u la domeniul [um , uM ]
um u* uM
4.2. Algoritmul bazat pe principiul minimului
dacă extremul u* se află pe frontiera domeniului U sau
într-un punct interior în care H nu este derivabilă în raport cu u,
minimizarea hamiltonianului se face prin studiul funcŃiei H pentru x* şi p*
fixaŃi
H H
u* u* u u
um uM um u* uM
u* u
um u* uM
4.2. Algoritmul bazat pe principiul minimului
Etapa (d) a algoritmului prezentat se rezolvă în funcŃie de tipul
problemei respective, mai exact în funcŃie de tipul condiŃiilor terminale
EnunŃul principiului minimului şi algoritmul corespunzător oferă
posibilitatea determinării comenzii optimale u(t) în circuit deschis;
pentru conducerea proceselor tehnologice interesează însă cu precădere
obŃinerea comenzii optimale în circuit închis, deci realizarea sintezei
optimale în funcŃie de starea u(x(t))
În principiu, această problemă de sinteză se rezolvă construind (în sens
invers) traiectoriile care pleacă din xf
Pentru o reŃea suficient de deasă de astfel de traiectorii, se pot memora
comenzile pentru diverse situaŃii din spaŃiul stărilor
De obicei comenzile optimale sunt continue pe porŃiuni, suferind nişte
salturi (comutări) în anumite puncte din spaŃiul stărilor
• Aceste puncte nu sunt de regulă izolate, formând anumite suprafeŃe de
comutare
• Dacă se pot stabili ecuaŃiile acestor suprafeŃe de comutare, atunci se pot
preciza legile de variaŃie u(x) ale comenzii pentru fiecare domeniu din spaŃiul
stărilor şi sinteza este astfel rezolvată
Rezolvarea pe cale analitică a problemei sintezei optimale pornind de la
principiul minimului este practic posibilă numai pentru sisteme de ordin cel
mult 2
5. PROGRAMAREA DINAMICĂ
Programare dinamică - abordare a problemelor de optimizare bazată pe
principiul optimalităŃii: orice segment final al unui proces de
conducere optimal constituie el însuşi un proces de conducere optimal
Cu alte cuvinte, segmentul din traiectoria optimală situat între starea
intermediară x(τ) şi starea finală x(tf) este el însuşi o traiectorie optimală,
pentru un proces care pleacă din starea x(τ)
Γ0 x (τ )
x (t0 )
Γ1
Γ 1' x (t f )
5. PROGRAMAREA DINAMICĂ
Se poate spune că la fiecare moment τ al unui proces de conducere
optimal, comanda se determină operativ în funcŃie de starea curentă
x(τ) a sistemului condus, Ńinând cont de întreaga evoluŃie viitoare,
predictată de sistem
În mod obişnuit, stabilirea traiectoriei optimale pe baza programării
dinamice se face retrospectiv, pornind de la starea finală şi
determinând pe rând segmentele optimale până la starea iniŃială
Un avantaj deosebit al programării dinamice este acela că oferă direct
soluŃia problemei de sinteză optimală (de conducere optimală în circuit
închis), fiind de altfel singurul procedeu general cunoscut în prezent de
sinteză a legii de comandă în circuit închis şi sursa majorităŃii
procedurilor practice de calcul a acestei legi
În condiŃii destul de largi ecuaŃiile stabilite în cadrul programării
dinamice oferă atât condiŃii necesare, cât şi suficiente de optim
5. PROGRAMAREA DINAMICĂ
Programarea dinamică se formulează mai ales în legătură cu probleme
de tip Lagrange, dar poate fi extinsă fără dificultăŃi şi la alte tipuri de
probleme
Dezavantajul metodei este acela că, odată cu creşterea ordinului n al
sistemului, creşte foarte mult volumul de calcule (creşterea este
exponenŃială).
Bellman, care a enunŃat principiul optimalităŃii şi a fundamentat metoda
programării dinamice, a denumit acest aspect „blestemul dimensionalităŃii”
Metoda programării dinamice se aplică atât sistemelor continue cât şi
celor discrete, cu menŃiunea că în cazul celor dintâi, obŃinerea unor
soluŃii analitice este dificilă chiar şi în cazurile simple
Din acest motiv, de cele mai multe ori, în cazul sistemelor continue se
procedează la o discretizare, astfel că programarea dinamică se utilizează
de cele mai multe ori pentru cazul discret
5.1. PROGRAMAREA DINAMICĂ
DISCRETĂ
Se consideră o problemă de tip Bolza pentru un sistem continuu care
se discretizează
∆t = (t f − t0 ) / N (1)
xk +1 − xk
≅ f ( xk , uk ) (2)
∆t
xk = x (k ∆t ), uk = u( k ∆t ) (3)
x (t0 ) = x0 , x (t f ) = x N − oarecare
N −1
I = M ( x N ) + ∑ L( xk , uk )∆t (5)
k =0
5.1. PROGRAMAREA DINAMICĂ
DISCRETĂ
Vom presupune că s-au determinat comenzile u0 , u1 ,..., uN − 2 şi a
rămas de stabilit numai comanda uN −1 pe ultimul interval
Conform principiului optimalităŃii, uN −1 nu depinde de preistoria
procesului, ci numai de starea x N −1
Se consideră ultima sumă parŃială din (5):
I N −1 = M ( x N ) + L( x N −1, uN −1 ) ∆t (6)
(3) → x N = x N −1 + f ( x N −1 , uN −1 )∆t (7)
Trebuie determinat uN −1 ∈U care minimizează (6) şi satisface (7)
*
*
Ultimul segment al traiectoriei este optimal dacă pleacă din x N −1
{
S N −1 ( x*N −1 ) = min I N −1 = min M ( x N ) + L( x*N −1 , uN −1 )∆t =
uN −1∈U u N −1
}
(8)
{
= min M [ x*N −1 + f ( x*N −1 , uN −1 )∆t ] + L( x*N −1 , uN −1 )∆t
uN −1
}
Prin determinarea acestui minim, se obŃin u*N −1 şi S N −1 (, x*N −1 )
5.1. PROGRAMAREA DINAMICĂ
DISCRETĂ
Să luăm acum în considerare şi penultimul segment al traiectoriei
I N − 2 = I N −1 + L( x N − 2 , uN − 2 )∆t =
(9)
= M ( x N ) + L( x N −1 , uN −1 )∆t + L( x N − 2 , uN − 2 ) ∆t
x N −1 = x N − 2 + f ( x N −2 , uN − 2 )∆t (10)
= min
u ∈U
N −2
{ L( x*N −2 , uN −2 )∆t} =
S N −1 ( x*N −1 ) + (11)
{
SN −k ( x*N −k ) = min SN −k +1 x*N −k + f ( x*N −k , uN −k )∆t + L( x*N −k , uN −k )∆t (12)
uN −k ∈U
}
S N − k ( x *N − k ) = min I N − k (13)
uN − k ∈U
N
I N −k = M ( x N ) + ∑ L( xi , ui )∆t = I N −k +1 + L( xN −k , uN −k )∆t, k = 1,..., N (14)
i = N −k
x N − k +1 = x N −k + f ( x N −k , uN − k )∆t (15)
care rezultă prin raportarea unghiului de rotaŃie efectuat la unghiul nominal ΩNTN.
Vom introduce, de asemenea, şi energia disipată normalizată, prin raportarea pierderii de
energie la energia nominală RN I N2 TN :
T
w = ∫ i 2 (τ )dτ . (6)
0
Fα = ω + λ3 (ωɺ + m) 2 . (10)
Aplicăm ecuaŃiile Euler – Lagrange acestor funcŃii sintetice (pentru m = const. ):
∂Fw d ∂Fw
− = 0 ⇒ λ1 − 2ωɺɺ = 0,
∂ω dt ∂ωɺ
∂FT d ∂FT
− = 0 ⇒ λ2' − 2λ2ωɺɺ = 0,
∂ω dt ∂ωɺ
∂Fα d ∂Fα
− = 0 ⇒ 1 − 2λ3ωɺɺ = 0.
∂ω dt ∂ωɺ
Să observăm că, notând λ = λ1 / 2; λ = λ2' / (2λ2 ); λ = 1/ (2λ3 ) , ultimele trei ecuaŃii capătă
aceeaşi formă
λ − ωɺɺ(τ ) = 0 , (11)
ceea ce arată că cele trei probleme se tratează similar.
Exemplul acesta ilustrează afirmaŃia referitoare la dualitatea dintre condiŃiile izoperimetrice
şi criteriul de performanŃă în problemele cu legături funcŃionale.
Vom rezolva în continuare simultan cele trei probleme, cu referire concretă la problema
(a1). Pentru aceasta, exprimăm soluŃia pentru (11):
τ2
ω (τ ) = c1 + c2τ + λ . (12)
2
De aici rezultă ω (0) = c1 şi pentru problema (a1) avem
T2
ω (T ) = ω (0) + c2T + λ
2
T2 T3
şi α 0 = ω (0)T + c2 +λ .
2 2
Din aceste relaŃii rezultă
6α 0 − 4ω (0)T − 2ω (T )T
c2 = ,
T2
12α 0 − 6T [ω (0) + ω (T )]
λ=− .
T3
Problema (a1) se referă, în principal, la cazul unui sistem de urmărire, când trebuie realizată
o deplasare α 0 dată, în condiŃiile impuse; cel mai frecvent apare cazul când ω (0) = ω (T ) = 0 şi
atunci se obŃine
c2 = 6α 0 / T şi λ = −12α 0 / T 3 .
Cu aceasta, din (12) rezultǎ
6α 0 τ 2
ω (τ ) = τ − , (13)
T 2 T
iω
i(τ) ω(τ)
m=ct.
τ
T/2 T
12α 2
T
w = ∫ i 2 (τ )dτ = m2T + .
o T3
Se verifică şi condiŃia suficientă de extrem Legendre:
∂2L
=2>0
∂ωɺ 2
SoluŃionarea celorlalte două probleme este similară, având în vedere echivalenŃa menŃionată
mai sus.