Sunteți pe pagina 1din 73

UNIVERSITATEA POLITEHNICA DIN BUCURETI

Facultatea de tiine Aplicate


Specializarea: Matematic i informatic aplicate n inginerie
CONTROL OPTIMAL
Profesor coordonator: Student:
Prepeli Valeriu Petcu Andreea Cristina
Bucureti 2009
1
CUPRINS
1. Introducere
2. Optimizare Static
2.1 Optimizarea static n circuit deschis
2.2 Optimizarea static n circuit nchis
3. Optimizare Dinamic
3.1 Optimizare prin metode variaionale
3.2 Programarea dinamic
3.3 Principiul maximului al lui Pontriaghin
4. Aplicaii
4.1 Aplicaie optimizare prin metode variaionale utiliznd teorema de
optimalitate
4.2 Aplicaie optimizare prin metode variaionale utiliznd ecuaia
matricial Riccati
4.3 Aplicaie optimizare prin metoda programrii dinamice
5. Concluzii
6. Anexe
7. Bibliografie
2
1. Introducere
O anumit problem inginereasc nu are soluie unic; n cele mai multe cazuri, ea
posed o infinitate de soluii posibile. Dac aceste soluii variate sunt evaluate pe baza unei
funcii de cost specifice (numit i funcie de pierderi sau criteriu de calitate), fiecare soluie
va fi caracterizat printr-o anumit valoare a acestei funcii. Soluia care ofer o valoare optim
se numeste soluie optimal. Cutarea unei astfel de soluii optimale pentru o problem dat se
justific din ce in ce mai mult in contextul actual al dezvoltrii tehnologiei, al restriciilor
energetice si de resurse naturale, al preteniilor tot mai ridicate privind calitatea produselor.[1]
n aceast lucrare vom studia n profunzime optimizarea dinamic a proceselor. Vom
prezenta trei metode de optimizare dinamic: optimizarea prin metode variaionale (metoda
multiplicatorilor Lagrange i metoda ecuaiei matriciale Riccati) ([2], [3]), metoda programrii
dinamice a lui Bellman [1] i metoda principiului maximului al lui Pontriaghin. [1]
Studiul sistemelor optimale se face pornind de la urmtoarele elemente fundamentale:
1. Dinamica procesului este cunoscut, fiind exprimat sub forma unei ecuaii de stare

( ( ), ( ), ) x f x t u t t &
(1.1)
presupus n cele mai multe cazuri a fi liniar.
2. Se limiteaz atenia la cazul determinist, adic se admite c sistemul nu este supus unor
perturbaii stohastice (iar msurarea vectorului de stare nu este alterat de zgomote).
3. Vectorul de stare x i/sau comanda u sunt supuse unor restricii diverse de exemplu,
componentele lui u trebuie s se ncadreze ntre anumite limite (restricii de tip inegalitate), sau
se pot impune anumite valori iniiale i finale pentru x (restricii de tip egalitate), sau se impun
chiar restricii privind durate t
f
a conducerii procesului respectiv.
4. Se alege un indice de performan J, dependent n general de x i de u i cresctor
cumulativ cu timpul, adic de forma:

0
[ ( )] ( ( ), ( ), )
f
t
J u t L x t u t t dt

(1.2)
n raport cu care se realizeaz optimizarea.
5. Nu se face nici o presupunere cu privire la structura dispozitivului de conducere
optimal (spre diferenta de cazul proiectrii prin ncercri).
Cu acestea, problema comenzii optimale se formuleaz concis astfel:
S se gseasc comanda optim u
opt
(numit i strategia de conducere optimal) care
optimizeaz indicele de performan J, n condiiile unor restricii impuse.
n cadrul problemelor de optimizare se disting dou categorii:
3
1. Probleme de optimizare static.
2. Probleme de optimizare dinamic.
Optimizarea static se ntalnete atunci cnd se cere conducerea optimal a unui proces a
crui stare normal este regimul staionar. Fie astfel un proces descris de ecuaia (1.1), pe care
dorim s-l meninem n starea staionar constant

0
x x (1.3)
ntr-un astfel de regim, ecuaia diferenial vectorial (1.1) se reduce la o ecuaie algebric
vectorial (staionar):

0 0
( , ) 0 f x u (1.4)
ecuaie a crei rezolvare ne d valoarea comenzii u
0
constante, care poate menine sistemul n
regimul staionar dorit. n acest tip de probleme suntem interesai mai mult de viteza de variaie a
funciei de cost (indicelui de performan) J dect de valorea nsi a lui J. Din (1.2) se obtine
direct:
( , , )
dJ
L x u t
dt
(1.5)
Dac x i u se reduc la nite constante, rezult c viteza de variaie a indicelui de performan
capat valoarea constant

0
0 0
( , )
dJ
L x u
dt
_


,
(1.6)
ceea ce indic posibilitatea optimizrii procesului prin optimizarea vitezei de variatie a lui J.
Exemplu:
S consideram un sistem electric compus din n generatoare G
1
, G
2
Gn care furnizeaz
unor consumatori respectiv puterile
0 0 0
1 2
, ,...,
n
x x x (n kW). ntruct energia electric nu poate fi
stocat, va trebui ca puterea total, n fiecare moment, s fie egal cu cererea P a tuturor
consumatorilor, cerere care nu poate fi influenat de ctre productorii de energie electric.
Aadar, valorile puterilor din sistem vor trebui s satisfac restricia de tip egalitate

0
1
0
n
i
i
x P


(1.7)
Aceast condiie este satisfcut automat prin reglarea frecvenei (la valoarea de 50 Hz). O
crestere a frecvenei denot un surplus de putere produs n sistem, surplusul de energie din
sistem fiind utilizat la creterea energiei cinetice a acestuia (creterea vitezei generatoarelor).
4
Problema care se pune este aceea a repartiiei produciei pe fiecare generator. Se va
remarca faptul c sarcina P cerut de consumatori reprezint o marime lent variabil n raport cu
vitezele cu care se pot varia ieirile
0
i
x ale generatoarelor, ceea ce permite considerarea relaiei
(1.7) drept o ecuaie staionar. n rezolvarea acestei probleme, un indice de calitate judicious de
ales apare ca fiind costul total al energiei produse n sistem, n condiiile n care preul de
producie al energiei electrice variaz de la central la central (dup tipul energiei primare
utilizate, puterea generatoarelor, costul exploatrii etc.). Fie
0 0
( )
i i
u x rata (viteza) de variaie a
costului (exprimat de exemplu n lei/h) pentru a produce puterea
0
i
x (n kW) la centrala i. Se
obine deci rata de cost total staionar in sistem:

0
0 0
1
( )
n
i i
i
dJ
u x
dt

(1.8)
(n lei/h). Rata de cost
0
i
u poate fi considerat ca jucnd rolul unei comenzi pentru generatorul
G
i
i la care el rspunde prin marimea de ieire
0
i
x . Aadar, problema se reduce la minimizarea
ratei de cost totale (1.8) n condiiile respectrii restriciei de tip egalitate (1.7).
Pentru ilustrarea problemei optimizrii dinamice, ne vom referi la un alt exemplu.
Exemplu:
Fie problema poziionrii pe o orbit circumterestr a unui vehicul spaial, n scopul
cuplrii cu un alt vehicul spaial. Se va considera cazul simplificat al poziionrii doar n planul
orizontal local. La o rotire a vehiculului spaial cu unghiul , cauzat de plid, de trecerea pe o
alt orbit, nite reactoare laterale vor aciona cu cuplul C, care s readuc vehiculul n poziia
corect. n absena frecrilor i pentru perturbaii neglijabile, considernd totodat consumul de
combustibil al reactoarelor de poziionare mult mai mic dect masa vehiculului, ecuaia micrii
vehiculului va fi dat de:

J C &&
(1.9)
unde J este momentul de inerie al vehiculului n jurul axei de rotaie. Relaia (1.9) se mai poate
scrie:

C
J
&&
(1.10)
i, adoptnd ca variabile de stare
1
y x
si
2 1
x x & &
, avem ecuatiile de stare:

1 2
2
x x
x u

'

&
&
(1.11)
unde
5

C
u
J
(1.12)
reprezint mrimea de comand. Dar cuplul C este proporional cu viteza v de expansiune a
gazelor (din reactoarele de poziionare) fa de vehicul i cu viteza de ardere a combustibilului,
dup relaia:
C vm & (1.13)
unde m reprezint masa de combustibil. Aadar, comanda poate fi influenat prin viteza de
ardere m&. Se va propune drept criteriu de performan o valoare ct mai mic de combustibil
consumat pentru poziionare, adic

0
0
[ ] (0) ( )
f
f
t
f
t
J u mdt dm m m t

&
(1.14)
sau, innd cont de (1.12) i (1.13)

0
[ ]
f
t
J
J u udt
v

(1.15)
Dar extremul valorii lui J[u] nu depinde de constantele J i v, astfel c n loc de criteriul (1.15)
putem lua

0
[ ]
f
t
J u udt

(1.16)
Comparnd cu (1.2), rezult c funcia L (numit i funcie de pierdere, cci ea reprezint o
msur a ndeprtrii instantanee fa de valoarea ideal a indicelui de performan) va fi in
acest caz:
L u (1.17)
Problema de optimizare va consta n a gsi variaia optim a lui u(t) numit i strategie optim
care s minimizeze integrala (1.16), satisfcnd totodat diversele restricii impuse de cazul
fizic concret. Firete, astfel de restricii de tip egalitate se vor impune variabilelor de stare:

(0)
(0)
0
0
( )
0
f
y
x
x t
1

1
]
'
1

]
(1.18)
Se observ, din acest punct de vedere, c problema de optimizare trebuie s rezolve transferarea
sistemului dintr-o stare iniial dat ntr-o stare final dat (astfel de probleme sunt cunoscute sub
numele de probleme cu condiii pe frontiere). n plus, s-ar putea ca s nu avem disponibil dect
6
un reactor de pozitionare; de asemenea, este clar c valoarea lui u(t) este limitat (fizic) la o
valoare maxim u
max
. Aadar i comanda poate fi supus unor restricii (de tip inegalitate) avnd
forma:
max
0 u u < <
.
n fine, trebuie remarcat c nu a fost pus n discuie pn acum nici o limitare asupra
duratei totale t
f
a procesului de optimizare. Firete, dac comanda u ar putea fi orict de mare,
durata t
f
ar putea fi facut arbitrar de mic. Dar, dup cum s-a menionat, limitrile fizice asupra
valorii comenzii ridic chestiunea ncadrrii ntr-un interval de timp specificat
f
t T
.
n exemplul analizat starea sistemului se modific nencetat, iar realizarea strategiei
optime u
opt
(t) trebuie realizat pe msura i n concordan cu aceste modificri. Se vede astfel c
avem de-a face cu o optimizare dinamic.
2. OPTIMIZARE STATIC
Optimizarea static a proceselor poate fi realizat n dou moduri:
- ca optimizare n circuit deschis, utilizabil atunci cnd modelul matematic al unui
proces este bine cunoscut (inclusiv valorile parametrilor), iar efectele perturbaiilor
sunt neglijabile.
- ca optimizare in circuit nchis, pentru procesele n care parametrii sunt insuficient
cunoscui i/sau variaz cu timpul, iar perturbaiile de tip aleator au o puternic
influen asupra strii sistemului; aceast metod se bazeaz pe experimentare.
2.1 OPTIMIZARE STATIC N CIRCUIT DESCHIS
ntruct, dup cum am artat, n cazul optimizrii statice, mrimile u
0
si x
0
sunt legate
printr-o ecuaie algebric staionar (1.4), este posibil ca cel puin n principiu s se rezolve
aceast ecuaie n raport cu u
0
i, dup nlocuirea acestei valori n (1.6), s se exprime viteza de
variaie a indicelui de performan J ca o funcie numai de starea staionar x
0
:

0
0
( )
dJ
H x
dt
_


,
(2.1.19)
funcia H lund diverse valori n funcie de vectorul particular x
0
ales. Obinerea valorii lui x
0
care s optimizeze funcia H depinde de: natura particular a funciei H, dimensiunea lui x
0
,
restriciile impuse.
Dac se reperzint funcia
0 0
1
( ,..., )
n
H x x ntr-un spaiu (n+1) dimensional, se obin nite
contururi de valori H
i
=const.
7
Figura 1 Contururi H=const la sisteme bidimensionale
Aceast situaie se poate vizualiza uor n cazul n=2, adic pentru
0 0
1 2
( , ) H x x . Se observ
c unele suprafete
0 0
1 2
( , ) H x x prezint un maxim de tip neted (fig. 1 b), altele au un vrf
ascuit (fig. 1 d), altele prezint mai multe maxime de valori diferite (fig. 1 c) sau nu prezint nici
un maxim dac coordonatele
0
i
x nu sunt supuse la restricii (cazul din fig. 1 a, corespunztor la
0 0 0 0
1 2 1 1 2 2
( , ) H x x x x + cu
1
,
2
=const)
O situaie cu totul diferit se ntlnete dac se impun unele restricii asupra variabilelor
de stare de tip egalitate:

0 0
1
( ,..., ) 0, 1, , ( )
v n
h x x v p p n < (2.1.20)
sau, sub forma vectorial:

0
( ) 0 h x (2.1.21)
8
ori de tip inegalitate:

0 0
1
( ,.., ) 0, 1, , ( )
n
g x x q q n

< < (2.1.22)


Astfel, de exemplu, suprafata H din fig. 1 b are n lipsa restriciilor un maximum n punctul
P
1
. Dac adoptm ns restricia
0 0
1 2
( , ) 0 h x x care impune ca
0
1
x i
0
2
x s ia valori numai pe o
suprafa ce intersecteaz suprafaa H conform conturului zonei haurate din fig. 1 e, atunci
rezult un maxim n condiii de restricii, care este punctul P
2
de tangent ntre curba H
0
de pe
suprafata H i suprafaa.
0 0
1 2
( , ) 0 h x x .
a) O prim situaie care poate apare este aceea a unei funcii de performan H de tip
liniar, adic de forma:

0 0
1
( )
n
i i
i
H x x

(2.1.23)
iar restriciile de tip egalitate sau tip inegalitate sunt de asemenea liniare. O astfel de
problema reprezint o problema de programare liniar.
b) Un caz important n practic este acela cnd funcia de performan H posed un
maxim de tip neted (numit i calculabil), ca de exemplu n fig. 1 b.
n caz c nu exist restricii, punctul de optim se poate identifica prin faptul c valoarea
lui H nu se modific la o deplasare arbitrar de mic pe suprafaa
0 0
1
( ,..., )
n
H x x adic
0
opt
H H

este staionar. Din (2.1.19) rezult:

0 0 0
1 2 0 0 0
1 2
...
n
n
H H H
dH dx dx dx
x x x

+ + +

(2.1.24)
ntruct
0
i
dx sunt libere (deplasarea din punctul de optim putndu-se face n orice direcie cu
orice valoare mic), condiia:
0 dH (2.1.25)
implic

0
0, ( 1, )
i
H
i n
x

(2.1.26)
Pentru a cunoate dac optimul obinut reprezint un maxim, un minim sau un punct n
a, trebuie utilizate alte mijloace; deci condiia (2.1.26) este doar necesar (nu i suficient).
Mult mai complicat este ns cazul determinrii unui optim n prezena restriciilor, n
cazul n-dimensional, cu p restricii de tip (2.1.20). n acest caz avem nevoie de p multiplicatori
Lagrange
9

0 0
, ( 1, )
i
i i
H h
i p
x x




(2.1.27)
Se definete o funcie majorat H
*
:

*
1
p
v v
v
H H h

(2.1.28)
Maximul supus la restricii de tip (2.1.20) va fi caracterizat prin

*
0
0, ( 1, )
i
H
i n
x

(2.1.29)
Exemplu:
Relum exemplul iniial de optimizare static a repartiiei puterilor ntre generatoarele
unui sistem. n acest caz funcia H este dat de (1.8), iar restricia de forma (1.7). Figura 2 a)
reprezint o curba tipic
0
i
u [lei/h](x
0
i
[kW]). Pentru cazul a dou generatoare, suprafaa H este
reprezentat n figura 2 b).
Figura 2 Curbe tipice de cost n raport cu puterea electric produs n centrale termoelectrice
Funcia de performan (cost) majorat va fi
* 0 0 0 0 0 0
1 1 1
( ) ... ( ) ( ... )
n n n
H u x u x x x P + + + + +
i, conform (2.1.29):
10
0 0 * *
1
0 0 0 0
1 1
0;...; 0
n
n n
u u H H
x x x x


+ +

respectiv
0 0 0
1
0 0 0
1
... ...
i n
i n
u u u
x x x




Derivatele pariale
0 0
/
i i
u x reprezint aa-numitele costuri incrementale de producie
ale generatoarelor.
Rezultatul obinut n acest exemplu se traduce astfel: pentru realizarea unui beneficiu
maxim, sistemul va trebui condus astfel nct costurile incrementale s fie egale pentru toate
generatoarele din sistem (ceea ce nu implic neaprat ca i costul total al produciei de energie
este egal pentru toate generatoarele) i, firete, suma puterilor generate n sistem s fie egal cu
puterea P a consumatorilor.
n concluzie, o astfel de optimizare se spune c este n circuit deschis, ntruct optimul
rezultat este corect atta timp ct modelul matematic al procesului este corect i acest model este
complet precalculat i fix, fr a ine cont de perturbaiile dinamice (ci doar de cele staionare,
modelul nsui fiind staionar = fix).
2.2 OPTIMIZARE STATIC N CIRCUIT NCHIS
Dac nu dispunem de un model matematic acceptabil pentru procesul ce trebuie optimizat
static, este posibil a-l face pe acesta din urm s funcioneze optim prin experimentare n timp
real. n literatura de specialitate au fost propuse numeroase metode de cutare experimental a
optimului static, metode ncadrate n denumirea de tehnici de urcarea pantei. Toate aceste
metode procedeaz mai nti la cutarea direciei ctre vrful pantei i apoi produc deplasarea n
acea direcie. Unele metode sofisticate caut nu numai direcia ctre vrful pantei, ci direcia cea
mai bun n sensul atingerii optimului n timp minim; astfel de metode reprezint metode de
gradient sau metode de urcare (respectiv coborre, n cazul c optimul reprezint un minim) pe
linia de cea mai mare pant.
mprind (2.1.24) n ambii membri cu dt, se obine:

0 0
1
0 0
1
...
n
n
dx dx dH H H
dt x dt x dt

+ +

(2.2.30)
care se mai poate scrie compact sub forma produsului scalar

0
0 0
( ), ( )
x
H x H x < >
&
(2.2.31)
unde
11

0
0
1
0
0
( ) ...
x
n
H
x
H x
H
x

1
1

1
1
1

1
1
]
(2.2.32)
reprezint gradientul funciei scalare H(x
0
) n raport cu vectorul x
0
.
Pentru o valoare dat a vitezei x
0
, viteza de variaie a lui H va fi maxim atunci cnd x
0
i
0
x
H
sunt paralele, adic atunci cnd micarea se face n direcia gradientului.
Figura 3 Structura general a unui sistem de cutare a optimului static
Un sistem automat cu optimizare static prin cutarea experimental va trebui s
foloseasc semnale speciale de testare (perturbaii de valoare mic i lent variabile), injectate n
sistem; trebuie ns menionat c, dac sistemul conine n mod normal zgomote interne de
valoare suficient de mare, se pot chiar ele folosi drept semnale de test. Schema din figura 3
reprezint structura general a unui sistem automat de cutare a optimului, n care semnalele
perturbatoare de testare sunt introduse aditiv peste cele m intrri staionare u
0
i
. Se presupune c
toate variabilele de stare care afecteaz valoarea funciei H sunt accesibile. Se folosete un
generator al funciei H pe baza valorilor rezultate din proces pentru variabilele de stare. Din
cauza variaiilor lente ale perturbaiilor, variabilele de stare i modific valorile i H i va
modifica valoarea. Aceste modificri vor fi interpretate de dispozitivul de optimizare static, care
va efectua modificri ale valorilor comenzilor u
0
i
astfel nct valoarea lui H s se apropie de
optim. Optimizarea se face n circuit nchis i, dac dispozitivul de optimizare static este
conceput corespunztor, sistemul va evolua n sensul atingerii optimului.
12
3. OPTIMIZAREA DINAMIC
Problema optimizrii dinamice este caracterizat de vectori de stare i de comand
variabili n timp. Altfel spus, n cazul optimizrii statice avem de optimizat o funcie (2.1.19); n
cazul optimizrii dinamice trebuie cutate condiiile n care se extremizeaz o funional de tip
(1.2), adic

0
[ ] [ ( ), ( ), ]
f
t
J u L x t u t t dt

(3.33)
n cele ce urmeaz vom prezenta metode de optimizare dinamic.
3.1 OPTIMIZAREA PRIN METODE VARIAIONALE
Tot aa cum metoda multiplicatorilor lui Lagrange permitea n cadrul optimizrii
statice determinarea condiiei necesare pentru ca funcia H posednd un extrem de tip
neted s fie optimizat, n optimizarea dinamic calculul variaional ne ofer posibilitatea
determinrii condiiilor necesare (dar nu suficiente) de obinere a unui optim pentru o funcional
(integral) prezentnd un extrem de tip neted.
Calculul variaional n contextul teoriei sistemelor prezint urmtoarea problem
general (problema Bolza):
a) Procesul este descris de vectorul de stare x(t) satisfcnd ecuaia de stare (1.1), cu
{ } , { } , { }
n m
x X R u U R t T R , unde funciile (componentele lui f) sunt continue i
admit derivate pariale continue ntr-un domeniu al spaiului X U T - ce va fi precizat prin
restricii. Se accept, de asemenea, c sistemul (1.1) admite o soluie unic pentru condiii iniiale
0 0
( ) x t x

date i o comand u(t) dat.


b) Strile i valorile comenzilor sunt supuse unor restricii de tip

( , , ) 0 r x u t
(3.1.37)
unde funciile r
i
(componentelele lui r) sunt presupuse continue i continuu derivabile, restricii
ce definesc un domeniu (n general nchis) al aa-numitelor stri i comenzi admisibile (cazul
| |
i
u M
este de acest tip, scriindu-se sub forma:
2 2
0
i
r u M ).
Un alt tip de restricii au forma unei integrale

0
( , , ) 0
f
t
t
p x u t dt

(3.1.38)
13
(un exemplu l constituie limitarea energiei disponibile n sistem, exprimat prin
0
2
f
t
i
t
u dt a

si
care se mai poate scrie sub forma:
0
2
0
f
t
i
f t
a
u dt
t t
1 _
1

1
, ]

.
c) Sistemul evolueaz ntre momentele t
0
i t
f
; acestea, ca i x(t
0
), x(t
f
), pot fi fixate
aprioric, pot fi libere, ori pot fi obligate s raspund unor condiii la limit (pe frontier) de tip

0 0
( , ) 0
( , ) 0
f f
k x t
l x t

'

(3.1.39)
unde k
i
i l
i
sunt presupuse continue i continuu derivabile.
d) Se impune un criteriu tip Bolza mai general ca (1.2):

0
0 0
( , , ) ( , , , )
f
t
f f
t
J L x u t dt M x t x t +

(3.1.40)
unde primul termen este o integral evaluat de-a lungul curbei integrale ce rezult pentru x(t
0
) i
u(t) alei, iar cel de-al doilea termen este dependent de extremiti n cazul cnd acestea nu sunt
impuse; funciile L i M sunt presupuse continue i continuu derivabile.
n cele ce urmeaz vom prezenta condiiile necesare de optimalitate i vom enuna
teorema de optimaliate.
Fie un sistem cu ecuaia de stare de forma ecuaiei (1.1) cu functionala de cost dat de
ecuaia (3.1.40) unde:
1. f este o funcie msurabil n raport cu t, de clas C
1
n raport cu x i de clas C
1
n
raport cu u;
2. L funcie de clas C
1
n raport cu toate argumentele i pozitiv (Lagrangean)
3. M funcie de clas C
1
, convex (Meyerian)
Definim mulimile:
{ } 1 2
{ } : [ , ]
m
deschis
U u t t U R
mulimea comenzilor admisibile i
{ } 1 2
{ } :[ , ]
n
deschis
X x t t X R
mulimea starilor admisibile.
Definim mulimea traiectoriilor (perechilor) admisibile ca fiind
{ } { } ( , ) { } { }/( , ) (1.1) T x u X U x u verifica ecuatia de stare
.
14
Problema este s se determine o traiectorie optimal, adico traiectorie
( , ) { } x u T %%
astfel
nct
[ ] [ ] J u J u %
.
Fie
( , ) { } x u T %%
o traiectorie optimal.
Considerm o variaie mic a traiectoriei optimale
( , ) { } x u T

. Atunci:
( ) ( ) ( ); x t x t h t

+ %

( ) ( ) ( ). u t u t k t

+ %

Definim funcia:
0
0 0 0
( ) [ ]
( ) ( , ( ) ( ), ( ) ( )) ( , ( ) ( ), , ( ) ( )).
f
t
f f f
t
F J u
F L t x t h t u t k t dt M t x t h t t x t h t



+ + + + +

% % % % cu
proprietile:
1. F este derivabil;
2.
0
(0) [ ] | [ ] [ ] ( ), F J u J u J u F

%
. Rezult c 0 este un punct de minim
pentru funcia F. Conform teoremei lui Fermat rezult c
(0) 0 F
(3.1.41).
Derivm funcia
( ) F
:
0
0
0
( ) ( ) ( ) ( ) ( )
f
T
T
T T
t
f
t
f
L L M M
F h t k t dt h t h t
x u x x

1 _
_ _ _
+ + +
1


, ,
1 ,
, ]

,
unde derivatele pariale sunt calculate pentru
( ( ) ( ), ( ) ( )) x t h t u t k t + + % %
.
Conform relaiei (3.1.41) rezult c:
0
0
0
( ) ( ) ( ) ( ) 0
f
T
T
T T
t
f
t
f
L L M M
h t k t dt h t h t
x u x x
1 _
_ _ _
+ + +
1


, ,
1 ,
, ]

. (3.1.42)
Definim Hamiltonianul acestei probleme:
( , ( ), ( ), ( )) ( , , ) ( ) ( , , )
T
H t x t u t p t L t x u p t f t x u + , unde vectorul p este de forma
1
[ ... ]
n
p p p
, iar p
1
p
n
sunt multiplicatorii lui Lagrange.
Atunci ( , , )
T
L H p f t x u .
Derivm aceast ecuaie dup x i dup u pentru a afla
L
x

i
L
u

.
Calculm mai nti:
15
1 1
1 1 1
1 1 1 1 1 1
1 1
1 1 1
( ... ) ... ...
( ) ... ... ... ... ... ...
( ... ) ... ...
n n
n n n
T
n n
n n n
n n n n n
f f f f
p f p f p p
x x x x x p
p f
x
f f p f f
p f p f p p
x x x x x
1 1 1
+ + + +
1 1 1

1 1 1

1 1 1

1 1 1

1 1 1
+ + + +
1 1 1
] ] ]
n
1
1
1
1
]
Rezult c:
1
( ) ...
T
T
n
p
f
p f
x x
p
1
_ 1


1

,
1
]
.
Analog obinem:
1
( ) ...
T
T
n
p
f
p f
u u
p
1
_ 1


1

,
1
]
.
Astfel am obinut urmtoarele formule pentru
L
x

si
L
u

:
1
1
...
( )
( )
...
T
T
n
T
T
n
p
L H f
L H
x x x
p f
p
x x x
L H p
p f
L H f
u u u
u u u
p
1
_ 1


1

,

1
]

' '

1


_
1



1

,
1

]
.
Ecuaia (3.1.42) devine:
0 0
0
0
( ) ( ) ( ) ( ) ( )
( ) ( ) 0
f f
T T
t t
T
t t
T
T
f
f
H H f f
h t k t dt p t h t k t dt
x u x u
M M
h t h t
x x
1
_ _ _
+ + +
1


, , ,
1
]
_
_
+ +




,
,

(3.1.43)
Pentru a calcula integrala
0
( ) ( ) ( )
f
t
T
t
f f
I p t h t k t dt
x u
_
+


,

notm
( ) h t dx
i
( ) k t du
. nlocuim n integrala I i obinem:
( ) ( )
f f f f
h t k t dx du df
x u x u

+ +

16
Conform ecuaiei (1.1)
f x &
. Astfel
df dx &
. Cum ( ) ( ) dx dx h t
&
& obinem c:
( ) ( ) ( )
f f
h t k t h t
x u

+

&
.
nlocuim n integrala I:
0
( ) ( )
f
t
T
t
I p t h t dt

&
. Integrm prin pri i obinem
0
0
( ) ( ) | ( ) ( )
f
f
t
t
T T
t
t
I p t h t p t h t dt

&
.
nlocuind n ecuaia (3.1.43) cele obinute mai sus aceasta devine:
0 0
0 0
0
( ) ( ) ( ) ( ) ( ) ( ) ( ) 0, ,
f f
T
T
T T
t t
f f
t t
f
H H M M
p t h t dt k t dt p t h t p t h t h k
x u x x
_
_ _ _
+ + + + +




, ,
,
,

&
innd cont de rezultatele obinute mai sus enunm teorema de optimalitate:
Dac
( , ) x u %%
este o pereche optimal a sistemului dat prin ecuaia de stare
( ( ), ( ), ) x f x t u t t &
cu funcional de cost
2
1 1 2 2
1
( ) = ( , ( ), ( )) ( , ( ), , ( ))
t
t
J u L t x t u t dt M t x t t x t +


atunci exist multiplicatorii Lagrange
1 2
, , p p K
astfel nct
( , ) x u %%
verific urmtoarele
condiii:
= ( , , , ), (= ( , , ))
( )
= ( , , , )
H
x t x u p f t x u
p
sistemul canonic
H
p t x u p
x


&
% %% %%
& %%

( , , , ) = 0 ( )
H
t x u p ecuatia comenzii optimale
x

%%

1 1 2 2 1 2
( ) ( ) ( ) ( ) = 0
T T
M M
p t h t p t h t
x x
_ _
+ +


, ,

( ) conditia de transversalitate
n cele ce urmeaz considerm un caz particular de problem de optimizare, respectiv
problema liniar patratic. Astfel:
Considerm un sistem liniar :
= ( ) ( ) ( ) ( ), x A t x t B t u t + &
(3.1.44)
cu o funcional de cost patratic
17
0
1 1
[ ] = ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
2 2
t
f T T T
f f
t
J u x t Q t x t u t R t u t dt x t Mx t 1 + +
]
(3.1.45)
unde
0
= [ , ], ( , ), ( , )
n n n m
f
I t t A C I B C I

R R
si ( , )
n n
M C I

R este o matrice nenegativ


definit simetric real ( )
= , 0
T
M M M
, ( , ), ( , )
n n m m
Q C I R C I

R R ,
( ) Q t
este o matrice
simetric nenegativ definit i
( ) R t
este o matrice simetric pozitiv definit
( )
0
( ) > 0, [ , ]
f
R t t t t
.
Aplicm teorema de optimalitate:
1. Scriem Hamiltonianul
1
( , , , ) = ( )
2
T T T
H t x u p x Qx u Ru p Ax Bu 1 + + +
]
(3.1.46)

2. Scriem sistemul canonic
( )
}
=
= =
1 1
= = ( ) ( ) =
2 2
T
Q Q
T
T T T
H
x Ax Bu
p
H
p Q t x x Q t A p Qx A p
x

_
+ + +

,
&
&
(3.1.47)

3. Determinm comanda optimal
= ( ) = 0
T
H
R t u B p
u

(3.1.48)
de aici
1
=
T
u R B p

% (3.1.49)
(
1
R

exist din faptul c R>0).


Verificm dac u%realizeaz minimum: Hessiana este
2
2
= ( ) > 0
H
R t
u

, deci u%realizeaz
minimul problemei.
4. Gsim traiectoria optim, introducnd comanda optimal (3.1.49) u%n (3.1.47)
Obinem sistemul:
1
= ( ) ( ) ( ) ( )
T
x A t x B t R t B t p

& (3.1.50)
18
= ( ) ( )
T
p Q t x A t p & (3.1.51)
sau
=
x x
H
p p
1 1
1 1
] ]
&
&
unde matricea Hamilton
H
este de forma
1
( )
= .
( )
T
T
A BR t B
H
Q t A

1
1

]
(3.1.52)

5. Scriem condiia de transversalitate (cu starea iniial fixat i cu starea final liber)
0 0
( ) = x t x
( ) = = ( ) .
f f
f
M
p t Mx t
x

(3.1.53)

Rezolvm sistemul
1
= ( ) ( ) ( ) ( )
T
x A t x B t R t B t p

&
= ( ) ( ) .
T
p Q t x A t p & (3.1.54)
pentru a obine perechea
, x p %%
.
O metod de a rezolva acest sistem este cea n care ne folosi de ecuaia matricial Riccati.
Astfel cutm o matrice P(t) astfel nct vectorul p s fie de forma
( ) ( ) ( ) p t P t x t
cu condiia
final
( )
f
P t M
, pentru a obine comanda optimal
1 T
u R B Px

% .
n acest caz formula (3.1.50) devine
( )
1 T
x A BR B P x

&
(3.1.55)
i vom avea

T
p Px Px Qx A Px +
&
& & (3.1.56)
De aici - prin nlocuirea lui x&- obinem
( )
1
0;
T T
P PA A P Q PBR B P x x

+ + +
&
(3.1.57)
Rezult c P trebuie s satisfac ecuaia Riccati (RDE) de forma
19

1
0
T T
P PA A P Q PBR B P

+ + +
&
(3.1.58)
cu condiia final

( )
f
P t M
(3.1.59)
Astfel am demostrat c dac
1 T
u R B Px

% este comanda optimal atunci matricea P(t)


este soluia ecuaiei Riccati (3.1.58) cu condiia final (3.1.59).
Acum facem demostratia n sens invers. Presupunem c P(t) este soluie a ecuaiei
(3.1.58) cu condiia final (3.1.59). Artm c
1 T
u R B Px

% realizeaz minimul funcionalei.


Calculm n dou moduri integrala ( )
0
( ) ( ) ( )
f
t
T
t
d
x t P t x t dt
dt

.
Metoda 1:
( ) ( )
{
0
0
0 0 0
( ) ( ) ( ) ( ) ( ) ( ) | ( ) ( ) ( ) ( ) ( ) ( )
f
f
t
t
T T T T
t f f f
t
M
d
x t P t x t dt x t P t x t x t P t x t x t P t x t
dt

(3.1.60)
Metoda 2
( ) ( )
0 0
0
1
( ) ( ) ( )
f f
T T
f
t t
T T T T
t t
x x Px
x t
T T T T T T T T T T T
t
d
x t P t x t dt x Px x Px x Px dt
dt
x A u B Px x A Px x APx x Qx x PBR B Px x P Ax Bu

+ +
1 _ _
_
1
+ + + + +
1
,
1
, , ]

& &
&
&
& &
6 447 4 48 6 4 4 4 4 4 4 447 4 4 4 4 4 4 4 48
647 48

(3.1.61)
Dup ce facem toate reducerile posibile obinem
( ) ( )
0 0
1
( ) ( ) ( )
f f
t t
T T T T T T T
t t
d
x t P t x t dt u B Px x PBu x Qx x PBR B Px dt
dt

+ +

(3.1.62)
nmulim cu ecuaiile (3.1.60) i (3.1.62) i le egalm.
Astfel funcionala de cost (3.1.45) se rescrie:
20

( )
( ) ( )
0
0
0
1
0 0 0
1 1
0 0 0
1 1
[ ] = ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
2 2
1 1
( ) ( ) ( )
2 2
1 1
( ) ( ) ( )
2 2
f
f
t
f T T T
f f
t
t
T T T T T T T
t
t
T
T T T
t
J u x t Q t x t u t R t u t dt x t Mx t
x t P t x t u B Px x PBu x PBR B Px u Ru dt
x t P t x t u R B Px R u R B Px dt


1 + +
]
+ + + +
+ + +

(3.1.63)
Deoarece 0 R > rezult c integrantul este minim cnd este 0. Acest lucru se obine
pentru
1
0
T
u R B Px

+ . Astfel comanda optimal este de forma


1 T
u R B Px

% .
Am demostrat astfel urmatoarea teorem cunoscut i sub numele de sinteza Kalman-
Letov :
Problema liniar patratic (3.1.44)-(3.1.45) are soluia optimal unic
1 T
u R B Px

% ,
unde matricea real simetric P este soluia ecuaiei difereniale Riccati cu condiia final
( )
f
P t M
.
n cazul n care timpul final t
f
tinde spre infinit ecuaia matricial Riccati devine:
1
0
T T
PA A P Q PBR B P

+ +
n cele ce urmeaz voi prezenta solutia ecuaiei matriciale Riccati.
Fie
0
( , )
f
t t
matricea fundamental a sistemului
1
= ( ) ( ) ( ) ( )
T
x A t x B t R t B t p

&
= ( ) ( ) .
T
p Q t x A t p &
cu condiia final
( )
f
P t M
Soluia ecuaiei difereniale Riccati
1
0
T T
P PA A P Q PBR B P

+ + +
&
este

1
0
( ) ( , ) ( , )
f
P t t t t t


(3.1.64)
Demonstratie:
i verific ecuaiile
21

1
( , ) ( ) ( , ) ( ) ( ) ( , ), ( , )
( , ) ( ) ( , ) ( ) ( , ), ( , )
T
f f f f f
T
f f f f f
t t A t t t B t R B t t t t t I
t t Q t t t A t t t t t M



&
&
(3.1.65)
Prin derivarea egalitii
( , ) ( ) ( , )
f f
t t P t t t
(3.1.66) obinem

( , ) ( ) ( , ) ( ) ( , )
f f f
t t P t t t P t t t +
& & &
(3.1.67)
innd cont de ecuaiile (3.1.65) i (3.1.66), ecuaia (3.1.67) devine:
1
( , ) ( , )
1
( ) ( , ) ( ) ( , ) ( ) ( , ) ( )( ( ) ( , ) ( ) ( ) ( , ))
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( , )
f f
T T
f f f f f
t t t t
T T
f
P t t t Q t t t A t t t P t A t t t B t R B t t t
Q t A P t P t A t P t B t R B t P t t t


1 +
]
& &
&
1 4 4 4 442 4 4 4 4 43 1 4 4 4 4 442 4 4 4 4 4 43
(3.1.68)
Dac nmulim la dreapta cu
1
0
( , ) ( , )
f
t t t t


, vom obine
1
0
T T
P PA A P Q PBR B P

+ + +
&
. De aici unica soluie a ecuaiei matriciale Riccati este
1
0
( ) ( , ) ( , )
f
P t t t t t


.
Demonstraia fiind ncheiat trecem la urmtorul pas.
mprim ecuaia fundamental
( , )
f
U t t
corespunztoare matricei Hamilton
1
( )
=
( )
T
T
A BR t B
H
Q t A

1
1

]
astfel

11 12
21 22
( , ) ( , )
( , ) ( , )
f f
f f
U t t U t t
U t t U t t
1
1
]
(3.1.69)
Astfel soluia problemei Cauchy

( , ) ( , )
( )
( , ) ( , )
f f
f f
t t t t
H t
t t t t
1 1

1 1

] ]
&
&
(3.1.70)

( , )
( , )
f f
f f
t t I
t t M
1 1

1 1

] ]
(3.1.71)
este

( , )
( , )
( , )
f
f
f
t t I
U t t
t t M
1 1

1 1

] ]
(3.1.72)
Soluia (3.1.72) poate fi scris desfsurat astfel:
22

11 12
21 22
( , ) ( , ) ( , )
( , ) ( , ) ( , )
f f f
f f f
t t U t t U t t M
t t U t t U t t M
+
+
(3.1.73)
innd cont de cele obinute mai sus soluia ecuaiei matriciale Riccati poate fi calculat
astfel

1
21 22 11 12
( ) ( , ) ( , ) ( , ) ( , )
f f f f
P t U t t U t t M U t t U t t M

1 1 + +
] ]
&
(3.1.74)
iar comanda optimal are forma

( ) ( ) u K t x t %
(3.1.75)
unde

1
( ) ( ) ( ) ( )
T
K t R t B t P t

(3.1.76)
Pentru a calcula soluia ecuaiei Riccati putem folosi algoritmul Potter [4] care const n
urmtoarele:
1. Se formeaz matricea

1 T
T
A BR B
M
Q A

1

]
(3.1.77)
2. Se calculeaz valorile proprii matricei M. Se demonstreaz c aceste valori proprii au
urmtoarea proprietate de simetrie: dac este o valoare proprie, atunci
* *
, , (unde *
este conjugatul complex) sunt i ele valori proprii.
Ca urmare, n valori proprii sunt situate n semiplanul stng i n n semiplanul drept.
Notm cu
1 2
, ,...,
n

valorile proprii din semiplanul stng, astfel nct:
Re( ) 0, 1,
i
i n < (3.1.78)
3. Se calculeaz vectorii prorpii
1 2
, ,...,
n
v v v
asociai valorilor proprii
1 2
, ,...,
n

Aadar:
, 1,
i i i
Mv v i n (3.1.79)
4. Se partiinoneaz vectorii proprii
i
v
n doi vectori de dimensiune n, notai astfel:

i
i
i
s
v
n
1

1
]
(3.1.80)
5. Se formeaz matricea
23
[ ]
1 2
...
n
S s s s
(3.1.81)
6. Se formeaz matricea
[ ]
1 2
...
n
N n n n
(3.1.82)
7. Soluia ecuaiei algebrice Riccati, unde R este simetric i pozitiv definit, rezult:

1
P NS

(3.1.83)
Pentru a nelege mai bine acest algoritm am luat urmtorul exemplu numeric:
0 1 0 4 0
; ; ; [1]
0 0 1 0 0
A B Q R
1 1 1

1 1 1
] ] ]
Formm matricea M:
0 1 0 0
0 0 0 1
4 0 0 0
0 0 1 0
M
1
1

1
1

]
Ecuaia caracteristic este
4
4 0 + , astfel c obinem urmtoarele valori proprii:
1
2
3
4
1
1
1
1
i
i
i
i

+


+
Cele dou valori proprii din semiplanul stng sunt
1 2
1 ; 1 i i +
Calculm vectorii proprii asociai acestor valori proprii:
( )
1
1
2
1 1
3
4
1 .
1 1 0 0 0
0 1 0 1 0
0
4 0 1 0 0
0 0 1 1 0
i
x i
x i
I M v
x i
x i

+
+ 1 1 1
1 1 1
+
1 1 1

1 1 1 +
1 1 1
+
] ] ]
Un minor caracteristic nenul de ordin maxim este
24
1 0 0
1 0 1
0 1 0
i
i
1
1
+
1
1 +
]
Atunci
1
x
este necunoscut secundar iar sistemul devine:
2
2 4
3
( 1 ) 0
( 1 ) 0
4 ( 1 ) 0
i x
i x x
i x

+ +
'

+ +

Rezolvnd sistemul obinem vectorul:


}
1
2
1 1
4
( , ( 1 ) , , ( 1 ) ) (1, 1 , 2(1 ), 2 )
1
v i i v i i i
i

+ + + +
+
( )
2
1
2
2 2
3
4
1 .
1 1 0 0 0
0 1 0 1 0
0
4 0 1 0 0
0 0 1 1 0
i
x i
x i
I M v
x i
x i


1 1 1
1 1 1

1 1 1

1 1 1
1 1 1

] ] ]
Un minor caracteristic nenul de ordin maxim este:
1 0 0
1 0 1
0 1 0
i
i
1
1

1
1
]
Atunci
1
x
este necunoscut secundar iar sistemul devine:
2
2 4
3
( 1 ) 0
( 1 ) 0
4 ( 1 ) 0
i x
i x x
i x

+
'

Rezolvnd sistemul obinem vectorul:


}
1
2
2 2
4
( , ( 1 ) , , ( 1 ) ) (1, 1 , 2( 1 ), 2 )
1
v i i v i i i
i

+

Formm matricile S si N:
1 1 2(1 ) 2( 1 )
;
1 1 2 2
i i
S N
i i i i
+ + 1 1

1 1
+
] ]
25
Calculm
1
1 1
1
1 1 2
i
S
i i

1

1

]
Soluia ecuaiei Riccati este:
1
1 1 1 1 4 2
1 1 1 1 2 2
i i i
P NS
i

+ + 1 1 1

1 1 1

] ] ]
Matricea de reglaj este
[ ] [ ] [ ]
1
4 2
1 0 1 2 2
2 2
T
K R B P

1

1
]
n raport cu metodele iterative, acest algoritm prezint avantajul unui calcul direct, cu
soluie unic.
3.2 PROGRAMAREA DINAMIC
Dup cum este denumit, aceast metod reprezint o metod ingenioas de programare
pe calculator a unor probleme de optimizare, fiind introdus de Bellman. ntruct un calculator
numeric accept doar date discrete, este necesar ca, pentru aplicarea metodei, s se discretizeze
procesul, n caz c acesta reprezint un proces continuu. Astfel discretizat, el devine un aa-
numit proces secvenial de decizie, n care, la momente discrete de timp k numite i etape -se
elaboreaz cte o decizie n sensul alegerii unei stri x
v
(valori discrete alctuind mulimea
strilor posibile), conform cu utilitatea
v
I
(numit i increment de cost) asociat pasului v.
Numrul total de etape N este numit orizont. Numrul cardinal al mulimii strilor posibile este
notat cu r i definete puterea de rezoluie n procesul secvenial de decizie.
n procesul continuu, trecerea de la starea iniial x
0
la o stare final x
f
se putea face
printr-un numr infinit de traiectorii (fig. 4 a). Prin optimizare se alegea numai acea traiectorie
care minimizeaz criteriul de performan.
n cadrul procesului de decizie secvenial, la fiecare dintre paii v=0,1,,N-2 se
elaboreaz cte o decizie; o vom nota cu q
v
(la pasul N-1 nu mai avem posibilitatea de opiune,
cci din starea n care ne aflm trebuie sa trecem neaprat n starea final impus
N f
x x
- fig.
4 b). Deciziile q
v
se pot aranja ntr-un vector de decizie care determin n mod unic traiectoria
urmat ntre starea iniial i cea final.
26

0
1
2
...
N
q
q
q
q

1
1
1

1
1
]
(3.2.84)
Figura 4 Proces secvenial de decizie
Echivalent criteriului de performan de tip integral (1.2), utilizat la sistemele continue, l
constituie n cazul sistemelor discrete:

1 1
0 0
( , )
N N
v v v
v v
I I L x u t




(3.2.85)
cu:

f
t
t
N
(3.2.86)
unde x
v
i u
v
sunt valorile medii ale lui x i u n pasul respectiv. n acest caz funcia J se numete
funcie obiectiv. Traiectoria care optimizeaz funcia obiectiv se numete strategie optim.
O metod simpl de a alege strategia optim ar consta n calcularea funciei obiectiv J
de-a lungul tututror traiectoriilor posibile. Din punct de vedere al preciziei apare fireasc
alegerea unor valori r i N ct mai mari. Efectund pasul 1, avem r decizii posibile pentru un
proces unidimensional (o singur variabil de stare). n pasul al doilea vor exista r
2
decizii
27
posibile. ntregul proces de decizie secvenial va implica r
N-1
traiectorii posibile. Dac adoptm
valorile r=10 i N=10 (ceea ce nu ofer o prea mare precizie), vom avea 10
9
traiectorii posibile.
Presupunnd c avem un calculator care poate efectua calcularea a unui million de valori J pe
secund, calculul valorilor J pentru toate traiectoriile posibile va dura cam 1000 secunde
(acceptabil). Dar dac avem, n aceleai condiii, un proces bidimensional numrul de traiectorii
posibile va fi
2 1 2( 1)
( )
N N
r r

, adic 10
18
i vor necesita un timp de calcul al tuturor valorilor lui
J de ordinal a 10
12
secunde, adic aproximativ 32000 ani. Iar pentru un proces n dimensional,
unde rezult

( 1) n N
c
n r

(3.2.87)
traiectorii, nici numai poate fi vorba de gsirea unei traiectorii optime.
Avantajul esenial al metodei programrii dinamice este adus de principiul
optimalitii i metoda scufundrii, care permit reducerea procesului de decizie n N pai la
un proces secvenial de N procese de decizie cu un singur pas.
Principiul optimalitii spune c: o strategie care este optim pe intervalul 0 1 N este
n mod necesar optim si pe orice subinterval 1 v N cu 0 1 v N < .
Metoda scufundrii const ntr-o procedur de descompunere a problemei de rezolvat
ntr-o familie de probleme de aceei natur, dar mai simple i deci mai uor de rezolvat n pai
succesivi (prin iteraii); soluia obtinut pentru intreaga clas de probleme ofer totodat soluia
problemei originale.
La fiecare pas trebuie efectuate comparaii n numr de r la primul i la ultimul pas, iar
la paii intermediari cte r
2
comparaii (n cazul unui proces bidimensional). Aadar, numrul
total de comparaii va fi egal cu
2
2 ( 2) r N r + . Dac am fi avut de-a face cu un proces n-
dimensional, ar fi rezultat

' 2
2 ( 2)
n n
c
n r N r + (3.2.88)
comparaii, adic un numr de ordinul
2 ( 1) n n N
Nr r

<< . Astfel, pentru n=2, r=10 i N=10 trebuie


efectuate circa
4 5
10 10 10 operaii, necesitnd un timp de numai 0.1 secunde pentru calcul
(fa de 32000 de ani). Aceast reducere este datorat aplicrii principiului optimalitii, care
elimin la fiecare pas deciziile ce nu pot candida n continuare pentru strategia optim.
Dac n rezolvarea prin metoda calculului variaional a problemelor de optimizare
dinamic, existena restriciilor ngreuna obinerea soluiei, n programarea dinamic aceste
restricii sunt avantajoase cci reduc numrul soluiilor premise n procesul de cutare a strategiei
optime.
28
Fie
0
( ) u t comanda optim care, pentru condiiile pe frontier x
0
i x
f
date, d o valoare
minim

0
min
J J

(3.2.89)
unde J este indicele de performan (1.2). Vom remarca c J
0
este unic, dei u
0
i x
0
pot s nu fie
unice; totui, n practic, u
0
i x
0
sunt de obicei unice, iar atunci cnd nu e aa, u
0
poate fi ales n
mod arbitrar dintre soluiile disponibile, pe baza unor considerente legate de aplicaia respectiv.
S presupunem c
0
( ) u t a fost obinut. Rezult aadar c J
0
nu depinde de u(t), ci doar de
x
0
, t
0
, x
f
i t
f
, adic

0
0 0 0
0 0
( , , , ) [ ( ), ( ), ]
f
t
f f
t
J J x t x t L x t u t t dt

(3.2.90)
J
0
fiind valoarea minim a lui J, avem

0
0
0 0
( )
( , , , ) min{ [ ( ), ( ), ] }
f
t
f f
u t
t
J x t x t L x t u t t dt

(3.2.91)
Aplicnd principiul scufundrii, relaia (3.2.91) se mai poate scrie:

0
0 0
0
0 0
( )
( , , , ) min ( , , ) ( , , )
f
t
t t
f f
u t
t t t
J x t x t L x u t dt L x u t dt
+
+
1
+ 1
1
]

(3.2.92)
Aplicarea principiului optimalitii asupra ultimei poriuni de traiectorie optimal (de la
0
t t +
la t
f
) ne permite s scriem (3.2.92) sub forma:
0
0
0 0
0 0 0 0
( )
( , , , ) min ( , , ) [ ( ), , ,
t t
f f f f
u t
t
J x t x t L x u t dt J x t t t t x t
+


+ + +
' ;

(3.2.93)
Dezvoltnd integrala din (3.2.93) n serie Taylor n jurul lui t=t
0
, obinem:

0
0
0 0 2
0 0 0
( , , ) [ ( ), ( ), ] [( ) ]
t t
t
L x u t dt L x t u t t t R t
+
+

(3.2.94)
unde
2
[( ) ] R t reprezint termenii coninnd pe ( )
n
t cu 2 n . Substituind (3.2.94) in (3.2.93)
obinem:
{ }
0 0 0 2 0
0 0 0 0 0 0 0
( )
( , , , ) min [ ( ), ( ), ] [( ) ] [ ( ), , , ]
f f f f
u t
J x t x t L x t u t t t R t J x t t t t x t + + + +
(3.2.95)
ntruct procesul de minimizare nu depinde de t, iar J
0
nu depinde de u, relaia (3.2.95) mai
poate fi scris sub forma:
29
0 0
0 0 0 0 0 0
0 0 0
( )
[ ( ), , , ] [ ( ), , , ]
min [ ( ), ( ), ] ( ) 0
f f f f
u t
J x t t t t x t J x t t x t
t L x t u t t R t
t
+ +

+ +
' ;




(3.2.96)
unde:

2
[( ) ]
( )
R t
R t
t

(3.2.97)
ntruct
0 t (3.2.98)
rezult c expresia minimizat din (3.2.90) trebuie s fie egal cu 0. Trecnd la limit aceast
expresie pentru 0 t i presupunnd c funcia L este astfel derivabil nct

0
lim ( ) 0
t
R t


(3.2.99)
rezult

0 0 0
0 0 0 0 0
( )
min [ ( ), ( ), ] [ ( ), , , ] 0
f f
u t
d
L x t u t t J x t t x t
dt

+
' ;

(3.2.100)
care este cunoscut sub numele de forma compact a ecuaiei lui Bellman i care reprezint o
condiie necesar pentru existena unei soluii optimale.
Dac t
f
i x
f
sunt constante, atunci derivata total a lui J
0
n raport cu timpul se poate
exprima sub forma

0 0 0
1
n
i
i
i
dx dJ J J
dt t x dt

(3.2.101)
Substituind acest rezultat n (3.2.100), obinem:

0 0
( )
1
min ( , , ) 0
n
i
u t
i
i
dx J J
L x u t
t x dt

1
+ +
1

]

(3.2.102)
unde am inut cont c t
0
este un moment arbitrar i c, deci, relaia (3.2.102) trebuie s fie
satisfcut pentru orice
0
[ , ]
f
t t t
.
Scriind ecuaia de stare (1.1) pe componente:
( , , ), ( 1, )
i i
x f x u t i n & (3.2.103)
i introducnd-o n (3.2.102) rezult:
30

0 0
1
0
n
i
i
i
J J
L f
t x


+ +

(3.2.104)
care reprezint o ecuaie de tip Hamilton-Jacobi.
Dac u nu este supus restriciilor, atunci este necesar, n scopul obinerii unui minim, ca
0 0
1
[ ( , , ) ] 0, ( 1, )
n
i
i
j i
J J
L x u t f j m
u t x


+ +

(3.2.105)
sau, innd cont c J
0
este independent de u:
0
1
0, ( 1, )
n
i
i
j i j
f L J
j m
u x u


+

(3.2.106)
ecuaie ce trebuie rezolvat simultan cu (3.2.102).
Pentru procese liniare descries de ecuaii de stare de tip
( ) ( ) ( ) x t Ax t Bu t + &
, avem

i
ij
j
f
b
u

(3.2.107)
(unde b
ij
este elementul din rndul i i coloana j a matricei B), ceea ce face ca ecuaiile (3.2.106)
s se simplifice ntructva.
Observm ns c ecuaiile (3.2.104) i (3.2.106) sunt ecuaii neliniare cu derivate
pariale, rezolvarea lor reclamnd utilizarea calculatoarelor numerice.
3.3 PRINCIPIUL MAXIMULUI
Exist o clas larg de probleme de tip variaional n optimizarea sistemelor dinamice,
probleme care nu pot fi soluionate prin metoda calculului variaional ecuaii de tip Euler-
Lagrange.
Ele ar putea fi abordate sub forma discret a programrii dinamice, dar, aceast metod
reprezint n fond o tehnic numeric care furnizeaz o informaie srac asupra naturii fizice a
problemei de optimizare n ansamblu. Iar aplicarea variantei continue a principiului optimalitii
se izbete de dificulti de calcul de ndat ce sistemul nu este liniar, criteriul nu este de tip
cuadratic, iar comanda sufer restricii de tip inegalitate.
Principiul optimului, elaborat de Pontriaghin, Boltianskii i Gamkrelidze, este similar
calculului variaional i este strns legat de programarea dinamic fiind dealtfel posibil
obinerea principiului optimalitii din principiul maximului printr-o schimbare de variabile.
Principiul maximului se bazeaz pe urmtoarele elemente:
31
1. Sistemul este descris de ecuaia de stare (3.2.103) sau forma compact (1.1).
2. Timpul iniial t
0
i cel final t
f
sunt date.
3. Unele componente ale vectorului de stare au valori date la t
0
i t
f
.
4. Indicele de performan este de forma funcionalei
1
( )
n
i i f
i
J x t

(3.3.108)
5. Comanda u(t) este supus restriciilor de tip inegalitate.
6. Se caut strategia optim (comanda optimal)
0
( ) u t care va transfera sistemul din
starea initial
0
( ) x t
n starea final
( )
f
x t
de asemenea manier nct s optimizeze
criteriul J dat de (3.3.108), respectnd restriciile impuse comenzii.
Coeficienii de pondere
i
din (3.3.108) pot fi privii ca fiind componentele unui vector de
ponderare numit i vector obiectiv:

1
...
n

1
1

1
1
]
(3.3.109)
astfel nct criteriul (3.3.108) se poate exprima sub forma unui produs scalar

, ( ) ( )
T
f f
J x t x t

< >
(3.3.110)
(Far a impieta asupra generalitii, putem considera c este normalizat, adic
2 2
1
| | ... 1
n
+ + ).
Expresia (3.3.110) are semnificaia geometric a proieciei vectorului
( )
f
x t
pe vectorul ;
aadar optimizarea criteriului J (3.3.108) se traduce ca ncercarea de a optimiza proiecia lui
( )
f
x t
pe direcia vectorului obiectiv.
Vom considera mai nti cazul:
a) t
f
este fixat, dar
( )
f
x t
este liber.
Vom presupune c strategia optim
0
( ) u t a fost gsit i c traiectoria optimal
0
( ) x t
corespunztoare se cunoate. Vom studia modificarea dJ a criteriului de performan cauzat de
o variaie
( ) u t
de la strategia optim. O astfel de situaie, pentru un caz bidimensional, este
ilustrat n figura 5.
32
Figura 5. Abaterea de la strategia optim i abaterea rezultant de la traiectoria optimal
ntruct comanda optim este de tip bang-bang, adic avnd valori extreme ntre care
se face comutaia (teoretic) instantanee (n fig. 5 b se arat o astfel de comutaie), este firesc a
presupune c mica abatere de la strategia optim, adic
0
( ) ( ) u t u t + va reprezenta doar o
modificare redus a momentului comutaiei valorii comenzii. Aadar, variaia
( ) u t
va consta
din unul sau mai multe impulsuri de lime finite dar foarte mic (un astfel de impuls este ilustrat
n fig. 5 c). Se poate formula diferena dintre principiul maximului i metoda calculului
variaional astfel: dac vectorul m-dimensional u(t) este supus restriciei

( ) { } u t U
(3.3.111)
unde {U} este domeniul comenzilor admisibile n spaiul m-dimensional, atunci metoda
calculului variaional caut soluia optim
0
( ) u t n interiorul lui {U}, n timp ce principiul
maximului caut soluia optim pe frontiera lui {U}.
Introducem conceptul de vector adjunct de stare p(t) ale crui componente sunt definite
astfel:

1
( 1, )
n
i
i j
j
i
f
p p i n
x

(3.3.112)
1
( ) , ( 1, )
i f i
p t i n (3.3.112)
2
33
n cazul sistemelor liniare, avnd ecuaia de stare
( ) ( ) ( ) x t Ax t Bu t + &
, relaia (3.3.112)
1
ia forma:

T
p A p & (3.3.113)
care definete aa-numitul sistem adjunct al sistemului cu ecuaia de stare de tipul
( ) ( ) ( ) x t Ax t Bu t + &
.
Vectorul de stare x i vectorul adjunct de stare p introduce un numr total de 2n variabile,
care trebuie s satisfac ecuaiile difereniale ordinare de ordinul unu (3.3.103) i (3.3.112)
1
; n
plus, ele trebuie s satisfac cele 2n condiii terminale specificate, n maniera sparte n dou
puncte:
0 0
( ) x t x
i
( )
f
p t
.
Analizm variaia componentei x
i
a vectorului x cauzat de variaia mai sus menionat
u a lui u. Conform cu (3.3.103) avem:

0 0 0 0
( , ) ( , )
i i i
x f x x u u f x u + + &
(3.3.113)
Multiplicnd ambii membri ai relaiei (3.3.113) cu p
i
, nsumnd relaia astfel obinut
pentru toate cele n componente ale lui x i, n final, integrnd ntre t
0
i t
f
se obine:

0 0
0 0 0 0
1 1
[ ( , ) ( , )]
f f
t t
n n
i i i i i
i i
t t
p x dt p f x x u u f x u dt

_
+ +

,


&
(3.3.114)
Membrul stng al relaiei (3.3.114) poate fi integrat prin pri:

0
0 0
1 1 1
|
f f
f
t t
n n n
t
i i i i t i i
i i i
t t
p x dt p x p x dt

_ _


, ,


& &
(3.3.115)
ntruct, firete, avem:

0
( ) 0
i
x t
(3.3.116)
i innd cont de (3.3.112)
2
, vom avea:

0
1 1
| ( )
f
n n
t
i i t i i f
i i
p x x t



(3.3.117)
Dar memebrul drept din (3.3.117) reprezint variaia cu semn schimbat a criteriului J,
adic:

1
( )
n
i i f
i
x t dJ

(3.3.118)
Din (3.3.112)
1
, (3.3.114), (3.3.115), (3.3.117) i (3.3.118) rezult:
34
0 0
0 0 0 0
1 1 1
[ ( , ) ( , )]
f f
t t
n n n
i
i i i j i
i i j
i t t
f
dJ p f x x u u f x u dt p x dt
x

_
+ + +
' ;


,


(3.3.119)
Factorul
0 0 0 0
[ ( , ) ( , )]
i i
f x x u u f x u + + reprezint o diferen mic (de ordinul unu)
astfel c el poate fi dezvoltat n serie Taylor:
0 0
0 0 0 0 0 0 0 0
1
( , )
( , ) ( , ) ( , ) ( , )
n
i
i i i i j
j
j
f x u u
f x x u u f x u f x u u f x u x R
x

+
+ + + + +


(3.3.120)
unde R este suma termenilor de ordin superior lui 1. Introducnd (3.3.120) n (3.3.119) se obine:
0 0
0 0 0 0 0 0 0 0
1 1 1
[ ( , ) ( , )] [ ( , ) ( , )]
f f
t t
n n n
i i i i i j j
i i j
j t t
dJ p f x u u f x u dt p f x u u f x u x dt
x

_

+ +
' ;


,


(3.3.121)
Se consider doar funciile f
i
care sunt liniare n raport cu x i depind de u n mod aditiv,
adic cele pentru care (1.1) ia forma:

( ) x x u + &
(3.3.122)
Pentru aceast clas de funcii vom avea:

( , ) ( , )
i i
j j
f x u u f x u
x x

+

(3.3.123)
astfel c cea de-a doua integral din (3.3.119) va fi nul i relaia (3.3.119) se reduce la:

0
0 0 0 0
( , ) ( , )
f
t
t
dJ H x u u H x u dt 1 +
]
(3.3.124)
unde

1
, ,
n
i i
i
H p f p f p x

&
(3.3.125)
reprezint aa-numita funcie de stare a lui Pontriaghin denumire justificat prin aceea c H
depinde exclusiv de vectorul de stare x(t) i ntlnit uneori i sub denumirea de Hamiltonian
(dat fiind similaritatea sa cu expresia hamiltonianului din mecanica clasic).
Relaia (3.3.124) se interpreteaz astfel: Dac se poate dovedi c o variaie u arbitrar
face ca integrala din (3.3.124) s fie pozitiv (negativ), aceasta va implica faptul c dJ s fie
negativ (pozitiv) pentru aceste deviatii i u
0
va corespunde atunci la un maxim (minim) al lui J.
35
Dar integrala din (3.3.124) va fi pozitiv (negativ) dac integrandul va fi pozitiv
(negativ) pe ntregul interval
0
[ , ]
f
t t t
, adic dac

max 0 0 0 0
min
0,
( , ) ( , )
0,
J J
H x u u H x u
J J
>
+
'
<

(3.3.126)
sau

0 0 0
min max
0 0 0
max min
( , ) ,
( , ) ,
H H x u H J J
H H x u H J J



(3.3.127)
Aadar, principiul maximului se formuleaz astfel:
O condiie necesar i suficient pentru a avea un maxim (minim) al criteriului de
performan J dat de (3.3.108) este aceea ca: comanda optim u
0
s minimizeze
(maximizeze) funcia de stare H a lui Pontrianghin pe tot intervalul
0
[ , ]
f
t t t
.
n expunerea metodelor de optimizare dinamic 3.1 i 3.2 am ntlnit criterii de
performan de tip integral (forma 1.2). Principiul maximului este aplicabil i n aceste cazuri
dac introducem o variabil de stare suplimentar definit astfel:

0
1
( ) ( , , )
f
t
n
t
x t L x u t dt

(3.3.128)
1
unde, evident:

1 0
( ) 0
n
x t
+

(3.3.128)
2
Atunci, criteriul (3.3.108) devine:

1
1
1
( ), ( 1)
n
i i f n
i
J x t
+
+

(3.3.129)
si H ia forma:

1
1
n
i i n
i
H p f p L
+

(3.3.130)
care reprezint forma generalizat a funciei de stare a lui Pontriaghin.
O observaie important este aceea c: din ecuaia reprezentnd condiia necesar de
existent a unui optim pentru indicele de performan J dat de (1.2) rezult direct funcia de stare
generalizat a lui Pontriaghin ca fiind
36

0
J
H
t

(3.3.131)
dac facem schimbarea de variabil

0
i
i
J
p
x

(3.3.132)
(relaie ce se mai scrie compact sub forma:

0
x
p J (3.3.133)
unde
x

reprezint gradientul n raport cu x).


Observm, de asemenea, din (3.3.131) si (3.3.132), c

0 2 0
i i
i i i
d d J J H
p p
dt dt x t x x
_



,
&
(3.3.134)
iar din expresia (3.3.130) a lui H i innd cont de (1.1), avem:
i
i
H
x
p

&
(3.3.135)
Relatiile (3.3.134) i (3.3.135), care se mai pot scrie sub forma compact

x
p H &
(3.3.136)

p
x H &
(3.3.137)
constituie ecuaiile Hamilton-Pontriaghin. Soluionarea lor, pentru condiii la limit convenabile,
furnizeaz comanda optim.
Dac u nu este limitat (supus restriciilor de tip inegalitate), atunci condiia necesar de
extremizare a lui H prin u este:
0, ( 1, )
H
i n
u

(3.3.138)
Dac u este ns supus unei restricii, exprimabil sub forma (3.3.111), atunci condiia
necesar pentru extremizarea lui H se exprim prin relaia general

0
{ }
max ( , , , )
u U
H H x u p t

sau
0
{ }
min ( , , , )
u U
H H x u p t

(3.3.139)
unde

0 0
( , , , ) H H x u p t

(3.3.140)
37
b) Dac x(t
f
) este parial impus, adic doar q componente
q<n (3.3.141)
ale vectorului de stare sunt supuse unor restricii de tip egalitate la t
f
cu t
f
fixat adic
( ) , ( 1, )
v f vf
x t x v q (3.3.142)
Celelalte n-q componente sunt libere i atunci criteriul (3.3.108) va suferi o variaie

1
( )
n
i i f
i q
dJ x t
+

(3.3.143)
dat doar de variabilele de stare care nu sunt supuse restriciilor (se spune c am pierdut q
grade de libertate). Cu acestea, cele expuse la punctual a) rmn valabile, cu condiia ca cele q
variabile de stare adjuncte p
v
(t) ce corespund variabilelor de stare x
v
(t) supuse restriciilor s nu
mai fie obligate a avea valorile finale
v
, ci s fie lsate libere (compensm astfel cele q grade de
libertate pierdute prin ridicarea a q restricii).
4 Aplicaii
4.1 Aplicaie optimizare prin metode variaionale utiliznd teorema de optimalitate
[3]
Ne punem problema s gsim traiectoria ce trebuie urmat de un satelit pentru a ajunge dintr-o
stare iniial dat ntr-o stare final dat cu consum minim de energie. Adic vom afla comanda
optimal u
opt
(t) ce minimizeaz indicele de performan
0
1
( ( )) ( ) ( )
2
f
t
T
t
J u t u t u t dt

.
Legea de micare a satelitului este dat prin sistem de ecuaii difereniale de oridin 2 de mai jos:
2
1 2
2
( ) ( ) ( ) ( )
( )
( ) ( ) 1
( ) 2 ( )
( ) ( )
k
r t r t t u t
r t
t r t
t u t
r t r t

'

&
&&
&
&
&&
unde u
1
este fora ce acioneaz asupra satelitului pe direcie radial, iar

u
2
este foara ce
acioneaz pe direcie tangenial.
Sistemul dinamic este neliniar i poate fi tratat ca atare, dar poate fi liniarizat i studiat ca
sistem liniar, dup cum vom vedea n cele ce urmeaz.
38
Observm c pentru
10 20
( ) ( ) 0 u t u t
sistemul de mai sus admite soluia
0 0 0
( ) , ( ) r t r t t
, unde r
0
i sunt constante, iar
3 2
0
r k .
Dac alegem r
0
= 1 deducem:
0
( ) 1 r t
,
0
( ) 0 r t &
,
0
( ) t t
i
0
( ) t
&
. Alegnd strile
x
1
, x
2
, x
3
i x
4
ca fiind:
1 0
( ) ( ) ( ) x t r t r t
,
2 0
( ) ( ) ( ) x t r t r t & &
,
3 0
( ) ( ) ( ) x t t t
i
4 0
( ) ( ) ( ) x t t t
& &
; mai precis
1
( ) ( ) 1 x t r t
,
2
( ) ( ) x t r t &
,
3
( ) ( ) x t t t
i
4
( ) ( ) x t t
&

partea neliniar a sistemului devine:
2
2
2 1 4 1 2 2
1
4 2
4 2 4
1 1
( ) ( ) ( 1)( ) ( , )
( 1)
( ) 1
( ) ( ) 2 ( , )
1 1
x t r t x x u f x u
x
x x
x t t u f x u
x x

+ + +
+
+
+
+ +
& &&
&&
&
iar partea liniar:
1 2
3 4
x x
x x

&
&
cu soluia iniial x
10
= x
20
= x
30
= x
40
= 0 .
Prin urmare
2
2 2 2 2 2 2 2
4 1 4 3
1 1 2 3 4 1 2
4 2 4 2 4 4 4 4 2 4 4
2 2
1 1 1 2 1 3 4 1 1 2 1
2
( ) , 0, 0, 2( 1)( ), 1, 0
( 1)
2 ( ) 2( ) 2 1
, , 0, , 0,
( 1) ( 1) 1 1 1
f f f f f f
x x x
x x x x x u u
f x x u f x f f x f f
x x x x x x x x u u x




+ + + +
+
+ +

+ + + + +
Calculnd coeficienii de mai sus corespunztori soluiei iniiale obinem ecuaiile de
stare ale sistemului liniarizat:
1 1
2
2 2 1
3 3 2
4 4
( ) ( ) 0 1 0 0 0 0
( ) ( ) ( ) 3 0 0 2 1 0
( ) ( ) ( ) 0 0 0 1 0 0
( ) ( ) 0 2 0 0 0 1
x t x t
x t x t u t
x t x t u t
x t x t

_ _ _ _

_

+


,

, , , ,
&
&
&
&
Astfel am adus sistemul sub forma:
( ) ( ) ( ) x t Ax t Bu t + &
unde:
39
1
2 1
3 2
4
2
( )
( ) ( )
( ) , ( )
( ) ( )
( )
0 1 0 0 0 0
3 0 0 2 1 0
,
0 0 0 1 0 0
0 2 0 0 0 1
x t
x t u t
x t u t
x t u t
x t
A B

_

_




,

,
_ _




, ,
Avand sistemul care descrie legea de micare a satelitului scris sub forma de mai sus
facem urmtoarele notaii:
1. ( )
1 2 3 4
( ) ( ) ( ) ( ) ( )
T
p t p t p t p t p t
- vectorul multiplicatorilor lui Lagrange;
2.
1 1 2
2
2 2 1 4
3 3 4
4 4 2 2
( , )
( , ) 3 2 1
( , )
( , ) 2
f x u x x
f x u x x x u
f x u x x
f x u x x u


+ +

+
&
&
&
&
,
1
2
3
4
( ( ), ( ))
( ( ), ( ))
( )
( ( ), ( ))
( ( ), ( ))
f x t u t
f x t u t
f t
f x t u t
f x t u t
_



,
3.
2 2
1 2
( ) ( ) ( ) ( )
T
L u t u t u t u t + - Lagrangeanul
Folosindu-ne de aceste notaii scriem Hamiltonianul:
2 2
1 2 1 1 2 2 3 3 4 4
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
T
H L p t f t H u t u t p t f t p t f t p t f t p t f t + + + + + + .
Pentru a determina vectorul p(t) al multiplicatorilor lui Lagrange rezolvm urmtorul
sistem de ecuaii difereniale:
1
1
2
1 2
2
2 2 1 4
3
3
3
4 2 3
4
4
( )
( ) 3 ( )
( )
( ) ( ) 2 ( )
( ) 0
( )
( ) 2 ( ) ( )
( )
H
p t
x
p t p t H
p t
x p t p t p t
H p t
p t
x
p t p t p t
H
p t
x

' '




&
&
&
&
&
&
&
&
avnd condiiile iniiale:
1 0 10 2 0 20 3 0 30 4 0 40
( ) , ( ) , ( ) , ( ) p t p p t p p t p p t p
.
Dup ce aflm vectorul p(t), pentru a determina comanda optimal u
op
(t) rezolvm
sistemul:
40
2
1
1 1 2
2 4 4
2
2
( )
0
( )
2 ( ) ( ) 0
2
2 ( ) ( ) 0 ( )
0 ( )
2
H
p t
u t
u u t p t
u t p t H p t
u t
u


+


' ' '
+


Pentru a afla traiectoria optimal nu ne mai rmne dect s nlocuim u(t) cu u


op
(t) n
ecuaia de stare a sistemului. Astfel obinem x
op
(t) rezolvnd:
0
( )
0
( ) ( ) ( )
t
At A t s
op op
t
x t e x t e Bu t ds

avnd condiiile iniiale ( )


0 10 20 30 40
( )
T
x t x x x x
. Astfel obinem coordonatele polare ce
descriu traiectoria optimal a satelitului de forma:
1_ 0
( ) ( )
opt opt
r t x t r +
3_ 0
( ) ( )
opt opt
t x t +
Pentru a trece la coordonate carteziene nu ne rmne dect s facem urmtoarele transformri :
( ) ( ) cos( ( ))
opt opt opt
x t r t t
( ) ( ) sin( ( ))
opt opt opt
y t r t t
Rezultate i concluzii
Pentru a rezolva numeric aceast problem am folosit att programul Maple ct i
programul Matlab. Programele propriu-zise se gsec n Anexa 1, respectiv Anexa 2.
n calculele efectuate am considerat 1 .
n urma calculelor am obinut comanda optimal de forma:
1_
2_
1 3
sin( ) cos( ) 1
2 2
3 1
cos( ) 3sin( )
2 2
opt
opt
opt
t t
u
u
u t
t t
1
+
1
1
1
1
1 ]
+ +
1
]
Traiectoria ce trebuie urmat de satelit este dat prin coordonatele polare de mai jos:
41
2 2 2
2 2
3 2
2 2
5 3 5 3
( ) cos( ) sin( ) cos( ) cos( ) 6sin( ) 9 sin( ) sin( ) 2 2cos( ) 3
2 2 2 2
( ) sin( ) 15cos( ) sin( ) 14sin( ) 4cos( ) 9cos( ) 6cos( ) 2 sin( )
3 9 9 3
7 cos( ) sin( )
2 2 4 4
opt
opt
r t t t t t t t t t t t t t
t t t t t t t t t t t
t t
t t t t t

+ + + +
+ + + + +
+ +
a) b)
Figura 6 a) traiectoria optimal reprezentat folosindu-ne de coordonatele carteziene x i y;
b) traiectoria optimal reprezentat folosindu-ne de coordonatele polare r i
n figura de mai sus am reprezentat grafic traiectoria ce trebuie urmat de satelit, folosindu-ne
att de coordonatele carteziene ( a) ) ct i de coordonatele polare ( b) ).
4.2. Aplicaie optimizare prin metode variaionale utiliznd ecuaia matricial
Riccati [5]
tim c marea majoritate a rachetelor ghidate au nevoie ca unghiul de ruliu s fie
meninut constant pe toat durata zborului pentru ca sistemul de ghidare s funcioneze corect.
Din acest motiv este necesar un autopilot de ruliu care s menin constant poziia rachetei n
timpul zborului.
Astfel noi vom construi un sistem de comand cu feedback care va ine unghiul de ruliul
aproape de zero. n acelai timp micarea eleronului nu va depi un anumit prag dat pentru
unghiul de deviere.
Ecuaiile de micare pentru micarea de ruliu a rachetei sunt:
42
x a
a
L L
I p p
p
p

&
&
unde a
a
L

este momentul de ruliu datorat micrii eleroanelor; iar


L
p
p

este momentul de
amortizare la micarea de ruliu.
Fcnd notaiile:
/
a
a
x
L
L
I

,
/
p
x
L p
L
I

putem rescrie ecuaiile de micare astfel:


a
p a
p L p L
p

&
&
Pentru a aduce ecuaiile de mai sus sub forma x Ax Bu + & le scriem astfel:
0 0 1
0
a
a
p
L L p p

1 1 1 1
+
1 1 1 1
] ] ] ]
&
&
unde
0 0 1
; ;
0
a
p
x A B
L L p

1 1 1

1 1 1
] ] ]
Funcionala de minimizat n acest caz are forma:
2 2 2
0
max max max
1
2
a
a
p
J dt
p

1
_ _ _
1 + +

1
, , ,
]

unde
max

este unghiul maxim de ruliu dorit, p


max
este valoarea maxim admis a coeficientului de
ruliu , iar
max a

este valoarea maxim admis a deviaia eleroanelor.


Comparnd aceast expresie cu forma general a funcionalei de cost:
( )
0
f
t
T T
J x Qx u Ru dt +

, observm c n cazul nostru avem:


2
max
2
max
2
max
1
0
1
,
1
0
a
Q R
p

1
1
1
1

1
1
]
1
]
Determinm comanda optim rezolvnd ecuaia matricial Riccati
43
1
( ) ( ) ( ) ( ) ( ) 0
T T
S t S t A A S t Q S t BR B S t

+ + +
&
Deoarece n cazul nostru timpul final este infinit matricea S devine o matrice constant (nu
depinde de timp) i astfel termenul ( ) S t
&
dispare. Astfel noi trebuie s rezolvm ecuaia, avnd ca
necunoscute elementele matricii S:
1
0
T T
SA A S Q SBR B S

+ +
nlocuind n ecuaia de mai sus matricile A, B, Q i R obinem urmtorul sistem de
ecuaii, cu necunoscutele S
11
, S
12
, S
21
i S
22
. Dar cum S este o matrice simetric avem egalitatea
S
12
,=S
21
.
2 2 2
12 max 2
max
2 2
11 12 12 22 max
2 2 2
12 22 22 max
max
1
0
0
1
2 2 0
a
p a
p a
S L
S S L S S L
S S L S L
p

+
'

+ +

Comanda optimal este dat de ecuaia:


( ) ( ) u t Kx t
unde
1 T
K R B S

.
Rezultate si concluzii
Am folosit urmtoarele valori numerice pentru caracteristicile aerodinamice ale rachetei:
2
max max max
2 / ; 9000 ;
10 0.174 ; 300 / 5.23 / ; 0.522
p a
L rad s L s
rad p s rad s rad



Am rezolvat numeric aceast aplicaie folosind att Maple ct si Matlab. Programele
propriu-zise se gsec n Anexa 3, respectiv Anexa 4.
n urma calculelor am obinut comanda optimal de forma:
_ 3 ( ) 0.1028 ( )
a
optim t p t
Valorile optimale pentru
( ) t
i p(t) sunt:
897.7 30
30 897.7
( ) 0.006 0.093
( ) 2.79 5.41
t t
t t
t e e
p t e e



+
+
Funcionala de cost corespunzatoare comenzii optimale are valoarea:
0.00471 J
44
Pentru a scoate n eviden c aceast valoare a funcionalei este cea minima considerm
o alt valoare pentru comand i comparm noul cost cu costul obinut pentru comanda optimal.
Fie noua comand
2 5 ( ) 10 ( )
a
t p t
. Costul corespunztor acestei comenzi are
valoarea 2 20.20 J . Observm c noul cost este mai mare dect cel obinut pentru comanda
optimal.
n figura de mai jos am reprezentat
_ ( ) optim t
i
_ ( ) p optim t
funcie de timp. Din grafice
observm c valorile acestora tind la 0 lucru pe care l i doream. Scopul nostru a fost s gsim comanda
optimala ce va menine ughiul de rului ( ) t ct mai aproape de valoarea 0.
a) b)
Figura 7 a) _ ( ) optim t funcie de t; b) _ ( ) p optim t funcie de t
Acelai lucru l-am verificat calculnd
lim ( )
t
t

i
lim ( )
t
p t

. Aceste limite ne-au dat 0, lucru care


ne confirm c am obinut comanda care menine unghiul de ruliu ct mai aproape de valoarea 0.
Fcnd o comparaie ntre programul realiyat n Maple i cel realiyat n Matlab putem
spune c rezolvarea problemei utiliznd programul Matlab este mai avantajoas deoarece exist
funcia lqr (linear-quadratic regulator) care calculeaz direct soluia S a ecuaiei matriciale
Riccatri i matricea K. Sintaxa acestei funcii este [K,S,e]=lqr(A,B,Q,R) unde matricile A i B
sunt cele din ecuaia de stare a sistemului, iar matricile Q i R sunt cele din funcionala de cost.
Funcia lqr ntoarce ca rezultat matricile K i S. Astfel ne este uurat foarte mult munca.
4.3. Aplicaie optimizare folosind metoda programrii dinamice [6]
Fie un avion care poate zbura de la stnga la dreapta de-a lungul rutelor reprezentate n
figura 8. Interseciile a, b, c, reprezint orae iar numerele reprezint combustibilul necesar
pentru a parcurge distana dintre orae. Vom folosi principiul programrii dinamice al lui
Bellman pentru a determina ruta ce trebuie urmat de avion pentru a ajunge din oraul a n orasul
i cu consum minim de combustibil.
45
Figura 8
Numerotm nivelurile de decizie ale procesului de la 0 k pn la 4 k N , aa cum se
vede n figura 9. La fiecare nivel
0,1,..., 1 k N
se ia o decizie, acest lucru ne mai fiind necesar
la ultimul nivel deoarece starea final este impus.
Figura 9
Starea curent este nodul in care lum decizia curent. Astfel, starea initial este
0
x a
.
La nivelul 1, starea poate fi
1
x b
sau
1
x d
. Similar
2
, x c e
ori g;
3
x f
sau h; iar starea
final este constrans s fie
4 N
x x i
.
Pentru a controla u
k
considerm c la fiecare nivel k u
k
poate luam valorile +1 i -1 dup
regula:
1
k
u +
dac ne micm n sus pe diagrama rutelor iar
1
k
u
dac ne micm n jos pe
diagrama rutelor (nivelul de referin fiind nivelul nodului n care se ia decizia).
Pentru a rezolva problema vom parcurge invers diagrama: de la nodul final i la nodul de
start a.
46
Pornim cu 4 k N . La acest nivel nu este necesar nicio decizie aa c trecem la
nivelul 3 k . Dac
3
x f
atunci controlul optimal este
3
1 u
iar costul (adic combustibilul
necesar pentru a ajunge din nodul i in nodul f) este 4. Dac
3
x h
atunci controlul optimal este
3
1 u +
iar costul este 2.
Acum trecem la nivelul urmtor 2 k . Aici avem 3 stri posibile. Dac
2
x c
atunci
controlul este
2
1 u
iar costul este 3+4=7. Dac
2
x e
trebuie s lum o decizie. Dac luam
2
1 u +
o lum pe ruta
e f
i apoi ajungem n nodul i, avnd un cost de 3+4=7. Pe de alt
parte, dac lum
2
1 u
o lum pe ruta e h i apoi ajungem n nodul i, vom avea un cost de
2+2=4. Astfel c decizia optimal este
2
1 u
cu un cost asociat de 4. Dac
2
x g
avem o
singur opiune:
2
1 u +
cu un cost de 2+4=6.
Trecem la nivelul 1 k . Avem 2 stri posibile. Dac
1
x b
trebuie s lum o decizie.
Dac lum
1
1 u +
o lum pe ruta
b c f
i apoi ajungem in nodul i, avnd un cost de
2+3+4=9. Dac lum
1
1 u
o lum pe ruta b e i apoi continum pe ruta optimal aflat
mai sus e h i , avnd un cost de 1+2+2=5. Astfel decizia optimal este
1
1 u
cu un cost
asociat de 5. i n cazul n care
1
x d
trebuie luat o decizie. Dac lum
1
1 u +
o lum pe ruta
d e i apoi continum pe ruta optimal e h i , avnd un cost de 3+2+2=7. Dac lum
1
1 u
o lum pe ruta
d g h
i apoi ajungem n nodul i, avnd un cost de 2+4+2=8. Astfel
decizia optimal este
1
1 u +
cu un cost asociat de 7.
Ajunge astfel la nivelul 0 k . Avem o singur stare posibil
0
x a
(starea iniial). Dac
lum
0
1 u +
o lum pe ruta a b i apoi continum pe ruta optimal b e h i , avnd
un cost de 3+1+2+2=8. Dac lum
0
1 u
o lum pe ruta a d i apoi continum pe ruta
optimal d e h i , avnd un cost de 1+3+2+2=8. Observm c indiferent de valoarea lui
u
0
obinem acelai cost. Astfel controlul optimal pentru 0 k nu este unic.
Rezultate si concluzii
Conform rezultatelor noastre exist dou rute de la nodul a la nodul i cu acelai cost 8
(consumul minim de combustibil): a b e h i i a d e h i . Astfel soluia
problemei de cost minim nu este unic.
47
Am evideniat rezultatele obinute mai sus n figura de mai jos (figura 9). Numerele
dintre paranteze reprezint costul minim necesar pentru a ajunge din nodul aosicat numarului din
parantez n nodul final i.
Figura 10
Observm c principiul de optimalitate al lui Bellman a redus numrul calculelor
necesare pentru a rezolva problema prin reducerea numrului deciziilor ce trebuie luate.
5. Concluzii
n aceast lucrare am prezentat trei metode de optimizare dinamic a proceselor :
optimizarea prin metode variaionale (metoda multiplicatorilor lui Lagrange i metoda ecuaiei
matriciale Riccati), metoda programrii dinamice a lui Bellman i metoda principiului maximului
al lui Pontriaghin.
Pentru a ntelege mai bine aceste metode am considerat trei aplicaii.
Prima aplicaie am rezolvat-o utiliznd metoda multiplicatorilor lui Lagrange. Ne-am pus
problema s gsim traiectoria ce trebuie urmat de un satelit pentru a ajunge dintr-o stare iniial
dat ntr-o stare final dat cu consum minim de energie. Adic sa aflam comanda optimal
u
opt
(t) ce minimizeaz indicele de performan
0
1
( ( )) ( ) ( )
2
f
t
T
t
J u t u t u t dt

.
n urma calculelor am obinut comanda optimal de forma:
48
1_
2_
1 3
sin( ) cos( ) 1
2 2
3 1
cos( ) 3sin( )
2 2
opt
opt
opt
t t
u
u
u t
t t
1
+
1
1
1
1
1 ]
+ +
1
]
iar traiectoria optimal de forma :
a) b)
Figura 11 a) traiectoria optimal reprezentat folosindu-ne de coordonatele carteziene x i y;
b) traiectoria optimal reprezentat folosindu-ne de coordonatele polare r i
n a doua aplicaie am exemplificat metoda ecuaiei matriciale Riccati. Noi am construit
un sistem de comand cu feedback care va ine unghiul de ruliu al rachetei aproape de zero.
Rachetele ghidate au nevoie ca unghiul de ruliu s fie meninut constant pe toat durata zborului
pentru ca sistemul de ghidare s funcioneze corect
n urma calculelor am obinut comanda optimal (unghiul eleroanelor) de forma:
_ 3 ( ) 0.1028 ( )
a
optim t p t
Valorile optimale pentru
( ) t
(unghiul de ruliu) i p(t) (coeficientul de ruliu) sunt:
897.7 30
30 897.7
( ) 0.006 0.093
( ) 2.79 5.41
t t
t t
t e e
p t e e



+
+
Reprezentnd grafic
_ ( ) optim t
i
_ ( ) p optim t
funcie de timp observm c valorile acestora
tind la 0 lucru pe care l i doream.
49
a) b)
Figura 12 a) _ ( ) optim t funcie de t; b) _ ( ) p optim t funcie de t
n a treia aplicaie am folosit principiul programrii dinamice al lui Bellman pentru a
determina ruta ce trebuie urmat de un avion pentru a ajunge din oraul a n orasul i cu consum
minim de combustibil.
Am observat faptul ca problema nu are soluie unic (lucru conform cu teoria). Conform
rezultatelor noastre exist dou rute de la nodul a la nodul i cu acelai cost 8 (consumul minim
de combustibil).
Am evideniat rezultatele obinute n figura de mai jos. Numerele dintre paranteze
reprezint costul minim necesar pentru a ajunge din nodul asociat numrului din parantez n
nodul final i.
Figura 13
50
Prin utilizarea principiul de optimalitate al lui Bellman am redus numrul calculelor
necesare pentru a rezolva problema prin micorarea numrului deciziilor ce trebuie luate.
Metodele variaionale de optimizare se utilizeaz n cazul porceselor continue, avnd un
indice de performanta de tip cuadratic (probleme de tip Bolza).
Metoda programrii dinamice a lui Bellman se aplic n cazul proceselor discrete.
Avantajul esenial al metodei programrii dinamice este adus de principiul optimalitii i
metoda scufundrii, care permit reducerea procesului de decizie n N pai la un proces
secvenial de N procese de decizie cu un singur pas.
Principiul lui Pontriaghin se utilizeaz n cazul problemelor care nu pot fi soluionate prin
metoda calculului variaional de exemplu ecuaii de tip Euler-Lagrange. Ele ar putea fi
abordate sub forma discret a programrii dinamice, dar, aceast metod reprezint n fond o
tehnic numeric care furnizeaz o informaie srac asupra naturii fizice a problemei de
optimizare n ansamblu. Principiul optimului, elaborat de Pontriaghin, Boltianskii i
Gamkrelidze, este similar calculului variaional i este strns legat de programarea dinamic.
Diferena dintre principiul maximului i metoda calculului variaional const n faptul c :
n timp ce metoda calculului variaional caut soluia optim
0
( ) u t n interiorul lui {U},
principiul maximului caut soluia optim pe frontiera lui {U}, unde {U} este domeniul
comenzilor admisibile
n concluzie, n aceast lucrare am prezentat metode de rezolvare a problemei comenzii
optimale: S se gseasc comanda optim u
opt
(numit i strategia de conducere optimal)
care optimizeaz indicele de performan J, n condiiile unor restricii impuse; n cazul
proceselor dinamice n timp.
51
6. Anexe
Anexa 1
Codul programului n Maple pentru rezolvarea aplicaiei 4.1
> restart;
> with(linalg):
> with(DEtools):
> with(LinearAlgebra):
> tf:=2;omega:=1;
:= tf 2
:= 1
> r0:=1;k:=r0^3*omega^2;
:= r0 1
:= k 1
> A:=Matrix([[0,1,0,0],[3*omega^2,0,0,2*omega],[0,0,0,1],[0,-
2*omega,0,0]]);
:= A

1
]
1
1
1
1
1
1
1
1
0 1 0 0
3 0 0 2
0 0 0 1
0 -2 0 0
> B:=Matrix([[0,0],[1,0],[0,0],[0,1]]);
:= B

1
]
1
1
1
1
1
1
1
1
0 0
1 0
0 0
0 1
> x:=Matrix([[x1],[x2],[x3],[x4]]);
:= x

1
]
1
1
1
1
1
1
1
1
x1
x2
x3
x4
52
> u:=Matrix([[u1],[u2]]);
:= u

1
]
1
1
u1
u2
> M:=A.x+B.u;
:= M

1
]
1
1
1
1
1
1
1
1
x2
+ + 3 x1 2 x4 u1
x4
+ 2 x2 u2
> f1:=M[1,1];
:= f1 x2
> f2:=M[2,1];
:= f2 + + 3 x1 2 x4 u1
> f3:=M[3,1];
:= f3 x4
> f4:=M[4,1];
:= f4 + 2 x2 u2
> L:=Transpose(u).u;
:= L [ ] + u1
2
u2
2
> p:=Matrix([[p1(t)],[p2(t)],[p3(t)],[p4(t)]]);
:= p

1
]
1
1
1
1
1
1
1
1
( ) p1 t
( ) p2 t
( ) p3 t
( ) p4 t
> f:=Matrix([[f1],[f2],[f3],[f4]]);
:= f

1
]
1
1
1
1
1
1
1
1
x2
+ + 3 x1 2 x4 u1
x4
+ 2 x2 u2
> H:=L+transpose(p).f;
:= H [ ] + + + + + u1
2
u2
2
( ) p1 t x2 ( ) p2 t ( ) + + 3 x1 2 x4 u1 ( ) p3 t x4 ( ) p4 t ( ) + 2 x2 u2
53
Determinm vectorul p(t):
> sis_ode:=diff(p1(t),t)=-diff(H[1,1],x1),diff(p2(t),t)=-
diff(H[1,1],x2),diff(p3(t),t)=-diff(H[1,1],x3),diff(p4(t),t)=-
diff(H[1,1],x4);
sis_ode
d
d
t
( ) p1 t 3 ( ) p2 t
d
d
t
( ) p2 t + ( ) p1 t 2 ( ) p4 t
d
d
t
( ) p3 t 0 , , , :=

d
d
t
( ) p4 t 2 ( ) p2 t ( ) p3 t
> ics:=p1(0)=c1,p2(0)=c2,p3(0)=c3,p4(0)=c4;
:= ics , , , ( ) p1 0 c1 ( ) p2 0 c2 ( ) p3 0 c3 ( ) p4 0 c4
> s:=dsolve([sis_ode,ics]);
s ( ) p4 t + + 2 ( ) cos t ( ) + c1 2 c4 2 ( ) sin t ( ) + 2 c3 c2 3 c3 t 2 c1 3 c4, { :=
( ) p1 t + + 3 ( ) cos t ( ) + c1 2 c4 3 ( ) sin t ( ) + 2 c3 c2 6 c3 t 4 c1 6 c4,
( ) p3 t c3 ( ) p2 t + ( ) sin t ( ) + c1 2 c4 ( ) cos t ( ) + 2 c3 c2 2 c3 , }
> p1(t):=-3*cos(omega*t)*(c1-2*c4*omega)-
3*sin(omega*t)*(2*c3+c2*omega)+6*c3*omega*t+4*c1-6*c4*omega;
:= ( ) p1 t + + 3 ( ) cos t ( ) c1 2 c4 3 ( ) sin t ( ) + 2 c3 c2 6 c3 t 4 c1 6 c4
> p2(t):=(-sin(omega*t)*(c1-2*c4*omega)
+cos(omega*t)*(2*c3+c2*omega)-2*c3)/omega;
:= ( ) p2 t + ( ) sin t ( ) c1 2 c4 ( ) cos t ( ) + 2 c3 c2 2 c3
> p3(t):=c3;
:= ( ) p3 t c3
> p4(t):= -2*cos(omega*t)/omega*(c1-2*c4*omega)-
2*sin(omega*t)*(2*c3+c2*omega)/omega+3*c3*t+1/2/omega*(4*c1-
6*c4*omega);
:= ( ) p4 t + + 2 ( ) cos t ( ) c1 2 c4 2 ( ) sin t ( ) + 2 c3 c2 3 c3 t 2 c1 3 c4
Determinm comanda optimal:
> ec5:=diff(H[1,1],u1)=0;
:= ec5 + 2 u1 ( ) p2 t 0
> ec6:=diff(H[1,1],u2)=0;
:= ec6 + 2 u2 ( ) p4 t 0
54
> s1:=solve({ec5,ec6},[u1,u2]);
s1 u1 +
1
2
( ) sin t c1 ( ) sin t c4 ( ) cos t c3
1
2
( ) cos t c2 c3,

:=
u2 + + + ( ) cos t c1 2 ( ) cos t c4 2 ( ) sin t c3 ( ) sin t c2
3 c3 t
2
c1
3 c4
2
1
]
1
1
1
]
1
1
> u1:=-1/2*(-sin(omega*t)*(c1-2*c4*omega)
+cos(omega*t)*(2*c3+c2*omega)-2*c3)/omega;
:= u1 +
1
2
( ) sin t ( ) c1 2 c4
1
2
( ) cos t ( ) + 2 c3 c2 c3
> u2:=-1/2*(-2*cos(omega*t)*c1+4*cos(omega*t)*c4*omega-
4*sin(omega*t)*c3-2*sin(omega*t)*c2*omega+3*c3*omega*t+2*c1-
3*c4*omega)/omega;
:= u2 + + + ( ) cos t c1 2 ( ) cos t c4 2 ( ) sin t c3 ( ) sin t c2
3 c3 t
2
c1
3 c4
2
Comanda optimal:
> u;

1
]
1
1
1
1
1
1
1
+
1
2
( ) sin t ( ) c1 2 c4
1
2
( ) cos t ( ) + 2 c3 c2 c3
+ + + ( ) cos t c1 2 ( ) cos t c4 2 ( ) sin t c3 ( ) sin t c2
3 c3 t
2
c1
3 c4
2
Determinm constantele p
10
, p
20
, p
30
i p
40
:
> ec7:=diff(p1(t),t)=-diff(H[1,1],x1);
ec7 + 3 ( ) sin t ( ) c1 2 c4 3 ( ) cos t ( ) + 2 c3 c2 6 c3 :=
+ 3 ( ) sin t ( ) c1 2 c4 3 ( ) cos t ( ) + 2 c3 c2 6 c3
> ec8:=diff(p2(t),t)=-diff(H[1,1],x2);
ec8 :=
( ) cos t ( ) c1 2 c4 ( ) sin t ( ) + 2 c3 c2 ( ) cos t ( ) c1 2 c4 ( ) sin t ( ) + 2 c3 c2
> ec9:=diff(p3(t),t)=-diff(H[1,1],x3);
:= ec9 0 0
> ec10:=diff(p4(t),t)=-diff(H[1,1],x4);
55
ec10 + 2 ( ) sin t ( ) c1 2 c4 2 ( ) cos t ( ) + 2 c3 c2 3 c3 :=
+ 2 ( ) sin t ( ) c1 2 c4 2 ( ) cos t ( ) + 2 c3 c2 3 c3
> s2:=solve({ec7,ec8,ec9,ec10},[c1,c2,c3,c4]);
:= s2 [ ] [ ] , , , c1 c1 c2 c2 c3 c3 c4 c4
> c1:=1;c2:=1;c3:=1;c4:=1;
:= c1 1
:= c2 1
:= c3 1
:= c4 1
Comanda optimal devine:
> u;

1
]
1
1
1
1
1
1
1
+
1
2
( ) sin t
3
2
( ) cos t 1
+ + ( ) cos t 3 ( ) sin t
3 t
2
1
2
Condiiile iniiale:
>x10:=0;x20:=0;x30:=0;x40:=0;x0:=Matrix([[x10],[x20],[x30],
[x40]]);
:= x10 0
:= x20 0
:= x30 0
:= x40 0
:= x0

1
]
1
1
1
1
1
1
1
1
0
0
0
0
Determinm traiectoria optimal:
56
> q:=t-g;
:= q t g
> C:=exponential(A,t).x0;
:= C

1
]
1
1
1
1
1
1
1
1
0
0
0
0
> E:=exponential(A,q).B.u;
E :=
( ) sin + t g

_
,

+
1
2
( ) sin t
3
2
( ) cos t 1

( ) + 2 ( ) cos + t g 2

_
,

+ + ( ) cos t 3 ( ) sin t
3 t
2
1
2
+
1
]
1
1
( ) cos + t g

_
,

+
1
2
( ) sin t
3
2
( ) cos t 1

2 ( ) sin + t g

_
,

+ + ( ) cos t 3 ( ) sin t
3 t
2
1
2

1
]
1
1
( ) 2 ( ) cos + t g 2

_
,

+
1
2
( ) sin t
3
2
( ) cos t 1

( ) + 3 t 3 g 4 ( ) sin + t g

_
,

+ + ( ) cos t 3 ( ) sin t
3 t
2
1
2
+
1
]
1
1
2 ( ) sin + t g

_
,

+
1
2
( ) sin t
3
2
( ) cos t 1

( ) + 3 4 ( ) cos + t g

_
,

+ + ( ) cos t 3 ( ) sin t
3 t
2
1
2
+
1
]
1
1
> x1(t):=C[1,1]+int(E[1,1],g=0..t);
( ) x1 t
5
2
( ) cos t ( ) sin t
3
2
( ) cos t
2
5
2
( ) cos t 6 ( ) sin t
2
9 t ( ) sin t
3
2
( ) sin t 1 + + + :=
2 ( ) cos t t 3 t
2
t +
> x2(t):=C[2,1]+int(E[2,1],g=0..t);
57
( ) x2 t :=
+ + + +
1
2
( ) sin t
2
15
2
( ) cos t ( ) sin t 7 ( ) sin t 2 ( ) cos t
2
3 ( ) cos t t 3 ( ) cos t 1 3 t
> x3(t):=C[3,1]+int(E[3,1],g=0..t);
( ) x3 t ( ) sin t
2
15 ( ) cos t ( ) sin t 14 ( ) sin t 4 ( ) cos t
2
9 ( ) cos t t 6 ( ) cos t 2 + + + + :=
t ( ) sin t 8 t
3
2
( ) cos t t
2
9
2
( ) sin t t
2
9 t
3
4
3 t
2
4
+ + +
> x4(t):=C[4,1]+int(E[4,1],g=0..t);
( ) x4 t 5 ( ) cos t ( ) sin t 3 ( ) cos t
2
5 ( ) cos t 12 ( ) sin t
2
15 t ( ) sin t 3 ( ) sin t 2 + + + :=
3 ( ) cos t t
9 t
2
2
3 t
2
+ +
Traiectoria optimal (dat n coordonate polare):
> r(t):=x1(t)+1;
( ) r t
5
2
( ) cos t ( ) sin t
3
2
( ) cos t
2
5
2
( ) cos t 6 ( ) sin t
2
9 t ( ) sin t
3
2
( ) sin t 2 + + + :=
2 ( ) cos t t 3 t
2
t +
> theta(t):=x3(t)+omega*t;
( ) t ( ) sin t
2
15 ( ) cos t ( ) sin t 14 ( ) sin t 4 ( ) cos t
2
9 ( ) cos t t 6 ( ) cos t 2 + + + + :=
t ( ) sin t 7 t
3
2
( ) cos t t
2
9
2
( ) sin t t
2
9 t
3
4
3 t
2
4
+ + +
Traiectoria optimal (dat prin coordinate carteziene):
> xc(t):=r(t)*cos(theta(t));
( ) xc t
5
2
( ) cos t ( ) sin t
3
2
( ) cos t
2
5
2
( ) cos t 6 ( ) sin t
2
9 t ( ) sin t
3
2
( ) sin t 2 + + +

:=
2 ( ) cos t t 3 t
2
t +
_
,

cos ( ) sin t
2
15 ( ) cos t ( ) sin t 14 ( ) sin t 4 ( ) cos t
2
+ +

9 ( ) cos t t 6 ( ) cos t 2 t ( ) sin t 7 t


3
2
( ) cos t t
2
9
2
( ) sin t t
2
9 t
3
4
3 t
2
4
+ + + + +
_
,

> yc(t):=r(t)*sin(theta(t));
58
( ) yc t
5
2
( ) cos t ( ) sin t
3
2
( ) cos t
2
5
2
( ) cos t 6 ( ) sin t
2
9 t ( ) sin t
3
2
( ) sin t 2 + + +

:=
2 ( ) cos t t 3 t
2
t +
_
,

sin ( ) sin t
2
15 ( ) cos t ( ) sin t 14 ( ) sin t 4 ( ) cos t
2
+ +

9 ( ) cos t t 6 ( ) cos t 2 t ( ) sin t 7 t


3
2
( ) cos t t
2
9
2
( ) sin t t
2
9 t
3
4
3 t
2
4
+ + + + +
_
,

Costul corespunztor comenzii optimale:


> J:=evalf(simplify(1/2*int(L[1,1],t=0..tf)));
:= J 1.001491393
Reprezentarea grafic a traiectoriei:
> with(plots):
> spacecurve([xc(t),yc(t),t],t=0..3,axes=FRAME);
> polarplot([r(t),theta(t),t=0..3]);
59
Anexa 2
Codul programului n Matlab pentru rezolvarea aplicatiei 4.1
clear all;
r0=1
omega=1
syms omega;syms x1;syms x2;syms x3;syms x4;
syms u1;syms u2;syms t;syms g;syms q;
syms p1;syms p2;syms p3;syms p4;
syms p10;syms p20;syms p30;syms p40;
k=r0^3*omega^2
A=[0 1 0 0; 3*omega^2 0 0 2*omega; 0 0 0 1; 0 -2*omega 0 0]
A = 0 1 0 0
3 0 0 2
0 0 0 1
0 -2 0 0
B=[0 0; 1 0; 0 0; 0 1]
B = 0 0
1 0
60
0 0
0 1
x=[x1;x2;x3;x4]
x = x1
x2
x3
x4
Condiiile iniiale:
x10=0;x20=0;x30=0;x40=0;
x0=[x10;x20;x30;x40]
u=[u1;u2]
u = u1
u2
M=A*x+B*u
M = x2
3*x1+2*x4+u1
x4
-2*x2+u2
f1=M(1,1)
f1 = x2
f2=M(2,1)
f2 = 3*x1+2*x4+u1
f3=M(3,1)
f3 = x4
f4=M(4,1)
f4 = -2*x2+u2
f=[f1;f2;f3;f4]
p=[p1;p2;p3;p4]
61
p = p1
p2
p3
p4
p0=[p10;p20;p30;p40]
L=u.'*u
L = u1^2+u2^2
H=L+p.'*f
H = u1^2+u2^2+p1*x2+p2*(3*x1+2*x4+u1)+p3*x4+p4*(-2*x2+u2)
Determinm vectorul p(t):
diff(H,x1)
3*p2
diff(H,x2)
p1-2*p4
diff(H,x3)
0
diff(H,x4)
2*p2 +p3
s=dsolve ('Dp1=-3*p2*omega^2','Dp2=-(p1-2*p4*omega)','Dp3=0','Dp4=-
(2*p2*omega+p3)',p1 (0) =p10',p2 (0) =p20',p3 (0) =p30',p4 (0) =p40')
p1=eval(s.p1)
p1 = -3*cos(t)*(p10-2*p40)-3*sin(t)*(2*p30+p20)+6*p30*t+4*p10-6*p40
p2=eval(s.p2)
p2 = (sin (t)*(-p10+2*p40)+cos (t)*(2*p30+p20)-2*p30)
p3=eval(s.p3)
p3 = p30
p4=eval(s.p4)
p4 = (-2*p10+4*p40)*cos(t)-(4*p30+2*p20)*sin(t)+3*p30*t+2*p10-3*p40
62
Determinm comanda optimal:
diff (H,u1)
2*u1+p2
diff (H,u2)
2*u2+p4
u1=eval (solve ('2*u1+p2=0','u1'))
u1 = 1/2*sin(t)*(p10-2*p40)-1/2*cos(t)*(2*p30+p20)+p30
u2=eval (solve ('2*u2+p4=0','u2'))
u2 = -1/2*(-2*p10+4*p40)*cos(t)+1/2*(4*p30+2*p20)*sin(t)-3/2*p30*t-p10+3/2*p40
diff(s.p1,t)
diff(s.p2,t)
diff(s.p3,t)
diff(s.p4,t)
eval(diff(H,x1))
eval(diff(H,x2))
eval(diff(H,x3))
eval(diff(H,x4))
s1=solve('-3*sin(t) *(-p10+2*p40)-3*cos(t) *(2*p30+p20)+6*p30 =-(3*(sin(t)*(-
p10+2*p40)+cos(t)*(2*p30+p20)-2*p30','(cos(t) *(-p10+2*p40)-sin(t) *(2*p30+p20)) =-
(3*cos(t)*(-p10+2*p40)-3*sin(t)*(2*p30+p20)+6*p30* t+4*p10-6*p40 -(4*(-p10+2*p40)
*cos(t)-4*(2*p30+p20) *sin(t)+6*p30*t+1/ 4*p10-6*p40)))','0=0','-2*sin(t)*(-p10+2*p40)-
2*cos(t)*(2*p30+p20)+3*p30=-(2*sin(t)*(-p10+2*p40)+2*cos(t)*(2*p30+p20)-
3*p30)','p10','p20','p30','p40')
s1.p10
s1.p20
s1.p30
s1.p40
p10=1 p20=1 p30=1 p40=1
p10=1 p20=1 p30=1 p40=1
63
Comanda optimal:
u1opt=eval (u1)
u1opt = -1/2*sin(t)-3/2*cos(t)+1
u2opt=eval (u2)
u2opt = -cos(t)+3*sin(t)-3/2*t+1/2
Determinm traiectoria optimal:
q=t-g;
C=expm(t*A)*x0
D=expm(q*A)*B*uopt
x1_opt=C(1,1)+int(D(1,1),g,0,t)
x1_opt =-3/2*sin(t)-5/2*cos(t)+1-2*cos(t)*t+9*sin(t)*t-3*t^2+t+5/2*cos(t)*sin(t)+3/2*cos(t)^2-
6*sin(t)^2
x2_opt=C(2,1)+int(D(2,1),g,0,t)
x2_opt =1-3*cos(t)+7*sin(t)-3*t-1/2*sin(t)^2-15/2*cos(t)*sin(t)+2*cos(t)^2+3*cos(t)*t
x3_opt=C(3,1)+int(D(3,1),g,0,t)
x3_opt = 2+sin(t)*t+9*cos(t)*t-8*t+3/2*cos(t)*t^2-6*cos(t)-9/2*sin(t)*t^2+14*sin(t)+9/4*t^3-
3/4*t^2-sin(t)^2-15*cos(t)*sin(t)+4*cos(t)^2
x4_opt=C(4,1)+int(D(4,1),g,0,t)
x4_opt = 3*sin(t)+5*cos(t)-2+3*cos(t)*t-15*sin(t)*t+9/2*t^2-3/2*t-5*cos(t)*sin(t)-
3*cos(t)^2+12*sin(t)^2
Traiectoria optimal (n coordonate polare):
r_opt=x1_opt+1
r_opt = -3/2*sin(t)-5/2*cos(t)+2-2*cos(t)*t+9*sin(t)*t-3*t^2+t+5/2*cos(t)*sin(t)+3/2*cos(t)^2-
6*sin(t)^2
theta_opt=x3_opt+omega*t
theta_opt = 2+sin(t)*t+9*cos(t)*t-7*t+3/2*cos(t)*t^2-6*cos(t)-9/2*sin(t)*t^2+14*sin(t)
+9/4*t^3-3/4*t^2-sin(t)^2-15*cos(t)*sin(t)+4*cos(t)^2
Traiectoria optimal (n coordonate carteziene):
x=r_opt.*cos(theta_opt)
64
x = (-3/2*sin(t)-5/2*cos(t)+2-2*cos(t)*t+9*sin(t)*t-3*t^2+t+5/2*cos(t)*sin(t)+3/2*cos(t)^2-
6*sin(t)^2)*cos(2+sin(t)*t+9*cos(t)*t-7*t+3/2*cos(t)*t^2-6*cos(t)-9/2*sin(t)*t^2+14*sin(t)
+9/4*t^3-3/4*t^2-sin(t)^2-15*cos(t)*sin(t)+4*cos(t)^2)
y=r_opt.*sin(theta_opt)
y = (-3/2*sin(t)-5/2*cos(t)+2-2*cos(t)*t+9*sin(t)*t-3*t^2+t+5/2*cos(t)*sin(t)+3/2*cos(t)^2-
6*sin(t)^2)*sin(2+sin(t)*t+9*cos(t)*t-7*t+3/2*cos(t)*t^2-6*cos(t)-9/2*sin(t)*t^2+14*sin(t)
+9/4*t^3-3/4*t^2-sin(t)^2-15*cos(t)*sin(t)+4*cos(t)^2)
tf=2;
J=eval(1/2*int(uopt.'*uopt,0,tf))
J = 1.0015
Reprezentm grafic traiectoria optimal:
clear all
t=0:0.1:3;
r_opt=-3/2.*sin(t)-5/2.*cos(t)+2-2.*cos(t).*t+9.*sin(t).*t-3.*t.^2+t+5/2.*cos(t).*sin(t)
+3/2.*cos(t).^2-6*sin(t).^2;
theta_opt=2+sin(t).*t+9.*cos(t).*t-7.*t+3/2.*cos(t).*t.^2-6.*cos(t)-9/2.*sin(t).*t.^2+14.*sin(t)
+9/4.*t.^3-3/4.*t.^2-sin(t).^2-15.*cos(t).*sin(t)+4.*cos(t).^2;
figure, polar (theta_opt,r_opt,'--r')
x=r_opt.*cos (theta_opt);
y=r_opt.*sin (theta_opt);
figure,plot3(x,y,t),xlabel('x'),ylabel('y'),zlabel('t'),grid on
65
Anexa 3
Codul programului n Maple pentru rezolvarea aplicaiei 4.2
> restart;
ncrcm pachetul LinearAlgebra:
> with(LinearAlgebra):
Definim constantele ce caracterizeaz racheta
> Lp:=-2;Lda:=9000;phi_max:=0.174;pmax:=5.23;damax:=0.522;
:= Lp -2
:= Lda 9000
:= phi_max 0.174
:= pmax 5.23
:= damax 0.522
Definim matricile ce descriu sistemul nostru:
> A:=<<0,0>|<1,Lp>>;
:= A

1
]
1
1
0 1
0 -2
> B:=<<0,Lda>>;
:= B

1
]
1
1
0
9000
> Q:=<<1/phimax^2,0>|<0,1/pmax^2>>;
66
:= Q

1
]
1
1
33.02946228 0
0 0.03655919482
> R:=<<1/damax^2>>;
:= R [ ] 3.669940253
Matricea S este necunoscuta din ecuaia Riccati:
> S:=<<s11,s12>|<s12,s22>>;
:= S

1
]
1
1
s11 s12
s12 s22
Rezolvm ecuaia Riccati
> M:=S.A+Transpose(A).S+Q-S.B.MatrixInverse(R).Transpose(B).S;
M :=
[ , ] 33.02946228 0.220712040010
8
s12
2
s11 2 s12 0.220712040010
8
s12 s22
s11 2 s12 0.220712040010
8
s12 s22 [ ,
+ 2 s12 4 s22 0.03655919482 0.220712040010
8
s22
2
]
> ec1:=M[1,1]=0;
:= ec1 33.02946228 0.220712040010
8
s12
2
0
> ec2:=M[1,2]=0;
:= ec2 s11 2 s12 0.220712040010
8
s12 s22 0
> ec3:=M[2,1]=0;
:= ec3 s11 2 s12 0.220712040010
8
s12 s22 0
> ec4:=M[2,2]=0;
:= ec4 + 2 s12 4 s22 0.03655919482 0.220712040010
8
s22
2
0
> s1:=solve(ec1,s12);
:= s1 , -0.001223313418 0.001223313418
> s12:=s1[2];
:= s12 0.001223313418
> s2:=solve(ec4,s22);
:= s2 , -0.00004212964825 0.00004194841663
67
> s22:=s2[2];
:= s22 0.00004194841663
> s3:=solve(ec2,s11);
:= s3 1.135053876
> s11:=s3;
:= s11 1.135053876
Soluia ecuaiei Riccati este:
> S;

1
]
1
1
1.135053876 0.001223313418
0.001223313418 0.00004194841663
> x:=<<phi(t),p(t)>>;
:= x

1
]
1
1
( ) t
( ) p t
Astfel obinem matricea K:
> K:=MatrixInverse(R).Transpose(B).S;
:= K [ ] 3.000000001 0.1028724512
Comanda optimal este:
> uop:=-MatrixInverse(R).Transpose(B).S.x;
:= uop [ ] 3.000000001 ( ) t 0.1028724512 ( ) p t
nlocuim comanda optimal n ecuaia de stare a sistemului i rezolvm sitemul liniar
astfel obinut
> with(DEtools):
> M:=A-B.MatrixInverse(R).Transpose(B).S;
:= M

1
]
1
1
0. 1.
-27000. -927.852060899999970
Condiii iniiale
> t0:=0;
:= t0 0
> phi(t0):=0.087;p(t0):=2.616;
:= ( ) 0 0.087
68
:= ( ) p 0 2.616
> with(linalg):
> sol:=exponential(M,t).<<phi(t0),p(t0)>>;
:= sol

1
]
1
1
11
+ 0.006030239587e
( ) 897.7778044t
0.09303023959e
( ) 30.07425654t
+ 2.797815291e
( ) 30.07425654t
5.413815290e
( ) 897.7778044t
> phi(t):=sol[1,1];
:= ( ) t + 0.006030239587e
( ) 897.7778044t
0.09303023959e
( ) 30.07425654t
> limit(phi(t),t=infinity);
0.
> p(t):=sol[2,1];
:= ( ) p t + 2.797815291e
( ) 30.07425654t
5.413815290e
( ) 897.7778044t
> limit(p(t),t=infinity);
0.
nlocuind
( ) t
i p(t) obinute mai sus comanda optimal devine:
> uop;
[ ]
+ 0.5388417304e
( ) 897.7778044t
0.0087273981e
( ) 30.07425654t
Calculm funcionala de cost corespunztoare comenzii optimale
> F:=(phi(t)/phi_max)^2+(p(t)/pmax)^2+(uop[1,1]/damax)^2;
F 33.02946228 ( ) + 0.006030239587 e
( ) 897.7778044 t
0.09303023959 e
( ) 30.07425654 t
2
:=
0.03655919482 ( ) + 2.797815291 e
( ) 30.07425654 t
5.413815290 e
( ) 897.7778044 t
2
+
3.669940253 ( ) + 0.5388417304 e
( ) 897.7778044 t
0.0087273981 e
( ) 30.07425654 t
2
+
> J:=1/2*int(F,t=0..infinity);
:= J 0.004717563808
Considerm o alt comand i comparm noul cost cu costul obinut pentru comanda
optimal
> u2:=-5*csi(t)-10*p(t);
:= u2 + 54.10800170e
( ) 897.7778044t
27.51300171e
( ) 30.07425654t
> F2:=(phi(t)/phi_max)^2+(p(t)/pmax)^2+(u2/damax)^2;
69
F2 33.02946228 ( ) + 0.006030239587 e
( ) 897.7778044 t
0.09303023959 e
( ) 30.07425654 t
2
:=
0.03655919482 ( ) + 2.797815291 e
( ) 30.07425654 t
5.413815290 e
( ) 897.7778044 t
2
+
3.669940253 ( ) + 54.10800170 e
( ) 897.7778044 t
27.51300171 e
( ) 30.07425654 t
2
+
> J2:=1/2*int(F2,t=0..infinity);
:= J2 20.20120104
Observm astfel c noul cost este mai mare dect cel obinut pentru comanda optimal.
Anexa 4
Codul programului n Matlab pentru rezolvarea aplicaiei 4.2
clear all
Definim constantele ce caracterizeaz racheta:
Lp=2;Lda=9000;
phi_max=0.174;pmax=5.23;dmax=0.522;
Definim matricile ce descriu sistemul nostru:
A=[0,1;0,Lp]
B=[0;Lda]
Q=[1/phi_max^2,0;0,1/pmax^2]
R=[1/dmax^2]
A = 0 1
0 2
B = 0
9000
Q = 33.0295 0
0 0.0366
R = 3.6699
Rezolvm ecuaia Riccati asociat:
[K,S,e]=lqr(A,B,Q,R)
K = 3.0000 0.1033
70
S = 1.1351 0.0012
0.0012 0.0000
e = -897.7778
-30.0743
phi=sym('phi');
p=sym('p');
x=[phi;p];
Determinm comanda optimal folosindune de matricea K obinut mai sus:
uop=[];
uop=-K*x
uop =-6755399441055787/2251799813685248*phi-1861191731142797/18014398509481984*p
Condiii iniiale
x0=[0.087;2.616]
x0 = 0.0870
2.6160
nlocuim comanda optimal n ecuaia de stare a sistemului i determinm x(t):
t=sym('t');
M=A-B*K
M = 1.0e+004 * 0 0.0001
-2.7000 -0.0928
x=eval(expm(t*M)*x0)
x =
418970952517043201/4503599627370496000*exp(-264535958050349/8796093022208*t)-
27157784935810049/4503599627370496000*exp(-7896937080653855/8796093022208*t)
761926766614425899/140737488355328000*exp(-7896937080653855/8796093022208*t)-
393757497076887851/140737488355328000*exp(-264535958050349/8796093022208*t)
phi=x(1)
phi =
71
418970952517043201/4503599627370496000*exp(-264535958050349/8796093022208*t)-
27157784935810049/4503599627370496000*exp(-7896937080653855/8796093022208*t)
p=x(2)
p =
761926766614425899/140737488355328000*exp(-7896937080653855/8796093022208*t)-
393757497076887851/140737488355328000*exp(-264535958050349/8796093022208*t)
nlocuind
( ) t
i p(t) comanda optimal devine de forma:
uop=-K*x
uop =
101116652087706599686274811782801/10141204801825835211973625643008000*exp(-
264535958050349/8796093022208*t)-
5488905505860864342848128732194449/10141204801825835211973625643008000*exp(-
7896937080653855/8796093022208*t)
Calculm funcionala de cost corespunztoare comenzii optimale
F=(phi/phi_max)^2+(p/pmax)^2+(uop/dmax)^2;
J=eval(1/2*int(F,t,0,inf))
J = 0.0047
6. BILIOGRAFIE
[1] D. Mihoc, M. Ceaparu, S. St. Iliescu, I. Borangiu, Teoria si elementele sistemelor de
reglare automata, Editura Didactica si Pedagogica, Bucuresti, 1980
[2] Prof. Dr. V. Prepeli, T. Vasilache, M. Doroftei, Control Theory
[3] Cursuri Teoria sistemelor si control optimal, anul III, Facultatea de Stiinte Aplicate
[4] Nicolae Racoveanu, Automatica, Editura Militar, Buc, 1980
[5] Dr. Robert C. Nelson, Flight Stability and Automatic Control, McGraw-Hill, Inc., 1989
[6] Frank L. Lewis, Vassilis L. Syrmos, Optimal Control, Second Edition, John Wiley Sons,
New York, 1995
72
73

S-ar putea să vă placă și