Sunteți pe pagina 1din 65

UNIVERSITATEA SAPIENTIA

TRGU-MURE

TEHNICI DE OPTIMIZARE
(I I II)
LUCRRI DE LABORATOR

ef lucr. ing. Gyrgy Katalin


Prof. dr.ing. Dvid Lszl

2008

SAPIENTIA EMTE
Marosvsrhely

OPTIMUM KERES ALGORITMUSOK


OPTIMLIS VEZRLSEK
LABORGYAKORLATOK

Gyrgy Katalin, adjunktus


Dr. Dvid Lszl, egyetemi tanr

2008
1

CUPRINS

Lucrarea nr.1

Metode de cutare a minimului fr restricii n mediul "Matlab" ..

Lucrarea nr.2

Metode de cutare a minimului cu restricii n mediul "Matlab" ...

Lucrarea nr.3

Algoritmi de cutare direct a minimului .

10

Lucrarea nr.4

Metode de gradieni de ordin I

14

Lucrarea nr.5

Metode de calcul al pasului optimal la cutarea minimului .

17

Lucrarea nr.6

Metode de gradieni de ordin II.

22

Lucrarea nr.7

Metode de gradieni conjugai...

24

Lucrarea nr.8

Metode numerice pentru rezolvarea problemelor cu restrictii.

26

Lucrarea nr.9

Rezolvarea analitic a problemelor cu ajutorul ecuaiilor EulerLagrange (calcul variaional)..

29

Lucrarea nr.10

Controlul optimal n timp a unui oscilator armonic liniar

32

Lucrarea nr.11

Controlul optimal n timp al unui sistem inerial de ordin II.

35

Lucrarea nr.12

Navigaia optimal spre o insul circular convex..

39

Lucrarea nr.13

Regulator optimal de stare.

42

Lucrarea nr.14

Metode de rezolvare a ecuaiei Riccati .

45

Lucrarea nr.15

Regulator optimal de urmrire..

48

Lucrarea nr.16

Optimizarea dinamic a sistemelor neliniare.

51

Lucrarea nr.17

Metoda programrii dinamice discrete.

55

Lucrarea nr.18

Regulatoar optimal discret de stare .

57

Lucrarea nr.19

Metode de rezolvare a ecuaiei discret Riccati

59

Lucrarea nr.20

Regulator optimal discret de urmrire..

61

Bibliografie

65

Lucrarea nr. 1.

Lab.1

METODE DE CUTARE A MINIMULUI FR RESTRICII


N MEDIUL "MATLAB"
Scopul lucrrii:
Lucrarea are scop studiul funciilor de minimizare fr restricii n mediul MATLAB,
rezolvarea unor probleme de optimizare liniare i neliniare cu o singur variabil
respectiv cu mai multe variabile.

Introducere teoretic:
Minimizarea funciilor de o singur variabil:
Considerm c avem o funcie real de o singur variabil f : , care este continu
i derivabil pe intervalul de definiie. Condiia de necesitate pentru minim este:
f ( x)
0
x
rezolvnd aceast ecuaie se obin punctele extreme ( x0 ) ale funciei. Un punct x* va fi

f ( x* )
2 f ( x* )
0
0
x
2 x
Minimizarea funciilor de mai multe variabile:
Considerm c avem o funcie real f : n , care este continu i derivabil pe
un punct minim pentru funcia f(x), dac :

intervalul de definiie.

Un punct x* n va fi minimul funcionalei f (x) , unde

x x1 x2 xn T , dac:
f ( x* )
f ( x* )
f ( x* )
0
0
0
x1
x2
xn

(condiie de necesitate )

respectiv matricea hessian n punctul x* este o matrice pozitiv definit (condiie de


suficien). Matricea hessian se construiete cu derivatele pariale de ordin doi, deci se
*
2 f ( x* )
2 f (x )

x1xn
x1

definete ca: H

*
2
2 f ( x* )
f (x )

2 xn
xnx1

Funcii pentru minimizare fr restricii n MATLAB


Mediul de programare MATLAB este dedicat pentru calculul numeric i al
reprezentrilor grafice. Programul are anumite aplicaii specifice (TOOLBOX), care

conin o colecie de funcii create pentru rezolvarea unor probleme speciale. Una dintre
acestea este denumit toolbox-ul OPTIM n care apar funciile speciale folosite n
optimizri neliniare respectiv liniare fr /cu restricii. n prezenta lucrare se definesc att
funciile existente n versiunea 5.x a programului ct i funciile de minimizare, care apar
n versiunile mai noi ale programului:
Calculul minimului funciilor de o variabil:
[xmin, options]=fmin('F',x1,x2,options) unde:
- reprezint numele fiierului, care conine funcia de minimizat f (x)
F
- reprezint intervalul de cutare al punctului minim x1 x min x2
x1,x2
- punctul minim obinut
xmin
[xmin, options]=fmins('F',x0,options) unde:
- reprezint numele fiierului care conine funcia de minimizat f (x)
F
- reprezint vectorul punctului de pornire
x0
- vectorul punctului minim obinut
xmin
Se observ c amndou funcii au ca argument de intrare i de ieire variabila options,
care este un argument opional. Aceast variabil reprezint opiunile cu care algoritmul
de cutare va fi rezolvat i este folosit i de alte funcii de minimizare. Structura de
opiuni poate fi vizulizat prin rularea comenzii "help foptions". Dac funciile de mai
sus sunt apelate fr acest argument atunci se lucreaz cu valorile implicite a acestora. Se
poate observa c funciile amintite folosesc numai cteva dintre aceste opiuni, cum ar fi:
- afiarea valorilor intermediare sau nu
options (1)
- valoarea toleranei
options (2)
- numar maxim de iteraii
options (14)
Dac structura options apare i ca argument de ieire, atunci aceast structur ne va
furniza nite informaii in plus despre algoritmul de cutare a minimului (ex. valoarea
funcionalei n punctul minim obinut, numrul de iteraii care a fost efectuat pentru
atingerea punctului minim, etc.)
Funciile prezentate n versiunile MATLAB 6.x sunt nlocuite de funciile fminbnd
respectiv fminsearch. Apelarea funciilor este asemntoare cu cele de mai inainte cu
deosebirea c aici modificarea respectiv afiarea elementelor structurii options se poate
face prin intermediul funciilor optimset respectiv optimget.
Exemplu de rezolvare al problemei min{ x 2 y 2 x y 23} in mediul Matlab:

Se va scrie funcia obiectiv in fiierul fun.m :


function f=fun(x)
f=x(1)^2+x(2)^2-x(1)*x(2)+23;

In fereastra decomand (sau ntr-un fisier separat) se vor scrie urmtoarele comenzi:
x0=[3;2]; %punctul de pornire
options(2)=1e-6; %toleranta dupa x
options(10)=200; % numar maxim de iteratii

[xmin,options]=fmins('fun',x0,options);
disp('Punctul minim:');disp(xmin);
disp('Valoarea functiei in minim:');disp(options(8));
disp('Numarul maxim de iteratii:');disp(options(10));

Rezultatul:
Punctul minim: 1.0e-006 *[ 0.0479 0.3688]
Valoarea functiei in minim: 23.0000
Numarul maxim de iteratii: 117

Desfurarea lucrrii:
Lucrarea se va desfura in dou etape.
In prima etap se incearc minimizarea funciei avnd o singur variabil:
f ( x) x (sin( x))2
Pentru a pune n eviden punctul minim gsit se va reprezenta graficul funciei f (x) i
pe grafic se va evidenia punctul obinut respectiv limitele alese. Se afieaz urmtoarele
valori: valoarea punctului minim, valoarea funciei n punctul minim respectiv numrul de
iteraii efectuate n cutarea minimului.
In partea doua a lucrrii se caut minimul funciei cu dou variabile:
2

f ( x, y) x e x y
Se va reprezenta grafic suprafaa definit de f ( x, y) i se pune in eviden punctul de
pornire respectiv punctul minim gsit pe aceast suprafa.
n ambele cazuri se afieaz urmtoarele valori: valoarea punctului minim, valoarea
funciei n punctul minim respectiv numrul de iteraii efectuate n cutarea minimului.
Analog se propune rezolvarea urmtoarelor probleme:
min{ x 2 y 2 x 8 y x y}
min{ x y 2 8 x 2 10 x}

Pentru rezolvarea problemelor se pot folosi n afara funciillor specificate din MATLAB
urmtoarele funcii pentru reprezentri grafice: plot, subplot, mesh, meshgrid, contour,
etc.

ntrebri:
1. Cum se poate modifica valoarea de pornire la utilizarea funciilor fmins (fminserch)?
2. Ce reprezinte valorile x1 respectiv x2 la funcia fmin (fminbnd)?
3. Cum se poate afla numrul de iteraii efectuate la cutarea minimului?
4. Cum se poate modifica numrul maxim de iteraii la o metod de cutare a minimului ?
5. Cu funcia fmins ce fel de minime se obin : minime locale sau globale ?

Lucrarea nr. 2.

Lab.2

METODE DE CUTARE A MINIMULUI CU RESTRICII


N MEDIUL "MATLAB"
Scopul lucrrii:
Lucrarea propune studiul funciilor de minimizare cu restricii liniare respectiv neliniare
de tip egalitate i inegalitate n mediul MATLAB prin rezolvarea unor probleme
matematice concrete.

Introducere teoretic:
n cazul optimizrii staionare neliniare cu restricii de tip inegalitate i egalitate n
majoritatea cazurilor se ncearc reformularea problemei de minimizare cu scopul de a
obine o problem simpl de minimizare fr restricii. Problemele de minimizare cu
restricii n general sunt formulate astfel:
min{ f ( x) / gi ( x) 0, h j ( x) 0, i 1...m, j 1... p, x n }
unde:
f (x) - funcia multivariabil la care se caut minimul
gi (x) - funciile de restricii de tip egalitate

hi (x) - funciile de restricii de tip inegalitate


x -vectorul n dimensinal (vectorul variabilelor)
Se poate observa c problema prezentat astfel are m restricii de tip egalitate
respectiv p restricii de tip inegalitate. Dac n enunul problemei apar numai resticii de
tip egalitate atunci problema se rezolv cu metoda multiplicatorilor Lagrange, iar dac
apar i restricii de tip inegalitate atunci la rezolvare aproblemei se recurge la metoda
Kuhn-Tucker. Se definete Lagrangianul problemei:
L( x, , ) f ( x) , g ( x) , h( x)
unde
<,> s-a notat produsul scalar
- vectorul multiplicatorilor lui Lagrange
-vectorul multiplicatorilor lui Kuhn-Tucker
Prin definirea lagrangianului problema deja este transformat ntr-o problem de
minimizare fr restricii, pentru c n acest caz deja se caut minimul lagrangianului. n
cazul metodei Lagrange (avnd restricii numai de tip egalitate) condiiile de necesitate
pentru minim se obin ca:

L
0
x

L
0

iar n cazul restriciilor de tip inegalitate se procedeaz la fel, dar n acest caz apar deja
condiiile la limit.
Funcii pentru minimizare cu restricii n MATLAB
Pentru rezolvarea problemelor de minimizare cu restricii de tip egalitate i de tip
inegalitate n MATLAB se poate folosi funcia constr:

[xmin, options]=constr('F',x0,options, VLB,VUB ) unde:


- reprezint numele fiierului, care conine funcia de minimizat
F
f (x) respectiv restriciile de tip egalitate i de inegalitate g (x) . Funcia

x0
options
VLB,VUB
xmin

va avea dou argumente de ieire f i g, unde f este un scalar


reprezentnd funcia de minimizat, iar g va fi un vector. Primele m linii
reprezint restriciile de tip egalitate, iar restul restriciile de tip
inegalitate.
- reprezint valoarea de pornire a vectorului x
- este un argument opional de intrare i reprezint un vector cu diferite
optiuni
- vectorul de delimitare inferioar respectiv superioar a soluiilor
VLB x VUB
- punctul minim obinut

Se observ c i constr are ca argument de intrare i de ieire variabila options, care este
un argument opional. Aceast variabil reprezint opiunile cu care algoritmul de cutare
a minimului va fi rezolvat. Structura de opiuni poate fi vizulizat prin rularea comenzii
"help foptions". Dac funciile de mai sus sunt apelate fr acest argument atunci se
lucreaz cu valorile implicite ale acestora. Se remarc faptul c funcia constr folosete
urmtoarele opiuni:
- afiarea sau neafiarea valorilor intermediare
options (1)
- precizia impus pentru estimarea vectorului x
options (2)
- precizia impus pentru estimarea funciei
options (3)
- valoare optim a funciei
options (8)
- numrul total de iteraii
options (10)
- numrul restriciilor de tip egalitate (m). Dac acest numr este mai
options (13)
mic dect numrul funciilor de restricii introduse n funcia F,
atunci restul restriciilor vor fi considerate ca fiind restricii de tip
inegalitate, dac este zero nseamn c toate restriciile introduse sunt
de tip inegalitate.

options (14)

- numr maxim de iteraii

Dac structura options apare i ca argument de ieire, atunci aceast structur ne va


furniza nite informaii in plus despre algoritmul de cutare a minimului (ex. valoarea
funcionalei n punctul minim obinut, numrul de iteraii care a fost efectuat pentru
atingerea punctului minim, etc.)
Funcia constr prezentat, n versiunile MATLAB 6.x, este nlocuit de funcia fmincon,
care poate fi apelat n felul urmtor:
[xmin,options]=fmincon('F', x0, A,B, Aeq,Beq, LB,UB, NonLcon,options) unde:
- reprezint numele fiierului care conine funcia de minimizat f (x)

F
x0
A,B

Aeq, Beq

VLB,VUB
NonLcon

options
xmin

fr restricii
- reprezint valoarea de pornire a vectorului x
- reperezint restriciile liniare de tip inegalitate de forma A x B ,
unde A este o matrice la care numrul de linii reprezint numrul
restriciilor liniare de tip inegalitate i numrul de coloan depinde de
dimensiunea vectorului x., iar B este un vector coloan cu aceai numr
de linii ca i matricea A.
-reperezint restriciile liniare de tip egalitate de forma
Aeq x Beq unde dimensiunea matricilor sunt specificate ca i la
restriciile liniare de tip inegalitate
- vectorul de delimitare inferioar respectiv superioar a soluiilor
VLB x VUB
-reprezint numele fiierului care conine restriciile neliniare. Funcia
va returna doi vectori, prima reprezentnd restriciile neliniare de tip
egalitate, iar al doilea restriciile neliniare de tip inegalitate.
- este un argument opional de intrare i reprezint un vector cu diferite
optiuni
- punctul minim obinut

Exemplu de rezolvare n mediul MATLAB cu funcai constr al problemei:


2
min{ f x1 x22 x1 x2 2 x1 / x12 x22 1.5 , x1 0, x2 0} :

Se va scrie funcia obiectiv in fiierul fg.m :


function [f,g]=fg(x)
f=x(1)^2+x(2)^2+x(1)*x(2)+2*x(1);
g(1)=x(1)^2+x(2)^2-1.5; g(2)=x(1); g(3)=-x(2);

In fereastra decomand (sau ntr-un fisier separat) se vor scrie urmtoarele comenzi:
x0=[3;2]; %punctul de pornire
options(2)=1e-6; %toleranta dupa x

options(13)=0; % numar restrictiilor de tip egalitate


[xmin,options]=constr('fg',x0,options);
disp('Punctul minim:');disp(xmin);
disp('Valoarea functiei in minim:');disp(options(8));
disp('Numarul maxim de iteratii:');disp(options(10));

Rezultatul:
Punctul minim: [-1.1180; 0.5000];
Valoarea functiei in minim: -1.2951
Numarul maxim de iteratii: 39

Desfurarea lucrrii:
n cadrul lucrrii de laborator se ncearc rezolvarea diferitelor probleme de minimizare
cu restricii de tip egalitate i de tip inegalitate, cum ar fi:
2
min{ f x1 x22 x1 x2 2 x1 / x12 x22 1.5 , x1 0, x2 0}
min{ f x y / y x e x 0}
min{ f 10 ( x 3.5) 2 20 ( y 4) 2 / x y 6, x y 1, 2 x y 6, 0.5x y 4, x 1}

Pentru verificarea rezultatelor se va reprezenta grafic suprafaa funciei f (x) i pe grafic


se vor evidenia punctul obinut respectiv punctul de pornire. Se afieaz urmtoarele
valori: valoarea punctului minim, valoarea funciei n punctul minim respectiv numrul de
iteraii efectuat n cutarea minimului i se verific dac restriciile specificate sunt sau nu
satisfcute. Prin introducerea argumentelor VLB respectiv VUB se ncearc reducerea
restriciilor de tip inegalitate respectiv prin intermediul variabilei options se ncearc
obinerea valorii minime mai precise.
Pentru rezolvarea problemelor se pot folosi n afara funciillor specificate din MATLAB
urmtoarele funcii pentru reprezentri grafice: plot, subplot, mesh. meshgrid, contour,
etc

ntrebri:
1. Ce reprezint vectorul x0 la funcia constr (fmincon)?
2. Cum i unde se introduc restriciile de tip egalitate i inegalitate cnd se folosete
funcia constr?
3. Cum se pot rezolva analitic problemele de optimizare cu restricii?
4. Cum se poate mrii precizia unui algoritm de cutare a minimului cu restricii ?
5. Ce reprezinte argumentele VLB i VUB la funcia constr i cnd are rost folosirea lor?

Lucrarea nr. 3.

Lab.3-4

ALGORITMI DE CUTARE DIRECT A MINIMULUI


Scopul lucrrii:
Lucrarea propune studiul algoritmilor de cutare direct a minimului la funcii cu mai
multe variabile prin implementarea algoritmilor de cutare stocastic (Monte-Carlo
respectiv Boltzman) respectiv algoritmul metodei de cutare direct liniar accelerat n
pas i n direcie.

Introducere teoretic:
Metodele de cutare direct pentru determinarea minimului cer numai evaluri ale
criteriului (funcia de minimizat) n anumite puncte din spaiul variabilelor. Deci
avantajul acestora este c pot fi aplicate i n cazul funciilor nedifereniabile. Aceste
metode sunt mai puin eficiente dect metodele de gradient, datorit unei convergene
slabe, dar datorit simplitii lor de implementare n unele cazuri se pot folosi. Metodele
pot fi grupate n dou categorii: metode tabelare respectiv metode de explorare.
Fiecare categorie include un numr foarte mari de proceduri. n prezenta lucrare se
ncearc prezentarea numai a acelori metode care vor fi i implementate.

Metoda tabelar unde evaluarea funciei criteriu este realizat n nodurile unei
"grile" aleatoare poart denumirea metoda Monte-Carlo. Pentru aplicarea acestei metode
este necesar cunoaterea aprioric a unui domeniu din spaiul variabilelor, care include
minimul cutat. Punctele grilei sunt obinute dintr-o distribuie statistic uniform. Aceste
metode aleatoare (stocastice) au avantajul c minimul gsit este n general un minim
global. Neajunsul se refer la redundana algoritmului ceea ce nseamn c, datorit
faptului c punctele sunt generate aleator este posibil ca acelai punct s fie testat de mai
multe ori n cadrul aceluiai algoritmi de cutare, deci timpul de calcul poate s fie mare.
O metod mai mbuntit este metoda "termodinamic" denumit Boltzmann unde
algoritmul de cutare este:
1. Se alege un punct de pornire x(0) i se calculeaz n acest punct valoarea funciei (i=0).
2. Se definete o variabil T, suficient de mare ca probabilitatea p( f ( x)) 1 (T
reprezint o temperatur artificial)
3. Se corecteaz valoarea de pornire n mod probabilistic i se calculeaz valoarea funciei
n acest punct (x(i+1)).
4. Dac aceast modificare asigur o scdere a funciei obiectiv valorile modificate se
pstreaz, dac nu se determin probabilitatea de acceptare a noilor valori printr- o
statistic Boltzmann dup cum urmeaz.

10

f ( x )
k T

p( f ( x)) e
unde p( f ( x)) este probabilitatea de modificare al funciei obiectiv( f ) i k este o
constant cu semnificaii analogice ca a constantei Boltzmann
- dac p( f ( x)) se efectueaz corecia (x(i+1))
- dac p( f ( x)) se pstreaz valoare de la momentul i (x(i))
unde este o valoare stocastic de distribuie uniform n intervalul [0,1]. Iteraia
continu de la pasul 3.
n figura 1 se prezint metoda de cutare stocastic Monte-Carlo care a fost obinut la
rezolvarea problemei: min{ f x12 x22 x1 x2 2 x1 / x12 x22 1.5 , x1 0, x2 0}

Fig. 1. Exemplificarea metodei de cutare Monte-Carlo


n cadrul metodelor de expolare se prezint algoritmul referitor la metoda accelerat
n pas (metoda Hooke-Jeeves) respectiv metoda accelerat n direcie (metoda Powel).
Metoda Hooke-Jeeves const n efectuarea unei explorri locale dup direcii
paralele cu axele de coordonatre i cu un pas fixat. Algoritmul formal al metodei este:
1. Se alege un punct de pornire x0 ( k 0 )i o mrime iniial a pasului s i se calculeaz
valoarea funciei de minimizat n acest punct f ( x0 ) .
2. Se efectuez explorarea local secvenial n jurul punctului dup relaia
xki 1 xki s M ki
unde vectorul direciilor de cutare este definit ca:

0 pentru j k
unde M j ,k
1 pentru i k
3. Dup fiecare direcie se efectuez explorarea, se calculeaz valoarea funciei n acel
punct modificat i dac se obine o mbuntire atunci se seteaz i i 1 i se consider
o deplasaare cu succes ( x Ni ). Dac nu se obine o mbuntire se va relua iteraia cu un
M k M 1,k

M 2, k

M n,k

pas micorat.

11

4. Dac s-a terminat studiul dup fiecare direcie n iteraia I, se va efectua o micare pe
diagonala deplasrilor de succes cu relaia:
x0i 1 x Ni x Ni x0i

unde este coficientul de accelerare.


5. Dac f ( x0i 1 ) reprezint o mbuntire atunci punctul x0i 1 se alege ca punct de
baz i se reia expolarea de la pasul 2., dac nu se alege ca punct de baz x0i i

x2

explorarea se efectuez cu pai micorai.


6. Iteraia se termin dac se satiface condiia c variaia funciei de la o iteraie la alta
este sub o anumit valoare predefinit.
n figura 2 se prezint metoda de cutare direct (Hooke-Jeeves) care a fost obinut la
rezolvarea problemei min{ f x12 x22 x1 x2 2 x1}

x1

Fig. 2. Metoda de cutare direct


Metoda Powell este o metod accelerat n direcie i se bazeaz pe cutarea dup
direcii conjugate, independente n fiecare iteraie. Funcionala criteriu este minimizat
i
i 1
S
dup o relaie de tipul: x k x k

M k i . Algoritmul formal al metodei este:

1. Se alege un punct x0 de pornire, i un set de direcii de cutare M 1 , M 2 ,....M N

paralele cu axele de coordonate.


2. Se execut o cutare ciclic monodimensional dup fiecare direcie i se obine
punctul de minim x *0 n prima iteraie .
i

3. Dac n iteraia i de cutare s-a determinat ultimul punct x N i se localizeaz punctul


x *i x j i pentru care s-a obinut cea mai eficient mbuntire a funciei criteriu n

cadrul iteraiei i, n sensul c


i

i
2 x N x0
extindere xext

f x j f x j 1
i

unde x0

este maxim se definete punctul de

reprezint punctul iniial al iteraiei i.

12

4. Se determin:

x Ni x0 i

f x j J x j 1
i

5. Se efectueaz testul dac pentru punctul de extindere se obine o mbuntire fa de


punctul de pornire x0 i n iteraia i, pe baza urmtoarelor relaii:

f x 2 f x f x f x f x E unde
1
f x
E
f x
2
i

i
N

i
ext

i
N

i 2
ext

Dac inegalitatea nu este satisfcut (s-a obinut o mbuntire) se consider ca punct de


baz pentru iteraia i+1 cea mai bun valoare obinut n iteraia i i noile direcii de
i

pentru
i 1, j 1
M
i 1
cutare vor fi : M k ik
i j, N 1

M k 1 pentru
Dac inegalitatea este satisfcut n cutarea punctul iniial pentru iteraia i+1 avem:
i 1

Mk

Mk

i 1

pentru i 1, N i punctul de baz pentru iteraia i+1 va fi: x 0


i

xN .
i

6. Procedura se termin dac: x k x k 1

Desfurarea lucrrii:
n cadrul lucrrii de laborator se vor implementa algoritmii de cutare direct prezentai.
Problema propus pentru testarea metodei Monte-Carlo i Boltzmann:
2
min{ f x1 x22 x1 x2 2 x1 / x12 x22 1.5 , x1 0, x2 0}
Domeniul iniial unde se caut minimul este definit de cele trei restricii de tip inegalitate.
Se va reprezenta grafic suprafaa convex, unde se specific punctele cu succes la
algoritmul de cutare a minimului.
Metoda Hooke-Jeeves respectiv metoda Powell se poate testa la funcionala convex fr
restricii: min{ f x12 x22 x1 x2 2 x1} La fel ca i la metoda precedent i la aceste
metode se evideniaz punctele n care s-a gsit o mbuntire a funcionalei, i se
testeaz metoda modificnd punctul de pornire. Se va reprezenta valoarea funcionalei
respectiv variaia variabilelor x1 , x2 pe parcursul algoritmului de cutare.

ntrebri:
1. Cum se poate mbuntii metoda de cutare stocastic ?
2. Care sunt dezavantajele metodei Monte-Carlo?
3. Dup ce algoritm s-ar putea micora pasul de cutare la metoda Hooke-Jeeves?
4. Cum se poate testa atingerea minimului n ambele cazuri?
5. Cutai i implementai alte metode directe de cutare a minimului?

13

Lucrarea nr. 4.

Lab.5
METOD DE GRADIENT DE ORDIN I

Scopul lucrrii:
Lucrarea propune implementarea algoritmului de cutare a minimului cu metoda
gradientului de ordin I cu pas constant i pas optimal, respectiv studiul acestei metode
pentru diferite funcii convexe.

Introducere teoretic:
Metodele de cutare tip gradient sunt utilizate pentru optimizarea sistemelor
caracterizate de funcii f (x) difereniabile i se bazeaz pe idea conform creia rata
maxim de variaie a funcionalei se obinne dup direcia gradientului. Gradientul este un
vector unde elementele sunt calculate ca derivate paiale de ordin I ale funciei.

f ( x)
gradf ( x)
x1

f ( x)
f ( x)

x2
xn

Vectorul normat este:

D( x )
k

gradf ( x k )
gradf ( x k )

gradf ( x k )
2


i 1 xi
Algoritmul de cutare cu metoda de gradient de ordin I are urmtoarea relaie de baz.
k 1
k
x
x
S k D( x k ) unde:
n

S k reprezint pasul de cutare


D( x k ) reprezint vectorul normat n direcia gradientului n punctul de cutare x<k>
Deci metoda necesit calculul derivatei n fiecaare iteraie. Pentru calculul derivatei se
poate folosi urmtoarea metod aproximativ:
f ( x) f ( x ) f ( x)

Terminarea procesului de cutare este condiionat de ndeplinirea simultan a criteriilor:


x k 1 x k
f ( x k 1 ) f ( x k )
respectiv
sau grad ( f ( x k )) 0
Algoritmul de cutare aa metodei de gradient de ordin I cu pas constant S:
1. Se alege un punct de pornire x 0 pentru k 0 i o valoare constant pentru pasul de
cutare.
2. Se calculeaz gradientul funciei n punctul x k ( gradf ( x k ) ) i se normalizeaz.

14

3. Se efectueaz o iteraie:

k 1

S D( x k )

4. Se calculeaz valoarea funciei n punctul f ( x k 1 ) .


5. Dac condiiile urmtoare sunt satisfcute
respectiv
x k 1 x k
f ( x k 1 ) f ( x k )
punctul x k 1 se consider ca fiind punctul minim, dac nu iteraia continu ncepnd cu
pasul 2.
Algoritmul de cutare a minimului cu pas optimal difer de algoritmul precedent prin
faptul c n fiecare iteraie se recalculeaz valoarea pasului Sk. Pasul optimal, care a fost
calculat pe idea c distana f ( x k 1 ) f ( x k ) s fie maxim n raport cu pasul S<k>,
are expresia urmtoare:

grad x f ( x k ) , grad x f ( x k )

grad x f ( x k ) , Hess( x k ) grad x f ( x k )

x2

Se poate observa c determinarea pasului optimal S k necesit calcularea derivatelor de


ordin doi n matricea hessian.
n figura 1 se prezint exeplificarea metodei de gradient de ordin unu cu pas constant care
a fost obinut n rezolvarea problemei min{ f x12 x22 x1 x2 2 x1}

x1

Fig. 1. Metoda de gradient cu pas constant (n plan i n spaiu)

Desfurarea lucrrii:
Se va implementa algoritmul de cutare a minimului cu metoda gradientului cu pas
constant i pas optimal pentru cutarea minimului funcionalelor:

f ( x) x1 x22 x1 x2 2 x1
2

respectiv

15

f ( x, y) x e x

y2

Se vor reprezenta grafic suprafaa funcionalelor i se va evidenia punctul de pornire


respectiv punctul minim.
Se va testa algoritmul alegnd diferite puncte de pornire respectiv pentru valoarea pasului
S (n cazul metodei cu pas constant ). Se va testa precizia metodei respectiv numrul de
iteraii folosite n cutarea minimului.

ntrebri:
1. Cu metoda gradientului de ordin I se pot gsi minime locale sau globale?
2. Cum se poate aproxima numeric vectorul de gradient fr a calcula analitic derivata
funciei ?
3. Cum se poate testa dac n urma efecturii iteraiilor s-a ajuns la minim ?
4. Cum se modific algoritmul dac se cere determinarea maximului ?

16

Lucrarea nr. 5.

Lab.6-7

METODE DE CALCUL AL PASULUI OPTIMAL LA


CUTAREA MINIMULUI
Scopul lucrrii:
Lucrarea propune diferite metode de determinare a pasului optimal folosite la
algoritmi de cutare a minimului cu metoda gradientului la ordin I. Metodele studiate sunt
cele aproximative care nu necesit calcularea Hessianului: metoda Cauchy respecticv cea
de interpolare polinomial.

Introducere teoretic:
Metoda Cauchy:
Algoritmul de optimizare staionar cel mai rspndit din categoria metodelor de
gradieni de ordin unu este cunoscut ca metoda Cauchy sau de gradient optimal. Metoda
este utilizabil pentru optimizarea sistemelor multivariabile neliniare, fr restricii.
Algoritmul metodei este urmtorul:
1. Se alege un punct iniial de pornire x k (k=0) i se calculeaz f x k respectiv

cu care se determin direcia de cutare: M

grad x f x k


grad f x
k

2. Se determin valoarea pasului S k , care n direcia definit de M k asigur variaia


maxim a criteriului de calitate f(x):
S k min f x k 1 f x k S M k
S

3.Se efectueaz modificarea variabilei x


x k 1 x k S k grad x f ( x k )
4. Iteraia continu pn cnd urmtoarele condiii vor fi neplinite:
respectiv
x k 1 x k
f ( x k 1 ) f ( x k )

Metoda propus de POLAK pentru calcularea pasului optimal:


Se presupune ca variaia funciei criteriu n direcia M
n figura urmtoare.

17

, are forma reprezentat

Fig 1 Reprezentare grafic a aproximrii pasului optimal

unde punctul de origine corespunde valorii S=0 , f x k 0 M k f x k 0 , iar


S , x f x S M f x reprezint prima variaie a funcionalei J(u). Algoritmul se
bazeaz pe urmtoarele funcii unde (0, 0.5) :

S , u k J u k S M k J u k S 1 gradu J u k , M k

k
J u k S M k J u k S gradu J u k , M k
S , u
n prima faz se determin intervalul ao bo] astfel nct pasul optimal cutat se va afla n
acest interval.
1. Se alege o valoare de pornire S = unde > 0
2. Se calculeaz valoarea funciei S, x k .

Dac S, x

= 0 rezult:

f x k S M [k f x k S 1 grad x f x k , M k

relaie, care corespunde aproximrii dezvoltrii n serie a funcionalei f(x), unde termenul
de ordin I, este nul. Deci valoarea S reprezint valoarea optimal n iteraia k, conform
algoritmului prezentat: S k S
k
Dac S, x
< 0, rezult ca punctul S se situeaz pe panta descresctoare a primei
variaii a funcionalei f(x), astfel: S S i iteraia se continu de la pasul 2.

Dac S, x k >0, rezult c pentru pasul S prima variaie a funcionalei de cost se


situeaz pe panta cresctoare, deci pasul curent reprezint supremul intervalului n care se
afl minimul.

3. Se calculeaz valoarea funciei S, x

Dac

S , x k 0 pasul S

respectiv dac S , x
0 , limitele intervalului n care se afl minimul
sunt: ao S bo S . Cunoscnd intervalul S a o , bo n care se afl pasul optimal
k

n continuare se urmrete aproximarea lui mai precis pe baza metodei de


S
njumtire a intervalului a o , bo .

18

4. Se alege punctul j

a j bj
2

0 si , x 0 atunci pasul optimal este S k j .


, x 0 se alege a a si b
Dac , x 0 si
Dac , x 0 si
, x 0 se alege a si b b

5. Dac j , x

jH

jH

jH

jH

Iteraia se continu de la pasul 4.


Obs. Aplicaiile au dovedit c alegerea parametrilor =1 i 0,5 (=0,4) au permis
obinerea unei rate foarte bune a convergenei.
Metoda de interpolare polinomial
Ca i metoda precedent i aceast metod are dou etape:
1. n prima faz denumit etap de extrapolare se determin intervalul n care se afl
minimul prin dublarea intervalului de cutare . Astfel alegnd un pas de cutare se
determin succesiv valoarea criteriului n punctele :
k
k
k
k
k
k
f x
Sgrad x f x
f x
2Sgrad x f x
... f x
2 j 1 Sgrad x f x

f x

2j


S grad f x f x
k

2 j 1 S grad x f x

Dup aceste calcule se poate afirma c valoarea lui S*


*
2 j 1 S S 2 j 1 S , deci S S H S L

se afl n intervalul

2. n etapa de interpolare se caut coeficienii polinomului de gradul 3, care aproximeaz


att criteriul n punctele extreme ale intervalului determinat ct si valoarea derivatei n
aceste puncte SH si SL .
k
k
f x
S grad x f x
a3 S 3 a 2 S 2 a1 S a0 f * ( S )

f k
x
S


S grad f x 3 a
k

S 2 2 a 2 S a1 df * ( S )

Valoarea derivatei se determin printr-o metod numeric bazat pe perturbaia pasului.


Scriind ecuaiile de mai sus sub form matricial pentr SH respectiv SL se poate calcula
vectorul parametrilor:

a3 S H3
a 3
2 SL
a1 3 S H2

2
a0 3 S L

S H2
S L2
2 SH
2 SL

SH
SL
1
1

1
0

f * (S H )
*

f (S L )

df * ( S H )
*

df ( S L )

Pasul suboptimal se obine ca :

a 2 a 22 3 a1 a3
3 a3

19

Etapa de extrapolare respectiv de interpolare se repet n fiecare iteraie de cutare a


minumului. n figura 1 se prezint exeplificarea metodei de gradient de ordin unu cu pas
optimal (determinat cu metoda interpolrii) care a fost obinut n rezolvarea problemei
2
min{ f x1 x22 x1 x2 2 x1}

Fig. 2. Metod de graadient de ordin unu cu pas optimal


(aproximat cu metoda de interpolare)
Metoda "Seciunii de aur"
Asemntor cu metodele prezentate i aici cutarea pasului optimal se face n dou etape:
1. Determinarea intervalului n care se afl minimul pentru care sunt necesare evaluarea
n trei puncte succesive x1 x2 x3 ale criteriului de calitate s respecte condiiile
J x1 J x2 J x3
2. Restrngerea intervalului n care se afl minimul, adic aproximarea succesiv a
pasului optimal pn la atingerea unei precizii prestabilite. La restrngerea intervalului n
care se afl rdcina se utilizeaz metoda punctului median x 12 a b dup care
intervalul n care se afl rdcina este determinat din relaia f a f x 0 caz n care
rdcina se afl n intervalul a, x sau f x f b 0 caz n care rdcina se afl n
intervalul x, b . Similar gndind n cazul cutrii unui minim alegerea punctul median nu
va asigura cea mai bun convergen deoarece este necesar generarea a dou puncte
interne, motiv pentru care s-a recurs la o alt alegere i anume la o mprire a intervalului
b0 a0 l generat de un raport oarecare a1 a0 b0 b1 w l . Dup alegerea
intervalului restrns n care se afl minimul se consider ca n iteraia a doua care se
bazeaz pe mprirea similar cu raportul w a noului interval de baz
b1 a0 d 1 w l cu care se obin punctele a 2 respectiv b2 cu proprietatea
a2 a0 b1 b2 w d . Totodat din considerente asupra convergenei metodei se
impune ca noul interval de baz s nu fie mprit n mai mult dect trei subintervale din
cele patru a0 , a2 , a2 , b2 , b2 , a1 , a1 , b1 deoarece cele trei intervale marcate de patru

20

puncte pot asigura selecia acelor trei puncte care localizeaz optimul. Astfel rezult
condiia:
b2 a1 a1 a0 w l b2 a0 1 w d

w l 1 w l w2 3w 1 0 w1 0.5 (3 5 )
i din considerentul ca mprirea intervalului s fie subunitar rezult w 0.381966 sau
1 w 0.618033 , numr care are proprietatea ca raportul segmentului mai scurt raportat
w
la segmentul mai lung este egal cu segmentul mai lung
1 w este cunoscut nc
1 w
din Grecia antic sub denumirea de seciunea de aur. Deci metoda asigur ca la fiecare
pas una din cele dou puncte alese s coincid cu vechiul punct intermediar ceea ce
reduce mult efortul de calcul. Pseudocodul algoritmului Seciunii de aur este:
2

Iniializare:

w = 0.618033988

LOOP k from 1 to maxIter


a1 = (1-w).a + w.b;
f1 = f(a1);
b1 = w.a + (1-w).b; f2 = f(b1);
IF ( f1 > f2) THEN
a = b1; b1 = a1; f2 = f1;
a1 = (1-w).a + w.b;
ELSE
b = a1;
a1 = b1;
b1 = w.a + (1-w)b;
ENDIF
WRITE k, a1, b1
IF ( (a1 b1) < tolerance) STOP
ENDLOOP

Se aleg: a, b, maxIter, tolerance


Se calculeaz: f(a), f(b)

f1 = f(a1);
f1 = f2;
f2 = f(b1);

Desfurarea lucrrii:
Se va implementa algoritmul de cutare a minimului cu metoda gradientului cu pas
optimal pentru cutarea minimului funcionalelor:
f x 5 x12 6 x1 x2 5 x22
Se vor implementa funciile pentru algoritmii de cutare a pasului optimal. Se va
reprezenta grafic suprafaa funcionalei f(x) i se va evidenia punctul de pornire respectiv
punctul minim obinut. Se va testa algoritmul alegnd diferite puncte de pornire pentru
vectorul x1 x2 0 respectiv se vor compara metodele de cutare a pasului optimal din
punct de vedere al preciziei respectiv al timpului de calcul.

ntrebri:
1. Cu metoda gradientului de ordin I se pot gsi minime locale sau globale?
2. Cum se poate aproxima numeric vectorul de gradient fr a calcula analitic derivata
funciei ?
3. Cum se poate testa dac n urma efecturii iteraiilor s-a ajuns la minim ?

21

Lucrarea nr. 6.

Lab.8
METODE DE GRADIENI DE ORDIN II

Scopul lucrrii:
Lucrarea propune diferite metode de gradieni de ordin II. Sunt studiate i metodele
aproximative, care nu necesit calcularea Hessianului: metoda Newton-Gauss respectiv
metoda Newton modificat.

Introducere teoretic:
Relaia de baz pentru determinarea minimului funcionalei f(x) cu metoda de
gradieni de ordin II, are forma

x k 1 x k Hess x k

grad x f x k

unde pasul optimal este S k 1 , iar direcia de coborre n acest caz este:

M k Hess x k

grad x f x k

Deci pentru a obine valori convergente spre minim este necesar ca

matricea

Hess u k s fie pozitiv definit i nesingular. Aceast clas de metode de minimizare,


poart denumirea de algoritmul Newton-Raphson. Metoda are o convergent ptratic,
dar este divergent dac Hessianul are valori proprii negative, respectiv este slab
convergent dac Hessianul este cvazisingular adic are valori proprii apropiate de
valoarea nul . Pentru a reduce volumul de calcule, matricea Hessian poate fi estimat nu
la fiecare iteraie, ci mai rar, dar acest lucru poate duce la divergena algoritmului, dac
hessianul devine negativ definit. Din acest motiv, tehnicile de optimizare de ordin II apar
i sub forme modificate prezentndu-se n diverse variante mbuntite. Exist i o serie
de metode care ocolesc calculul hessianului. Astfel de metode sunt:
metoda Newton-Gauss folosete o aproximare a matricei Hessian de forma :

Hess x k grad x f x k

grad x f x k

metoda are o convergent ptratic n vecintatea punctului optim. Nu se recomand


aplicarea ei pentru puncte ndeprtate de optim, caz n care aproximaia nu este valabil.
metoda cvasi Newton modificate avnd urmtorul algoritm :
0
1. Se alege x 0 n astfel nct mulimea x / f x f x
s fie mrginit i se aleg
1
constantele 0 , 0, , 0 i i=0 .
2

2. Se aproximeaz coloana j a matricei Hessiane din relaia

22

grad f x
Hess , x
i

e j grad x f x

unde e1 1 0 ... 0, e2 0 1 ... 0, etc.

grad f x 0 se
Hess , x grad f x

3. Dac exist Hess , x i i grad x f x i , Hess , x i


1

efectueaz iteraia : x i 1 x i

i 1

i se continu iteraia de la pasul 2 .


2
n figura 1 se prezint atingerea punctului minim ntr-un singur pas cu metoda NewtonRaphson , funcia la care se caut minimul este: f x 5 x12 6 x1 x2 5 x22
altfel

Fig.1 Atingerea minimului ntr-un singur pas cu metoda gradientului de ordin II

Desfurarea lucrrii:
Se va implementa algoritmul de cutare a minimului cu metoda gradientului cu
pas optimal pentru cutarea minimului funcionalelor:
f x 5 x12 6 x1 x2 5 x22 respectiv f x 100 x12 x22 1 x12

Se vor implementa algoritmii de cutare a minimului dup cele trei metode de gradieni
de ordin II. Se va reprezenta grafic suprafaa funcionalei f(x,y) i se va evidenia punctul
de pornire respectiv puntul minim. Se va testa algoritmul alegnd diferite puncte de
pornire pentru vectorul x y 0 respectiv se vor compara metodele de cutare minimului
din punct de vedere al preciziei respectiv al timpului de calcul.

ntrebri:
1. Cum se calculeaz pasul optimal la metodele de gradieni de ordin II?
2. Dac funcionala este un criteriu ptratic n ci pai se obine valoarea minimului?
3. Cnd se poate aplica metoda Newton-Raphson?
4. Cum se modific algoritmul dac se cere cutarea maximului funcionalei?

23

Lucrarea nr. 7.

Lab.9
METODE DE GRADIENI CONJUGAI

Scopul lucrrii:
Lucrarea propune implementarea metodei de gradieni conjugai pentru diferite
funcii de mai multe variabile. Pasul optimal calculat poate fi calculat cu oricare din
metodele abordate la alte lucrri de laboratoare (ex. metoda Cauchy).

Introducere teoretic:
La metoda de gradieni conjugai direciile de cutare sunt mutual conjugate cu privire la

matricea Hess . Un set de direcii M 0 , M 1 ,..., M N 1

sunt mutual conjugate fa de

matricea Hess simetric pozitiv definit dac sunt valabile urmtoarele relaii:
T
pt
k j
0
M k
Hess M j
pt
k j
1

Aceste direcii sunt liniar independente i asigur determinarea punctul de optim n


cel mult N iteraii. Cea mai cunoscut metod de gradieni conjugai este metoda
Fletcher Reeves ,avnd urmtorul algoritm :
1. Se alege un punct de pornire x<0>
k

2.. Se calculeaz direcia : M

unde

k 1

grad x f x 0
pentru k 0

k
i M i 1 pentru k 0
grad x f x
i 1

k 1
grad x f x
, grad x f x k 1

grad x f x k , grad x f x k

3. Se determin valoarea pasului S din relaia:


k
k
k
k
J x S k M
min x S M / S 0 )

<k+1>

4. Se determin valoarea vectorului x

din relaia:
k
k
x
x S k M
k 1

5. Se testeaz condiia :

grad x f x k 1 0

Dac aceast condiie este satisfacut se termin algoritmul de cutare, dac nu iteraia se
continu de la pasul 2.
24

Fig. 1. Metoda de gradienti conjugati

Desfurarea lucrrii:
Se va implementa algoritmul de cutare a minimului cu metoda de gradieni conjugai la
urmtoarea funcie de dou variabile:
f x 5 x12 3 x1 x2 x22
Se va reprezenta grafic suprafaa funcionalei f(x) i se va evidenia punctul de pornire
respectiv puntul minim. Se va testa algoritmul alegnd diferite puncte de pornire pentru
vectorul x1 x2 0 respectiv se vor compara metodele de cutare minimului din punct de
vedere al preciziei respectiv al timpului de calcul.

ntrebri:
1. La metodele de gradieni conjugai cum sunt calculate direciile de cuare?
2. La o funcie de n variabile n ci pai se calculeaz minimul cu metodaa gradienilor
conjugai?
3. Cum se calculeaz pasul optimal?
4. Care sunt condiiile de oprire la metoda de gradieni conjugai?

25

Lucrarea nr. 8.

Lab.10

METODE NUMERICE PENTRU REZOLVAREA


PROBLEMELOR CU RESTRICTII.
Scopul lucrrii:
Lucrarea propune implementarea metodelor numerice pentru rezolvarea
problemelor cu restricii de tip egalitate cu metoda de relaxare Lagrange. Pasul optimal
calculat poate fi calculat cu oricare din metodele abordate la alte lucrri de laboratoare
sau poate fi fixat la o valoare constant.

Introducere teoretic:
Metoda de relaxare tip Lagrange se utilizeaz la rezolvarea numeric a
problemelor de minimizare cu restricii de tip egalitate. Problemele de minimizare cu
restricii de tip egalitate n general sunt formulate astfel:
min{ f ( x) / gi ( x) 0, i 1...m, x n }
unde:
f (x) - funcia multivariabil la care se caut minimul
gi (x) - funciile de restricii de tip egalitate
x -vectorul n dimensinal (vectorul variabilelor)
Numrul restriciilor de tip egalitate es m. Putem s determinm funcia Lagrange n felul
urmtor:
L( x, ) f ( x) , g ( x)
unde
<,> s-a notat produsul scalar
- vectorul multiplicatorilor lui Lagrange
Prin definirea lagrangianului problema deja este transformat ntr-o problem de
minimizare fr restricii, pentru c n acest caz deja se caut minimul lagrangianului.
Rezolvarea analitic a problemei este prezentat pe scurt la lucrarea de laborator nr.2. La
metoda de relaxare problema se descompune n dou etape:
-n prima etap se fixeaz valoare multiplicatorului Lagrange la o valoare fix * i se
rezolv problema de minimizare dup variabila necunoscut x

L( x, * )
0
x

26

Considerm c soluia obinut este: x * (* ) care depinde de valoarea fixat a


multiplicatorului.
- n a doua etap se rezolv problema de maximizare a lagrangianului n funcie de *
*
*
*
L( x ( ), )
0

Dac se noteaz cu * opt valoarea optim a multiplicatorului atunci nlocuind n relaia de


calcul al variabilei necunoscute x * (* ) se obine rezolvarea problemei de optimizare.
Dac metoda de relaxare vrem s implementam numeric atunci se poate aplica urmtorul
algoritm:
0. Se definete lagrangianul problemei. Se introduce o valoare de pornire pentru x <0>
i se fixeaz valoarea multiplicatorului la o valoare constant.
1. Se caut cu o metod numeric (de ex. metoda gradientului de ordin I) minimul
lagrangianului n funcie de x n timp ce valoarea multiplicatorului nu se schimb.
2. Se caut cu o metod numeric (de ex. metoda gradientului de ordin I) maximul
lagrangianului n funcie de n timp ce valoarea variabilei x nu se schimb ci
rmne la valoarea determinat n pasul 1.
Procesul (pasul 1 i 2) se continu pn la atingerea unei precizii prestabilite.

Desfurarea lucrrii:
Se va implementa algoritmul de cutare a minimului cu restricii utiliznd metoda de
relaxare Lagrange:
f x (50 x1 ) x1 (64 x2 ) x2 dac x1 1.5 x2 60
Se va reprezenta grafic suprafaa funcionalei f(x) i se va evidenia pe graphic i restricia
de tip egalitate. Se va testa algoritmul alegnd diferite puncte de pornire pentru vectorul
x1 x2 0 respectiv se vor compara metodele de cutare minimului din punct de vedere
al preciziei respectiv al timpului de calcul.
n figura 1. se prezinte rezultatul implementrii numerice a metodei unde att la
minimizare ct i la maximizare se folosete metoda gradientului de ordin I cu pas
constant.
n figura 2 se prezinte variaia multiplicatorului Lagrange respective a variabilelor x pe
parcursul algoritmului.

27

150

100

x1

50

-50

-100
-100

-50

50

100

150

x2

Fig.1. Implementarea metodei de relaxare Lagrange


Variatia x

Variatia lambda

60

20

40

10

20
0

-10

x(t)

Multiplicatorul Lagrange

-20

-20

-30

-40

-40

-60

-50

-80

-60

20

40

60
Nr. de iteratii

80

100

-100

120

20

40

60
Nr. de iteratii

80

100

120

a).
b).
Fig.2. Variaia multiplicatorului (a) respectiv a variabilelor x (b)

ntrebri:
1. Cum se calculeaz pasul optimal la metoda de cutare a minimului?
2. Care sunt condiiile de oprire la metoda de gradieni de ordin 1?
3. Cum se calculeaz maximul lagrangianului n funcie de multiplicatorul Lagrange ?
4. Cum se modific problema dac numarul restriciilor de tip egalitate este mai mare
dect unu?

28

Lucrarea nr. 9.

Lab.11

REZOLVAREA ANALITIC A PROBLEMELOR CU AJUTORUL


ECUAIILOR EULER-LAGRANGE
(CALCUL VARIAIONAL)
Scopul lucrrii:
Lucrarea propune studiul rezolvrii analitice a problemelor de calcul variaional
cu ajutorul ecuaiilor Euler Lagrange . Soluia analitic se va compara graphic cu
rezolvarea numeric a problemei respective.

Introducere teoretic:
n cadrul calculului variaional clasic se caut extremul funcionalei :
.

J ( x(t ), x(t ), t ) L( x( ), x ( ), t )d
Forma clasic a ecuaiei Euler-Lagrange:

.
.
L
d L
( x ( ), x *( ), )
. ( x ( ), x *( ), ) 0
x
d x

Pentru exemplificare se va rezolva urmtoarea problem:


Fie o dreapt si dou puncte P1(a,c) respectiv P2(b,d) amplasate pe acelai parte a dreptei.
S se determine curba neted care ntrunete punctele P1 si P2 astfel ca corpul de rotaie
obinut printr-o rotaie dup dreapta definit s aib suprafaa minim.
Deci se caut funcia ( x ) cu proprietatea ( a) c si (b) d . Suprafaa de rotaie definit
se obine ca :
b

S ( ) 2 ( x) 1 2 ( x)dx
a

Lagrangianul problemei este:


L( ( x), ( x), x) ( x) 1 2 ( x)
Se poate observa c aici variabila independent este x.
Ecuaia Euler-Lagrange corespunztoare problemei este :
d
1 (x)
dt
. 2

( x )
( x )
0
. 2

1 (x)

Dup derivare respectiv calculele algebrice simple se obine:

29

1 2 ( x) ( x) ( x)

0
( x) 1 2 ( x)
Deci ecuaiadiferenial care trebuie rezolvat este:
( x) (1 2 ( x)) / ( x)
Rezolvarea analitic a problemei este

x
( x ) ch

, .

Constantele i pot fi determinate din condiiile iniiale i finale a problemei


coordonatele punctelor P1(a,c) respectiv P2(b,d).
Rezolvarea numeric a problemei este posibil cu o metod de integrare numeric RungeKutta (funcia Matlab ode45).

Desfurarea lucrrii:
Se va implementa algoritmul rezolvare numeric a ecuaiei diferenial
( x) (1 2 ( x)) / ( x)
Cu ajutorul funciei de integrare numeric ode45 se va rezolva numeric problema, iar rezultatul se va
compara cu cea analitic. Constantele

i vor fi determinate tot cu o metod numeric folosind funcia

fsolve, cu ajutorul creia se poate determina soluia sistemului de ecuaii:

c (a ) ch

b

d (b) ch

n figura 1. se prezinte reprezentarea grafic a celor dou solutii: analitice i cea
numeric.
Reprezentarea solutiei
22
Numeric
Analitic

20
18

fi(x)

16
14
12
10
8
6
-2

4
x

10

Fig. 1. Reprezentarea funciei obinut cu metoda analitic i cea numeric

30

In figura 2 este prezentat suprafaa de rotaie obinut in urma rezolvrii


numerice a problemei:

1
0.8

0.6
0.4
0.2
0
20
10

20
10

-10
y

-10
-20

-20

Fig.2. Suprafaa de rotaie

ntrebri:
1. Ce tip de probleme pot fi rezolvate cu ajutorul funciei ode45?
2. Cum trebuie s transcriem ecuaia diferenial neliniar de ordin doi pentr a putea
rezolva cu ajutorul funciei ode45?
3. Cu ajutorul funciei fsolve pot fi rezolvate ecuaii difereniale neliniare?

31

Lucrarea nr. 10

Lab12-13

CONTROLUL OPTIMAL N TIMP


A UNUI OSCILATOR ARMONIC LINIAR
Scopul lucrrii:
n lucrare se studiaz reglarea optimal a unor sisteme dinamice continue cu variaii
periodice ale strilor, i se verific metodele de acordare optimale ale regulatoarelor de
stare bazate pe formalismul ecuaiilor Hamilton-Jacobi. Exeplul studiat n timp de reglare
minim, scoate la iveal caracteristicile sistemelor optimale, avnd optimul pe limita
domeniului admis.

Introducere teoretic:
Se presupune c sistemul dinamic a unui oscilator armonic este descris de
urmtorul sistem de ecuaii:
dd

2
y (t ) y (t ) k u (t )
dt dt

unde k 0 i comanda u (t ) trebuie s satisfac urmtoarea relaie: u (t ) 1


n cazul servomecanismelor astfel de sisteme sunt descrise de urmtoarea funcie de
transfer:
Y ( s)
k
H ( s)
2
U ( s) s 2
dy (t )
Dac definim ca stri variabilele x1 (t ) y(t ) respectiv x2 (t )
rezult sistemul de
dt
ecuaii:
1 x1 (t ) 0
d x1 (t ) 0


u (t )

dt x2 (t ) 2 0 x2 (t ) k
efectund schimbarea de variabile:

x1 (t )

x1 (t )

x2 (t )

1
x2 (t )
k

k
ecuaia de stare a sistemului dinamic devine:
d x1 (t ) 0 x1 (t ) 0

u (t )

dt x2 (t ) 0 x2 (t ) 1
Prin modificarea precedent s-a ajuns la un sistem care are proprietatea c traiectoria
strilor libere n planul strilor sunt cercuri cu centrul n origine i raza dependent de
condiiile iniiale:
x1 (t ) 2 x2 (t ) 2 x1 (0) 2 x2 (0) 2

32

Interpretarea fizic a rezultatelor se bazeaz pe proprietatea ca oscilatorul armonic este un


sistem conservativ .
Pentru determinarea comenzii optimale admisibile, care s asigure forarea sistemului n
stareaa final (0,0) n timp minim se definete hamiltonianul problemei:
H ( x, u, p, t ) 1 p, A x B u 1 x2 (t ) p1 (t ) x1 (t ) p2 (t ) u(t ) p2 (t )
Ecuaiile de necesitate a optimului sunt date de relaiile:
d
H ( x, u, p, t ) p 2 (t ) 0
du
sau n cazul de fa eliminnd soluia trivial p2 (t ) 0 se va aplica principiul
Pontrjiagin, care ne asigur urmtoarea soluie de comand optimal:
u(t ) min H (u) / u U sign( p2 (t ))
u

Ecuaiile pentru vectorul costare p(t) sunt urmtoarele:


d
d
p1 (t )
H ( x, u, p, t ) p 2 (t )
dt
dx1
d
d
p 2 (t )
H ( x, u, p, t ) p1 (t )
dt
dx2
din care se obine un sistem asemntor cu ecuaaiile strilor:
d p1 (t ) 0 p1 (t )

dt p 2 (t ) 0 p 2 (t )
Avnd n vedere c sistemul obinut este sismilar cu ecuaia strilor, dac condiiile
iniiale se noteaz cu p1 (0) 1 , p2 (0) 2 soluia se mai poate scrie ca:

p1 (t ) cos( t ) sin( t ) 1



p
(
t
)

sin(

t
)
cos(

t
)
2
2
deci comanda optimal se comut ntre u(t)=1 i u(t)=-1 pe intervalul ntre dou comutaii
ea rmnnd constant.

Fig.1 Traiectoriile libere i forate

33

n figura 1 se prezint traiectoriile libere respectiv cele forare (reglate) a unui oscilator
liniar cu w=4 i condiii iniiale [1 1].

Desfurarea lucrrii:
Se va implementa un program n MATLAB care simuleaz sistemul dinamic
prezentat n regim liber respectiv n regim forat la comanda calculat n funcie de stri.
Se vor reprezenta traiectoriile de stare libere i cele forate, respectiv evoluia n timp a
semnalului de comand obinut. Se testeaz programul la diferite stri iniiale. Similar se
va implementa i schema de simulare n SIMULINK a procesului de reglare.
Funciile MATLAB care pot fi utilizate n lucrare sunt: lsim, initial, ode45.

ntrebri:
1. Cum se modific evoluia sistemului dac comanda se calculeaz ca o reacie pozitiv a
strilor?
2. Ce se ntmpl dac strile iniiale a sistemului sunt zero?
3. Ce efect are pulsaia natural (w) asupra dinamicii sistemului?

34

Lucrarea nr. 11.

Lab.13-14

CONTROLUL OPTIMAL N TIMP


AL UNUI SISTEM INERIAL DE ORDIN II
Scopul lucrrii:
n lucrare se studiaz reglarea optimal a unor sisteme dinamice ineriale continue,
i se verific metodele de acordare optimale ale regulatoarelor de stare bazate pe
formalismul ecuaiilor Hamilton-Jacobi. Exemplul studiat n timp de reglare minim,
scoate la iveal caracteristicile sistemelor optimale, avnd optimul pe limita domeniului
admis.

Introducere teoretic:
Fie sistemul inerial de ordin II
x(t ) u(t ) ,

u (t ) 1 ,

x(0) x0 ,

x(tf ) 0

Se cere determinarea comenzii restricionate care conduce sistemul din orice stare iniial
(1,2) n starea final (0,0) n timp minim. Utiliznd modelul pe spaiul strilor avem:
x1 (t ) 0 1 x1 (t ) 0
x (t ) 0 0 x (t ) 1 u(t )
2
2

Dac soluia acestei probleme exist ea se poate obine n urma minimizrii unui criteriu
de calitate J(u) specific sistemelor de comand n timp minim.
tf

J (u ) 1 d
0

Hamiltonianul problemei este:


H ( x(t ), u(t ), p(t ), t ) 1 p1 (t ) x2 (t ) p2 (t ) u(t )
Se poate observa c determinarea comenzii u*(t) din relaia H/u=0 va furniza o soluie
trivial, neacceptabil n acest caz p2(t)=0. Drept urmare cutm comanda u*(t) care
asigur minimul Hamiltonianului. Dac x2(t), p1(t) i p2(t) sunt date, i dac p2 (t ) 0 ,
atunci valoarea minim a lui H n raport cu comanda u U u / u 1are loc pentru
relaia:

u (t ) sign p2 (t )

Ecuaiile canonice ataate problemei sunt:


H
x1 (t ) x2 (t )
x1 (0) 1
p1

H
x2 (t ) u (t )
p 2

H
p1 (t ) 0
p1 (tf ) 0
x1
H
p 2 (t ) p1 (t ) p2 (tf ) 0
x2

x2 (0) 2

35

Pentru integrarea ecuaiilor canonice s notm valorile necunoscute p1(0) i p2(0) cu 1


respectiv cu 2 cu care rezult:
p1 (t ) 1

p2 (t ) 2 1 t
Pe de alt parte comanda u*(t) este constant pe poriuni cu valorile {1} i {-1} n funcie
de semnul lui p2(t), deci traiectoria corespunztoare este:
x2 (t ) 2 u t

x1 (t ) 1 2 t u

t2
2

Eliminnd timpul t din aceast relaie se obine:


x2 (t ) 2 u x2 (t ) 2
x1 (t ) 1 2

2
u
u

Aceast ecuaie reprezint o familie de parabole n planul fazelor reprezentat n figura 1.


Dac se fixeaz condiiile iniiale va exista o singur ramur a familiilor de parabole care
trece prin acest punct i are o ramur descendent spre punctul (0,0).
2

Figura 1. Traiectoria strilor n planul fazelor.

Figura 2 Exemplu pentru traiectoria optimal

36

Punctul de comutaie a comenzii u*(t) se poate determina ca fiind puncul de intersecie a


parabolei iniiale cu cea des-cendent, care trece prin punctul de origine (0,0). Un
exemplu al traectoriei optimale s-a reprezentat n figura 2.
Relaia se poate aduce sub o form mai simpl:

22

x22 (t )
2 u 2 u*
unde pentru situaiile limit u * 1 se obine ecuaia curbei de comutare:
1
1
x1 (t ) x22 (t ) sign( x2 (t )) x1 (t ) x2 (t ) x2 (t ) 0
2
2
Pentru implementarea numeric a acestui algoritm de comand este necesar estimarea
momentului de comutaie, precum i a comenzii, exclusiv din valorile strilor msurabile
sau estimabile x1 i x2. n urma unor transformri simple se poate arta c valoarea
comenzii se obine din sistemul:
x2 (t )

1
,
dac
:
x
(
t
)

x
(
t
)

0
1
2

x (t )

u (t ) 1, dac : x1 (t ) x2 (t ) 2 0
2

x2 (t )

sign x1 (t ) , dac : x1 (t ) x2 (t ) 2 0

x (t )
unde dreapta x1 (t ) x2 (t ) 2 0 , definit n planul fazelor, reprezint linia de
2
comutaie. Adic comanda optimal este:

x 1
x 1

sign x1 t x2 t 2 , dac : x1 t x2 t 2 0

2
2

u t
1
x
signx t ,
dac : x1 t x2 t 2 0
1

2
Sistemul de control poate fi reprezentat cu o schem de principiu reprezentat n figura
urmtoare.
x1 (t ) 1

Figura 3 Implementarea practic a reglrii cu timp minim

37

Desfurarea lucrrii:
Se va implementa un program n MATLAB care simuleaz sistemul dinamic
prezentat n regim liber respectiv n regim forat la comanda calculat n funcie de stri.
Se vor reprezenta traiectoriile de stare libere i cele forate, respectiv evoluia n timp a
semnalului de comand obinut. Se testeaz programul la diferite stri iniiale. Similar se
va implementa i schema de simulare n SIMULINK a procesului de reglare.
Funciile MATLAB care pot fi utilizate n lucrare sunt: lsim, initial, ode45.

ntrebri:
1. Cum se modific evoluia strilor dac sistemul funcioneaz in regim liber?
2. Care ar fi condiia de oprire in simularea sistemului forat?
3. Cum se modific traiectoriile de faz n regim forat la diferite stri iniiale?

38

Lucrarea nr. 12.

Lab.15

NAVIGAIA OPTIMAL
SPRE O INSUL CIRCULAR CONVEX
Scopul lucrrii:
Lucrarea propune studiul reglrii optimale n timp minim cnd condiiile iniiale i
finale sunt nefixate ci restricionate n spaiul strilor. Se propune implementarea unui
algoritm de reglare pe baza rezultatelor analitice teoriei legate de condiiile de
transversalitate.

Introducere teoretic:
Dac strile initiale respectiv cele finale nu sunt fixate,ci numai restrictionate n
spatiul n dimensional de funcia vectorial:
h( x ) 0
sau
hi ( x ) 0
i 1, m
atunci vectorul costare p(t) n momentul initial t0 , respectiv n cel final tf va fi
perpendicular pe suprafata tangent la hipersuprafata definit de relatia de mai sus.
Aceast proprietate este cunoscut sub denumirea de condiie de transversalitate. Pentru
formularea matematic a acestei proprietti s considerm vectorii si definii
0

pentru momentele t0 respectiv tf .Condiiile de transversalitate n acest caz se scriu ca :


h
x(t0 ), 0 h x(t0 )T 0
p(t0 ), 0 p(t0 )T 0 0
x
x

h
h

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

p(t f ), f p(t f )T f 0

Pentru exemplificarea aplicrii acestei teorii se consider urmtoarea problem:


Fie o nav fluvial propulsat cu o vitez relativ w, constant fa de apa care
curge cu o vitez constant v0 . Se cere determinarea direciei de navigaie care asigur
atingerea unei insule circulare convexe C(r,(a,b)), reprezentate n figura , n timp minim.

Pentru rezolvarea problemei se scriu ecuaiile de micare corespunztoare :

39

x1 (t ) v0 w cos v0 u1 (t )
x2 (t ) w sin u2 (t )
Restricia comenzii se poate exprima prin relaia:
2
2
u1 (t ) u2 (t ) w2 cos 2 w2 sin 2 w2
Hamiltonianul problemei este:
H ( x, u, p, t ) 1 p1 (t )v0 p1 (t )u1 (t ) p2 (t )u2 (t )
Cu care ecuaiile canonice sunt:
H
p1 (t ) 0 p1 (t ) p1 (0)
x1

H
p 2 (t ) 0 p2 (t ) p2 (0)
x2
Ultimii doi termeni din expresia Hamiltonianului reprezint produsul scalar dintre vectorii
u1 (t ) p1 (t )
u (t ) i p (t ) , restul termenilor fiind independeni de vectorul de comand. Deci
2 2
valoarea minim a Hamiltonianului se obine n cazul n care vectorii susmenionai sunt
coliniari avnd direcie opus. n aceste ipoteze componentele vectorului de comand
sunt:
u1 (t ) p1 (t ) p1 (0)

u2 (t ) p2 (t ) p2 (0)
De unde rezult ca unghiul relativ de navigaie are o valoare constant.
w sin u2 (t ) p2 (0)
tg ( )

w cos u1 (t ) p1 (0)
Valoarea acestui unghi se poate obine din condiiile de transversalitate. Dac resupunem
cunoscut ecuaia parametrizat a cercului cu care s-a definit insula int n forma:
2
2
h( x1 (t ), x2 (t )) x1 (t ) a x2 (t ) b r 2 0
vectorul gradient h/x=[h/x, h/x]T avnd o direcie coliniar cu raza cercului este
perpendicular pe vectorul v=[v1, v2]T, care definete dreapta tangent la cerc. Totodat
vectorul costare p(t)=[p1(t), p2(t)]T este i ea perpendicular pe vectorul v, deci se obine
sistemul:
h
x v1
h
h
1 , 0
v1
v2 0
x1
x2
h v2
x2

p1 (t ) v1
p (t ), v 0 p1 (t ) v1 p2 (t ) v2 0
2 2
De unde se obine:

40

h
p 2 (0)
x 2
tg ( )

p1 (0) h
x1
Deci n concluzie viteza relativ w corespunztoare unghiului trebuie s fie
perpendicular pe insula cicular.

Desfurarea lucrrii:
Se va implementa un program n MATLAB care simuleaz sistemul dinamic
prezentat n regim liber respectiv n regim forat la comanda calculat n funcie de stri.
Se vor reprezenta traiectoriile de stare libere i cele forate, respectiv evoluia n timp a
semnalului de comand obinut. Se testeaz programul la diferite stri iniiale. Similar se
va implementa i schema de simulare n SIMULINK a procesului de reglare.
Funciile MATLAB care pot fi utilizate n lucrare sunt: lsim, initial, ode45.

ntrebri:
1. Cnd pot fi aplicate condiiile de transversalitate?
2. n problema prezentat de ce am aplicat aceste condiii de transversalitate?
3. Cum se aleg condiiile de oprire la problema prezentat?
4. Cum se modific problem dac insula nu este circular?

41

Lucrarea nr. 13.

Lab.16
REGULATOR OPTIMAL DE STARE

Scopul lucrrii:
Lucrarea propune studiul regulatoarelor optimale dup stare liniar ptratice prin
prezentarea unor exemple de proiectare a regulatoarelor cu coeficieni constani n timp.

Introducere teoretic:
Reglarea optimal dup stare, bazat pe minimizarea criteriului ptratic cu timpul
final infifnit permite obinerea unor structuri de reglare uor implementabile n forma
unor reacii proporionale dup strile procesului. Astfel pe baza modelului identificat, se
poate determina aprioric vectorul de amplificare a reaciei. Reglarea n timp real a
procesului se reduce astfel la executarea unor operaii ciclice simple, utiliznd ca
parametru vectorul amplificare.
Soluia problemei de reglare optimal dup stare:
Fie un sistem liniar:
x A(t ) x(t ) B(t ) u(t )
i funcionala de cost,
tf

J (u) 21 x (tf ), Fx(tf ) 21 x( ), Q( )e( ) u( ), R( )u( ) d


t0

unde comanda u(t) este nerestricionat, timpul final tf este dat, R(t) este pozitiv definit i
F respectiv Q(t) sunt pozitiv semidefinite.
Atunci exist o comand optimal unic u(t), dat de relaia:
u(t ) R 1 (t ) BT (t ) P(t ) x(t ) K (t ) x(t )
unde matricea real simetric i pozitiv definit P(t) este soluia unei ecuaii difereniale
matriciale de tip Riccati,
P (t ) P(t ) A(t ) AT (t ) P(t ) P(t ) B(t ) R 1 (t ) B T (t ) P(t ) C T ( (t )Q(t )C(t ) 0
cu condiiile la limit P(tf ) F
Traiectoria optimal se obine ca soluia ecuaiei difereniale liniare
x(t ) A(t ) B(t ) R 1 (t ) B T (t ) P(t ) x(t )

pornind de la condiii iniiale x(t0)=x0 cunoscute. Valoarea minim a criteriului J(u) se


obine din relaia:
J * (u) 21 x(t ), P(t ) x(t )
definit pentru toate traiectoriile x(t), t[t0,tf].

42

Dac presupunem c matricile A(t ), B(t ), R(t ) si Q(t ) sunt constante i t f deci
F 0 atunci ecuaia matricial Riccati se transform n ecuaia algebric Riccati (ARE Algebric Riccati Eqations):
P A AT P P B R 1 BT P Q 0

n prezenta lucrare se va studia reglarea poziiei longitudinale a unei aeronave care se


deplaseaz cu o vitez de croazier constant. Dinamica aeronavei n aceste condiii se
poate aproxima ca:
d
(t ) q(t )
dt
d
q (t ) 2 ( S )
dt
d
1
(t ) (t ) q(t )
dt

unde:
reprezint unghiul format ntre axa avionului i planul orizontal
q reprezint variaia unghiului (viteza unghiular)
reprezint unghiul format ntre axa avionului i vectorul vitez croazier
reprezint unghiul de comand a avionului (unghiul format ntre planul orizontal i
aripa de comand)
, , S sunt parametrii procesului i au valori constante ( 0.25, 2.5, S 1.6 )
Semnificaiile i notaiile sunt prezentate n figura urmtoare:

Fig.1.
Ecuaiile de micare sub form matricial

0 0
0 1

2
d
2

q 0 0 q
dt
1
0 1 0

43

Se cere proiectarea unui regulator de stare constant, care s menin vectorul vitez ct
mai apropiat de direcia orizontal cu un efort de control minim. deci se cere minimizarea
criteriului de forma:

J (u ) (Q1 2 R 2 ) dt
0

Criteriul transformat n form cunoscut este:

1 0 1


J (u ) q 0 0 0 Q1 q R 2 dt
0


1 0 1

Astfel prin identificarea termenilor se pot determina matricile de sistem A,B respectiv
cele de ponderare R,Q. Sistemul este invariant i t f deci matricea Riccati este
T

soluia ecuaiei algebrice. Prin intermediul matricei Riccati se poate calcula comanda
optimal dup stare conform relaiilor prezentate la nceputul lucrrii.

Desfurarea lucrrii:
Se va implementa un program n MATLAB care simuleaz sistemul dinamic
prezentat n regim liber respectiv n regim forat la comanda calculat n funcie de stri.
Se va testa controlabilitatea sistemului i se studiaz stabilitatea sistemului fr regulator
prin determinarea valorilor proprii. Se va determina comanda optimal respectiv
Q
amplificarea optimal pentru diferite valori a fraciei 1 . Se verific stabilitatea
R
sistemului forat (cu regulator) prin intermediul valorilor proprii al sistemului nchis. Se
vor reprezenta traiectoriile de stare libere i cele forate, respectiv evoluia n timp a
semnalului de comand obinut. Se testeaz programul la diferite stri iniiale. Similar se
va implementa i schema de simulare n SIMULINK a procesului de reglare.
Totodat se consider o perturbaie de 10 grade a unghiurilor i , se va simula
traiectoria prin care eroarea este anulat. S se verifice prin simulare domeniul de
stabilitate pentru parametrii sistemului (robusteea).
Funciile MATLAB care pot fi utilizate n lucrare sunt: are, lqr, lsim, initial, ode45,eig,
etc.

ntrebri:
1. Ce efect au asupra regimului tranzitoriu matricile de ponderare R,Q?
2. Cum se poate calcula un regulator optimal de stare dac sistemul este variant n timp?
3. n cazul regulatoarelor de stare la ce valoare se regleaz strile sistemului?
4. Cum i ct trebuie s varieze parametrii procesului ca pentru amplificarea optimal
determinat sistemul s fie nc stabil ?

44

Lucrarea nr. 14.

Lab.17-18

METODE DE REZOLVARE A ECUAIEI RICCATII


Scopul lucrrii:
Lucrarea are ca obiectiv studiul metodelor de rezolvare a ecuaiei diferenial
matricial respectiv ecuaia algebric matricial Riccati. Totodat se propune compararea
acestori metode din punct de vedere al convergenei, timpului de calcul respectiv al
robusteei

Introducere teoretic:

Ecuaia diferenial matricial Riccati are forma general:


P (t ) P(t ) A(t ) AT (t ) P(t ) P(t ) B(t ) R 1 (t ) B T (t ) P(t ) Q(t ) 0 P(t f ) F

Pentru determinarea matricei P(t) se poate utiliza sau o soluie analitic, bazat pe soluia
unui sistem, avnd n.(n+1)/2 ecuaii difereniale independente (datorit proprietii de
simetrie), sau n cazul unor sisteme de ordin mai mare de 2 - datorit complexitii
calculelor- se apeleaz la diferite metode de integrare numeric invers n domeniul (tf,
to). Dei soluia ecuaiei difereniale nu este unic, va exista numai o singur soluie
pozitiv definit ca soluie valabil.
Utiliznd aproximarea derivatelor cu diferene finite, soluia se obine prin integrare
invers deci aproximrile matricei Riccati se obin din relaia:
P(t ) P(t t ) t P(t ) A(t ) A T (t ) P(t ) P(t ) B(t ) R(t ) 1 B T (t ) P(t ) Q(t )

P(tf ) F

Ecuaia algebric matricial Riccati are forma general:


P A AT P P B R 1 BT P Q 0

Ecuaia matricial Riccati degenerat este neliniar, motiv pentru care n majoritatea
cazurilor nu se obin soluii analitice. Se prezint n continuare cteva metode de
rezolvare numeric:
Integrarea invers n timp: Rezolvarea este posibil prin integrarea invers n timp
(P(tf)=0) a ecuaiei printr-o metod numeric pn la stabilizarea n timp a soluiilor
obinute.
Metoda Potter:
La aceast metod se construiete matricea hamiltonian de forma:
A B R 1 B T

H
T

45

~
Presupunnd c matricea H are vectorii proprii liniari independeni,i dac matricea P
este o soluie a ecuaiei algebrice Riccati atunci.
P V21 V111
unde: matricea vectorilor proprii V s-a partiionat n forma:
V
V
V 11 12
V21 V22
vectorul format din V11 i V21 reprezentnd vectorii proprii corespunztori valorilor
proprii stabile.
Metoda Schur
Algoritmul sumar al metodei este:
Se calculeaz descompunerea Schur a matricii H dat de :
A B R 1BT
S11 S12
UT

0 S
AT
Q

22

unde S ij nxn , iar U 2nx 2n este o matrice de transformare ortogonal astfel


determinat nct valorile proprii ale matricei S11 s fie stabile, respectiv valorile proprii
ale matricei S22 instabile. Partiionnd matricea U :
U11 U12
U
U ij nxn

U
U
22
21
Soluia ecuaiei ARE este:
~
P U 21 U111
~
innd cont c matricea P este simetric
~
~
P U11 U 21
U11T P U 21T
Metoda Newton
Este o metod iterativ bazat pe rezolvarea iterativ a unor ecuaii Ljapunov.
Algoritmul metodei este:
~
~
1. Se alege o valoare iniial P 0 astfel nct matricea A BR 1BT P 0 s fie stabil.
(k=0)
~
~
2. Dac matricea P 0 P k 1 verific ecuaia ARE cu o precizie impus, atunci ea este

soluia stabilizatoare si se termin algoritmul, n caz contrar se continu iteraia.


~
~
~
~
A T P k 1 P k 1 A P k 1 BR 1 B T P k 1 Q

~
~
3. Se rezolv ecuaia Lyapunov de unde se obine valoarea P 1 P k 1

A BR

T ~ k T

B P

~
~
~
~
~
P k 1 P k 1 A BR 1 B T P k Q P k BR 1 B T P k 0

i iteraia se continu de la pasul 2.

46

Desfurarea lucrrii:
n cadrul lucrrii de laborator se propune rezolvarea problemei de reglare optimal
dup stare cu diferite metode de rezolvare a matricei Riccati. S presupunem o micare
liniar n direcia Ox a unui sistem inerial avnd masa m asupra creia acioneaz o fora
Fx considerat ca mrime de intrare, respectiv o for de frecare considerat proporional
cu viteza de deplasare. Rezult urmtoarea descriere a sistemului:
d
x v x (t )
dt
d
1
1
v x x v x (t )
Fx (t )
dt
m
m

adic sub form matricial:

1 x 0 F
d x 0
1 x

v
0

v
1 m
x
dt x
m x

Se cere minimizarea criteriului ptratic J(u),


J (u)

x T (t ) Q x(t ) u T (t ) R u(t ) dt

unde matricile de ponderare sunt pozitiv definite i simetrice.


Se va implementa n MATLAB metodele prezentate i rezultatele obinute se vor
compara ntre ele. Funciile MATLAB care pot fi folosite la implementarea metodelor
prezentate sunt: are, lqr, eig, schur, rsf2csf, schord, norm, newton, etc.

ntrebri:
1. Care dintre metodele nsuite necesit cel mai mult timp de calcul ?
2. n ce condiii se poate aplica metoda de Newton la calcularea matricei Riccati?
3. Ce proprietate i dimensiune au matricile R i Q?
4. Dac sistemul este necontrolabil este posibil soluionarea ecuaiei Riccati?

47

Lucrarea nr. 15.

Lab.19

REGULATOARE LINIAR PTRATICE DE URMRIRE


Scopul lucrrii:
Lucrarea are ca obiectiv studiul regulatoarelor ptratice de urmrire n cazul
sistemelor invariante de timp la diferite traiectorii prescrise.

Introducere teoretic:
Problema de urmrire optimal n cazul sistemelor continue poate fi formulat n
felul urmtor. Fie un sistem liniar observabil
x (t ) A(t ) x(t ) B(t ) u (t )
y (t ) C (t ) x(t )
Fie z(t) ieirea dorit (valoarea dorit), e(t)=z(t)-y(t) eroarea de urmrire i funcionala de
cost:

J (u ) e(T ), Fe(T )
1
2

tf
1
2

e(t ), Q(t )e(t ) u (t ), R(t )u (t ) dt

t0

unde comanda u(t) este nerestricionat, timpul final tf este dat, R(t) este pozitiv definit i
F respectiv Q(t) sunt pozitiv semidefinite.
Atunci comanda optimal exist i ea este univoc i dat de relaia:
u(t ) R 1 (t ) B T (t ) P(t ) x(t ) g(t )
Matricea real simetric i pozitiv definit P(t) este soluia unei ecuaii difereniale
matriciale de tip Riccati,
P (t ) P(t ) A(t ) AT (t ) P(t ) P(t ) B(t ) R 1 (t ) B T (t ) P(t ) C T ( (t )Q(t )C(t ) 0

P(t f ) C T (t f ) F C (t f )

cu condiiile la limit:

Vectorul g(t) este soluia ecuaiei difereniale liniare


g (t ) AT (t ) P(t ) B(t ) R 1 (t ) B T (t ) g (t ) C T (t )Qz(t ) 0

g (t ) C (t f ) F z (t f )
T

cu condiiile la limit:

Traiectoria optimal se obine ca soluia ecuaiei difereniale liniare


x(t ) A(t ) B(t ) R 1 (t ) B T (t ) P(t ) x(t ) B(t ) R 1 (t ) B T (t ) g(t )

pornind de la condiii iniiale x(t0)=x0 cunoscute. Valoarea minim a criteriului J(u) se


obine din relaia:
J (u* ) 12 x(t ), P(t ) x(t ) g(t ), x(t ) (t )
unde:

(t ) 12 z (t ), Q(t ) z (t ) g (t ), B(t ) R 1 (t ) B T (t ) g (t )
(t f ) z (t f ), P(t f ) z (t f )

i este definit pentru toate traiectoriile x(t) dac t[t0,tf].

48

Dac presupunem c matricile A(t ), B(t ), R(t ) si Q(t ) sunt constante i t f deci
F 0 atunci ecuaia matricial Riccati se transform n ecuaia algebric Riccati (ARE Algebric Riccati Eqations) de forma:
P A AT P P B R 1 BT P C T Q C 0

iar ecuaia diferenial pentru vectorul g(t):

~ T 1
g (t ) g~(t ) A BR 1 B T P C T q ~
z (t )

Desfurarea lucrrii:
Pentru exeplificarea metodei de reglare optimal de urmrire se consider o
micare fr frecare pe o suprafa caracterizate de ecuaile:
Fx m a x
Fy m a y
Dac se consider c intrrile n sistem sunt forele Fx i Fy iar ieirile sunt cele doua
coordonate x, y s se proiecteze un regulator de urmrire cu urmtoarele traiectorii de
stare: punct, linie vertical, linie orizontal, linie oblic ,cerc, curbe tip spiral, triunghi,
dreptunghi etc.

Fig.1. Traiectoria prescris i ieirea obinut respectiv variaia comenzilor i


traiectoriilor de stare pe parcursul reglarii

49

Matricile de ponderare R i Q se aleg ca matrici pozitiv definite i simetrice avnd


dimensiunile adecvate (F=0). Se va testa proprietatea de observabilitate respectiv de
controlabilitate a sistemului. Se va simula sistemul fr regulator la diferite semnale de
intrare i se compar cu rspunsul sistemului cu regulator. Se testeaz efectul matricilor
de ponderare asupra regimului tranzitoriu. Se va implementa schema de reglare i in
SIMULINK.
Funciile din MATLAB, care ne ajut la rezolvarea problemei sunt cele care au fost
folosite la regulatoarele de stare: are,lqr, lsim,step etc.

ntrebri
1. Ce proprietate au matricile de ponderare R i Q?
2. Ce reprezint vectorul g(t) ?
3 Cum se calculeaz matricea P i vectorul g dac sistemul este invarint n timp?
4. Cum se modific ecuaia matricial la regulatoarele de urmrire fa de cea de la
regulatorul de stare?

50

Lucrarea nr. 16

Lab.20

OPTIMIZAREA DINAMIC A SISTEMELOR NELINIARE


Scopul lucrrii:
Obiectivul este de a studia o metod iterativ tip gradient, pentru determinarea
comenzii optimale a sistemelor dinamice neliniare. Totodat se arat importana alegerii
pasului n asigurarea convergenei metodei.

Introducere teoretic:

Majoritatea sistemelor reale ntlnite n practic prezint caracteristici neliniare.


Forma matematic general a unor astfel de sisteme este
d
x t f x t , u t , t
dt
y t h x t , u t , t
unde: x(t) reprezint vectorul strilor x n
y(t) reprezint vectorul de ieire al sistemului dinamic
u(t) reprezint vectorul de comand u m
Pentru sistemul definit se caut comanda u, care minimizeaz criteriul de calitate, cu
condiii de frontier date:

J u x tf

tf

to

L (x (t ), u(t ), t ) dt

unde strile x(t), respectiv mrimea de control u(t) nu sunt constrnse de nici o restricie,
timpul final tf este fixat, respectiv starea final x (tf) este liber. Pentru rezolvarea
problemei vom defini Hamiltonianul sistemului H(x,u,p,t), similar ca la sistemele
dinamice liniare:
H x(t ), u(t ), p(t ),t Lx(t ),u(t ),t pt , f x(t ), u(t ), t
sau explicitnd produsul scalar, notat cu < . , . > rezult:
T
H x (t ), u(t ), p(t ), t L x (t ), u(t ), p(t ), t p t f x (t ), u(t ), t

Condiiile de necesitate pentru optimalitate se obin prin rezolvarea sistemului de ecuaii


canonice:
H
d
x (t )
x ( t ), u ( t ), p ( t ), t
dt
p

H
d
p(t )
x ( t ), u ( t ), p ( t ), t
dt
x
H
x ( t ), u ( t ), p ( t ), t 0
u
Efectund calculele rezult:

51

d
x ( t ) f x ( t ), u( t ), t
dt
T
L

d
p(t )
x ( t ), u(t ), t
x ( t ), u( t ), t p t

dt
x

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

u
u

Condiiile pe frontier sunt:


x tf
x t 0 x 0 ;
p tf
x
Se presupune c se poate rezolva sistemul de ecuaii neliniare algebrice , care are
ca soluie u(t), o funcie neliniar depinznd de valorile vectorului de stare x(t) i vectorul
costare p(t) avnd forma:
u t a x t , p t , t

nlocuind aceast expresie n ecuaiile deduse rezult un sistem de 2.n ecuaii


liniare ordinare de ordin I, avnd ca variabil elementele vectorilor x(t) i p(t). Cunoscnd
condiiile pe frontier pentru timpul iniial t0 i cel final tf, teoretic se poate obine soluia
ca funcii de x(t) i p(t) pentru t t0, tf, i din aceasta se poate obine funcia de
comand optimal u(t). Am artat pentru sisteme liniare c aceasta soluie se obine prin
rezolvarea unui sistem de ecuaii difereniale de tip Riccati, care se integreaz numeric cu
condiii la limit date. n cazul sistemelor neliniare aceasta problem se poate rezolva
numai prin metode iterative. Fiecare metod se bazeaz pe obinerea unor traiectorii
optimale folosind o parte din sistemul de ecuaii de necesitate dup care se ajusteaz
aceast soluie pentru a aproxima i soluiile ecuaiilor neluate n considerare.

Optimizare staionar prin metoda de gradient


Considernd problema neliniar de optimizare dinamic, metoda iterativ de
gradient se poate formula baznd pe condiiile de necesitate ale optimalitii
d
H
x(t )
( x(t ), u(t ), p(t ), t ) f x(t ), u(t ), t
dt
p
T

d
H
L
p( t )
( x(t ), u(t ), p(t ), t )
( x(t ), u(t ), t ) p(t )
( x(t ), u(t ), t )
dt
x
x
x

H f
L

( x(t ), u(t ), t ) p(t )


( x(t ), u(t ), t ) 0
u u
u

cu condiiile la limita date de relaiile urmtoare:

xt 0 0

p(tf )

xtf
x

pornind de la o comand u<>(t) pentru t t0, tf, soluia ecuaiilor difereniale


furnizeaz soluiile x<>(t) si p<>(t) cu condiiile la limit:

52

ptf

x(t 0 ) xo

xtf
x

Dac traiectoria nominal a mrimii de control n iteraia satisface relaia:

H x

,u

,p

,t

t to, tf
u
atunci u<>, x<> i p<> sunt extremale.
Aproximnd funcionala de cost J prin dezvoltarea n serie conform demonstraiei
condiiilor de necesitate:

x tf

J ( u)
p tf
xtf K

T
T
T
d

H
H
d

x
t

f
(
x
,
u
,
t
)

u
dt

u
dt

to
x

dt

Dac condiiile de necesitate sunt satisfcute relaia. devine:


tf

H x ,u , p ,t
tf
u t dt
J (u ) to
u

Dac similar cu cele prezentate n metoda de optimizare parametric, variaia u se


aproximeaz n direcia gradientului Hamiltonianului ponderat cu valoarea pasului >0
rezult:
H
1

u t ut
ut
t to, tf
u
cu care criteriul J devine:

H x ,u , p ,t H x ,u , p , t
J

dt 0
to


valoare care asigur convergena traiectoriei comenzii n direcia minimizrii criteriului
pozitiv definit J(u).
Algoritmul formal al metodei este:
1. Se alege o traiectorie nominal pe intervalul t t0, tf data n valori discretizate a
comenzii u0(t)
2. Utiliznd comanda predefinit se integreaz sistemul dat obinnd traiectoria strilor
pentru intervalul to, tf.
3.Considernd ca valoare de pornire condiia.
x tf
p tf
x
se determin valorile eantionate ale vectorului costare p(t), integrnd condiiile de
necesitate invers n timp.
4. Dac condiia,
tf

53

H
H
tf H
to

dt
u
u
u

unde

este ndeplinit, unde eroarea se stabilete anterior se termin iteraia, obinnd


traiectoria optimal. Dac condiia nu este satisfcut se execut corecia:
H t
k
u t k 1 ut

u
n eantioanele de timp stabilite. Iteraia se continu de la pasul 2.

Desfurarea lucrrii
n cadrul lucrrii de laborator se va rezolva problema de optimizare neliniar a sistemului
neliniar:
d
x( t ) x 2 ( t ) u( t )
dt

x 0 1

Se cere determinarea comenzii, care minimizeaz criteriul J (u):


J u

0 q x
1

( ) u2 ( ) d

q 8

Se va implementa algoritmul de cutarea a minimului conform metodei prezentate i se


vor reprezenta grafic traiectoriile de stare respectiv variaia semnalul de comand n
procesul de simulare-reglare.

ntrebri
1. Ce efect are asupra algoritmului valoarea i ce reprezint?
2. Care ar fi condiia de oprire a algoritmului de cutare?

54

Lucrarea nr. 17

Lab.21

METODA PROGRAMRII DINAMICE DISCRETE


Scopul lucrrii
Lucrarea propune studiul unor probleme de optimizare discret neliniar care pot
fi rezolvate cu metoda programrii dinamice discrete (MPDD).

Introducere teoretic
Principiul optimalitii sau principiul lui Bellman ntr-o formulare specific
conducerii optimale a sistemelor dinamice este:
Fie un sistem dinamic discret descris de modelul:
x k 1 f x k , u k ,
k k0 , N 1
cu starea iniial x k0 x 0 secvena de comand uk*care minimizeaz criteriul de calitate:
J u x N

N 1

L x

k k0

,uk

se poate obine din relaia:


J xk min Lxk , u k J xk 1 min Lxk , u k J f ( xk , u k )
uk

uk

Aceast ecuaie recursiv are condiia final impus:


J x N x N
Pe baza rezultatelor de mai sus algoritmul care constituie n esen metoda
programrii dinamice discrete MPDD, se poate aplica dup cum urmeaz:
1.
Pentru k=N se efectueaz iniializare conform relaiei J * ( xN ) ,
2.
Pentru fiecare xk admis, se determin comanda u*k(xk) ca soluie a problemei de
optimizare:

u k ( x k ) u k U k / min Lx k , u k J f ( x k , u k )
uk

3.
Pentru fiecare xk admis se calculeaz valoarea optimal a criteriului de calitate
*
J (xk) i se formeaz secvena de comand optimal u*kU*k, de la eantionul k la cel final
N
conform relaiei:
U k u k , U k 1
4.
Se decrementeaz eantionul actual k i se efectueaz iteraia ncepnd de la pasul
2, pn la condiia de oprire k k0.

Dup cum se poate urmri i din algoritmul de mai sus, metoda programrii
dinamice discrete necesit parcurgerea de N-k0 ori a pailor 2...4, rezultnd ca metoda se
ncadreaz n cadrul metodelor de optimizare n mai muli pai. Calculele nu se pot
efectua analitic, necesitnd o evaluare numeric, selectarea i memorarea valorilor

55

optimale ale comenzii u*k(xk), i ale criteriului de calitate J*k(xk) n nodurile unei reele de
puncte alese n mod convenabil pe spaiul strilor.
Volumul calculelor i a memoriei aferente depinde exponenial de ordinul n al
sistemului supus reglrii, MPDD fiind recomandat pentru sisteme de ordin redus (n<5).
Pentru motivarea acestei proprieti vom observa c vectorul de stare n fiecare eantion
este reprezentat n n puncte. Pentru un numr de N secvene numrul total de puncte
posibile este Nn.

Desfurarea lucrrii
n cadrul lucrrii de laborator se propune rezolvarea urmtoarelor probleme cu metoda
programrii dinamice discrete:
Problema 1
Un student are la dispoziie patru ore pentru a se pregti la patru examene (E1..E4).
Notele obinute la fiecare disciplin dup numrul de ore studiate din fiecare disciplin
sunt reprezentate n tabel:
Ore studiate
0
1
2
3
4

E1
2.00
4.50
6.50
7.50
8.50

E2
4.00
4.50
5.70
6.10
6.90

E3
4.00
5.20
6.20
7.10
7.80

E4
8.00
9.10
9.50
9.70
9.80

Utiliznd MPDD s se determine alocarea de timp optim pentru a obine medie maxim.
Problema 2
La rezolvarea unor probleme matematice este necesar nmulirea unui ir de matrice: M1,
M2,,, Mn S se determine ordinea operaiilor de nmulire astfel nct numrul
operaiilor elementare nmulire-adunare s fie minim.

ntrebri
1. Cum se poate aplica MPDD la determinarea comenzii optimale a sistemlor discrete?
2. Care sunt avantajele respectiv dezavantajele metodei?
3 Cutai exemple de probleme care pot fi rezolvate de MPDD?

56

Lucrarea nr. 18

Lab.22

REGULATOR DISCRET OPTIMAL DE STARE


Scopul lucrrii:
Lucrarea propune studiul regulatoarelor optimale discrete n procesul de control
al sistemelor liniare discrete invariante n timp. Se va testa influena matricilor de
ponderare asupra dinamica procesului de control.

Introducere teoretic
Fie sistemul dinamic liniar discret descris de modelul :
x k 1 k x k k u k
Se caut comanda care minimizeaz criteriul :
N

J (u ) x N , F x N x k , Qk x u k , Rk u k
k 1

Similar cazului sistemelor continue valoarea minim a criteriului din momentul k se caut
n forma cuadratic :
J k * ( x) x k T Pk x k
Pe baza teoriei lui Bellman se ajunge la expresia comenzii optimale avn forma

u k Rk k Pk 1k

k Pk 1 k x k

unde matricea Pk 1 este soluia ecuaiei matricial discret avnd forma:

Pk k T Pk 1 k Qk k T Pk 1k Rk k T Pk 1k

k T Pk 1 k

PN F
n cazul sistemelor invariante (Pk+1=Pk) ecuaia se transform n :
~
~
~
~ 1 ~
P T P Q T P R T P T P

Desfurarea lucrrii
Se consider un proces sismplu n industria hrtiei, unde se cere reglarea nivelului
de amestec h dac intrrile n proces sunt valoarea de comand a ventilului de diluare u1
i comanda pompei cu vitez variabil. Schema bloc a modelului liniarizat este:

57

Fig.1. Schema bloc a procesului studiat


Elementul de execuie esenial l reprezint pompa cu vitez variabil, care regleaz
volumul total de alimentare al instalaiei.
Constantele din proces sunt : Tp=1s ,Tv=0.5s ,Th=2s si amplificarea K=10. Regulatorul
liniar ptratic va asigura meninerea valorii prescrise de : xpr=[ 4 0.6 1]T . Se va calcula
modelul intrare-stare-ieire al sistemului, se va discretiza cu un pas de discretizare h=0.2
i se vor alege diferite matrici de ponderare R i Q de dimensiuni corespunztoare i se va
calcula matricea Riccati rezol vnd ecaia algebric Riccati discret.
In figura 1. se prezint variaia strilor reglate respectiv variaia comenzii discrete n
procesul simulrii discrete a sistemului n cauz.

Fig.2 Strile discrete reglate i comenzile discrete


Funciile MATLAB care ne ajut la rezolvarea problemei sunt: tf2ss, c2d, c2dm, dare,
dlqr, dlsim, dinitial, dstep, etc.

ntrebri
1. Cum se regleaz strile unui sistem dinamic discret n prezena unui regulator de stare?
2. Cum influeneaz dinamica procesului alegerea matricilor de ponderare?
3. Ce form are valoarea minim a criteriului discret J?
4. Cum se modific valoarea matricei Riccati cun orizont N=3 ?

58

Lucrarea nr. 19

Lab.23

METODE DE REZOLVAREA ECUAIEI MATRICIAL


RICCATI DISCRET
Scopul lucrrii:
n lucrarea de fa se propune studiul unor metode iterative i neiterative pentru
rezolvarea ecuaiei matriciale Riccati discret. Se vor compara rezultatele i eficientele
metodelor i se vor pune n eviden avantajele respectiv dezavantajele acestora.

Introducere teoretic:
Comparativ cu cazul regulatoarelor continue i la regulatoare discrete se deosebesc
metodele de rezolvare aplicate la sistemele invarinte respectiv variaante in timp.
Sistemul discret este variant sau N (are o valoare finit)
Ecuaia matricial discret n caz general are forma:
T

Pk k Pk 1 k Qk k Pk 1k Rk k Pk 1k

k Pk 1 k

PN F
n cazul sistemelor variante n timp metoda de rezolvarea ecaiei este o metod iterativ.
Se pornete de la valoarea final a matricei Riccati i n funcie de orizontul problemei se
calculeaz napoi matricile Riccati la diferite eantioane de timp.
Sistemul discret este invariant i N
~
~
~
~ 1 ~
P T P Q T P R T P T P

Dac sistemul este invariant n timp i orizontul este infinit atunci se poate rezolva
problema tot printr-o metod numeric iterativ unde valoarea matricei riccati n punctul
final este 0. Precizia acestei metode depinde de numrul de pai selectai pentru
stabilizarea soluiei. Datorit acestui fapt se poate aplica i n cazul discret metoda Potter
de rezolvare, care are urmtorul algoritm:
1. Se construiete matricea Hamiltonian H a sistemului discret:
R 1 T T 1 Q
R 1 T T
H
1
1

T Q
T

2. Se calculez valorile proprii respectiv vectorii corespunztori pentru matricea H

59

3. Se partiioneaz matricea vectorilor proprii astfel nct matricea V1 reprezint vectorii


proprii corespunztori valorilor proprii stabile (Re () < 1), din matricea V ai vectorilor
proprii:
V12
V
V V1 V2 11

V21 V22
4. Determinarea soluiei stabilizate ale ecuaiei Riccati discret se poate face dup relaia:
1

P V21 V11

Desfurarea lucrrii
n cadrul lucrrii de laborator se vor implementa metodele de rezolvare a ecuaiei
discret Riccati (iterativ i neiterativ). Pentru studiul metodelor prezentate se poate
folosi problema din lucrarea precedent. Rezultatele obinute la matricea Riccati se vor
compara i prin trasarea graficelor obinute la traiectoriile de stare n urma reglrii
discrete.
Funciile MATLAB care ne ajut la rezolvarea problemei sunt: c2d, c2dm, dare, dlqr,
dlsim, dinitial, dstep, eig, abs, etc.

ntrebri:
1. Ce efect are asupra rezultatelor alegerea orizontului N?
2. Care sunt dezavantajele metodelor iterative?
3. n ce condiii este posibil aplicarea metodei Potter ?
4. Prin ce difer algoritmul Potter n varianta discret fa de varianta continu?

60

Lucrarea nr. 20

Lab.24

REGULATOR DISCRET OPTIMAL DE URMRIRE


Scopul lucrrii:
Obiectivul lucrrii este implementarea algoritmului de urmrire discret optimal
prin rezolvarea ecuaiei matriciale Riccati discret la diferite valori ale orizontului. Se va
studia eficiena reglrii la diferite: traiectorii prescrie respectiv matrici de ponderare
(R,Q).

Introducere teoretic:
Fie un sistem discret liniar descris de urmtorul sistem de ecuaii:
x k 1 k x k k u k

yk H k x k
S presupunem o traiectorie impus zk, dat n eantioane de timp tk. Se cere
determinarea acelei comenzi care minimizeaz un criteriu ptratic de forma:
N 1

J u min eTN F .eN ekT Qk ek uTk Rk u k


k 0

unde:
reprezint eroarea de urmrire a traiectoriei prescrise zk,
ek zk yk
u k u k up k reprezint eroarea comenzii fa de cea necesar meninerii n
starea staionar prescris de zk. Pe baza teoriei Bellman se obine secvena de comand
optimal de forma:
1
1

u k Rk kT Pk 1 k Rk up k kT g k 1 kT Pk 1 k xk
2

u k K k x k f k

unde matricea Pk+1 respectiv vectorul gk+1 se obin cu ajutorul urmtoarelor relaii de
recuren.

Pk H kT Qk H k Tk Pk 1 k Rk kT Pk 1 k

K k Rk kT Pk 1 k

f k Rk kT Pk 1k

kT Pk 1k Tk Pk 1k

kT Pk 1 k

Rk upk kT g k 1
2

gk T 2zkT QkH k 2ukT Rk Kk gkT1.k k Kk


cu condiiile la limit:
g TN 2z TN FH N

PN H NT FN H N

61

n cazul unui orizont suficient de mare la sisteme dinamice invariante relaiile de


recuren deduse pentru matricea Riccati discret Pk respectiv pentru vectorul gk tind ctre
valori constante.

Desfurarea lucrrii:
Pentru exeplificarea metodei de reglare optimal de urmrire se consider o
micare pe o suprafa caracterizat de ecuaiile:
Fx Ff m ax
Fy Ff m a y
Dac se consider c intrrile n sistem sunt forele Fx i Fy iar ieirile sunt cele doua
coordonate x, y s se proiecteze un regulator de urmrire cu urmtoarele traiectorii de
stare (figura 1):

Fig.1 .Traiectorii prescrise


Se discretizeaz sistemul caracterizat de ecuaiile de stare se aleg matricile de
ponderare (constante respectiv variabile) i se implementeaz algoritmul de urmrire
discret cu un orizont finit (sau infinit). Se va reprezenta grafic variaia comenzii
respectiv variaia ieirii forate comparativ cu traiectoriile de stare. S se studieze
varianta reglrii cu matrici de ponderare variabile pe lungimea orizontului.
n figura 2. se prezint rezultatul simulrii procesului de urmrire discret, cnd
traiectoria prescris este un dreptunghi, iar orizontul reglrii este fixat la valoarea N=10.

62

Funciile MATLAB care ne ajut la rezolvarea problemei sunt: tf2ss, c2d, c2dm, dare,
dlqr, dlsim, dinitial, dstep, etc. S se implementeze schema de reglare i n SIMULINK.

Fig. 2. Iesirea sistemului i traiectoria prescris

ntrebri:
1. Cum se modific semnalul de ieire dac orizontul reglrii N este mare?
2. Care este dezavantajul reglrii cu un orizont infinit?
3. Cum se modific valoarea criteriului de calitate discret pe parcursul reglrii?
4. Cum se aleg i ce dimensiuni au matricile de ponderare R i Q n cazul reglrii de
urmrire discret?

63

BIBLIOGRAFIE
1. L. David Tehnici de optimizare, Curs, Universitatea "Petru Maior" Tg. Mure 1998
2. V. Ionescu, A.Varga, Teoria sistemelor: Sintez robust. Metode numerice de calcul,
Editura ALL, Bucureti,1994
3. D. Sarchiz, Optimizri n Electroenergetic, Editura Multimedia System, Tg. Mure
1993
4. D. Sarchiz, L. David, Cercetri operaionale n electroenergetic, ndrumar de lucrri,
Universitatea "Petru Maior" Tg. Mure, 1998
5. L. David, L. Marton, Teoria sistemelor i optimizri, ndrumtor de laborator,
Universitatea Tehnic Tg. Mure, 1994
6. D. Teodorescu, Sisteme automate deterministe, Editura Tehnic, Bucureti 1984
7. S. Clin, M. Tertico, I. Dumitrache, C. Popeea, D. Popescu, Optimizri n
automatizri industriale, Editura Tehnic, Bucureti, 1988
8. M.Athans, P.L.Falb Optimal Control: An Introduction to the Theory and its
Applications, McGraw Hill New-York,1966.
9. K.J.Astrom,B. Wittenmark, Computer Controlled Systems, Theory and Design,
Prentice-Hall, 1990.
10. B.D.O.Anderson, Optimal Control, Linear Quadratic Methods, Prentice-Hall, 1989.
11. S.Clin,M.Tetico,I.Dumitrache,C.Popeea,D.Popescu, Optimizri n Automatizri
Industriale, Editura Tehnic, Bucureti,1979.
12. T.Coloi, Tehnici de Optimizare, Curs vol. II-III, Institutul Politehnic ClujNapoca,1989.
13. T.L.Dragomir, Tehnici de Optimizare, Institutul Politehnic "Traian Vuia" Timioara
1987.
14. David L, Tehnici de Optimizare n Automatizri, Universitatea " Petru Maior",
Tg.Mures, 2000
15. Ksa A, Optimumszmtsi modellek, Mszaki knyvkiad, 1979
16. H.Kwakernaak,R.Sivan, Linear Optimal Control Systems, John Wiley & Sons, Inc,
Wiley-Intersience, New-York 1972.
17. Lantos B, Irnytsi rendszerek elmlete s tervezse, Akadmiai kiad, 2001
18. E. Polak, Computational methods in optimisation, Academic Press, 1971
19. M.G.Singh, A.Titli Systems Decomposition, Optimisation and Control Pergamon
Press 1978.
20. Gyorgy K., David L. Tehnici de optimizare, Lucrari de laborator, Univ. Petru
Maior, Tg. Mures, 2005

64

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