Documente Academic
Documente Profesional
Documente Cultură
TRGU-MURE
TEHNICI DE OPTIMIZARE
(I I II)
LUCRRI DE LABORATOR
2008
SAPIENTIA EMTE
Marosvsrhely
2008
1
CUPRINS
Lucrarea nr.1
Lucrarea nr.2
Lucrarea nr.3
10
Lucrarea nr.4
14
Lucrarea nr.5
17
Lucrarea nr.6
22
Lucrarea nr.7
24
Lucrarea nr.8
26
Lucrarea nr.9
29
Lucrarea nr.10
32
Lucrarea nr.11
35
Lucrarea nr.12
39
Lucrarea nr.13
42
Lucrarea nr.14
45
Lucrarea nr.15
48
Lucrarea nr.16
51
Lucrarea nr.17
55
Lucrarea nr.18
57
Lucrarea nr.19
59
Lucrarea nr.20
61
Bibliografie
65
Lucrarea nr. 1.
Lab.1
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.
x x1 x2 xn T , dac:
f ( x* )
f ( x* )
f ( x* )
0
0
0
x1
x2
xn
(condiie de necesitate )
x1xn
x1
definete ca: H
*
2
2 f ( x* )
f (x )
2 xn
xnx1
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:
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
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
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:
x0
options
VLB,VUB
xmin
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)
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
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
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}
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
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}
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
x2
x1
i
2 x N x0
extindere xext
f x j f x j 1
i
unde x0
12
4. Se determin:
x Ni x0 i
f x j J x j 1
i
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
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
xN .
i
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
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
14
3. Se efectueaz o iteraie:
k 1
S D( x k )
grad x f ( x k ) , grad x f ( x k )
x2
x1
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
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
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
grad x f x k
grad f x
k
17
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 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
18
4. Se alege punctul j
a j bj
2
5. Dac j , x
jH
jH
jH
jH
f x
2j
S grad f x f x
k
2 j 1 S grad x f x
se afl n intervalul
f k
x
S
S grad f x 3 a
k
S 2 2 a 2 S a1 df * ( S )
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 )
a 2 a 22 3 a1 a3
3 a3
19
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
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
matricea
Hess x k grad x f x k
grad x f x k
22
grad f x
Hess , x
i
e j grad x f x
grad f x 0 se
Hess , x grad f x
efectueaz iteraia : x i 1 x i
i 1
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 simetric pozitiv definit dac sunt valabile urmtoarele relaii:
T
pt
k j
0
M k
Hess M j
pt
k j
1
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
<k+1>
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
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
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
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
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
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
S ( ) 2 ( x) 1 2 ( x)dx
a
( x )
( x )
0
. 2
1 (x)
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
, .
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
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
30
1
0.8
0.6
0.4
0.2
0
20
10
20
10
-10
y
-10
-20
-20
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
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
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
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.
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
Lab.13-14
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
u (t ) sign p2 (t )
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
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
2
u
u
36
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
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
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
h
h
x(t f ), f
x(t f )T f
x
x
p(t f ), f p(t f )T f 0
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
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
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 )
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
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
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
Lab.17-18
Introducere teoretic:
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 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
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
~
~
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
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
1 x 0 F
d x 0
1 x
v
0
v
1 m
x
dt x
m x
x T (t ) Q x(t ) u T (t ) R u(t ) dt
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
Lab.19
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
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:
g (t ) C (t f ) F z (t f )
T
cu condiiile la limit:
(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 )
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
~ 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.
49
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
Introducere teoretic:
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
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
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
xt 0 0
p(tf )
xtf
x
52
ptf
x(t 0 ) xo
xtf
x
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
H x ,u , p ,t
tf
u t dt
J (u ) to
u
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
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
0 q x
1
( ) u2 ( ) d
q 8
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
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
uk
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
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
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
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
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
59
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
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
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
PN H NT FN H N
61
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):
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.
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