(i Şi ii) - primeranks.netprimeranks.net/yeti/university/iii%20ev/i%20felev/...%20ro.pdf ·...

65
UNIVERSITATEA SAPIENTIA TÂRGU-MUREŞ TEHNICI DE OPTIMIZARE (I ŞI II) LUCRĂRI DE LABORATOR Şef lucr. ing. György Katalin Prof. dr.ing. Dávid László 2008

Upload: hakhue

Post on 08-Feb-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

UNIVERSITATEA SAPIENTIA

TÂRGU-MUREŞ

TEHNICI DE OPTIMIZARE

(I ŞI II)

LUCRĂRI DE LABORATOR

Şef lucr. ing. György Katalin

Prof. dr.ing. Dávid László

2008

Page 2: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

1

SAPIENTIA EMTE

Marosvásárhely

OPTIMUM KERESŐ ALGORITMUSOK

OPTIMÁLIS VEZÉRLÉSEK

LABORGYAKORLATOK

György Katalin, adjunktus

Dr. Dávid László, egyetemi tanár

2008

Page 3: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

2

CUPRINS

Lucrarea nr.1 Metode de căutare a minimului fără restricţii în mediul "Matlab" ….. 3

Lucrarea nr.2 Metode de căutare a minimului cu restricţii în mediul "Matlab" …... 6

Lucrarea nr.3 Algoritmi de căutare directă a minimului ……………………………. 10

Lucrarea nr.4 Metode de gradienţi de ordin I ……………………………………… 14

Lucrarea nr.5 Metode de calcul al pasului optimal la căutarea minimului …………. 17

Lucrarea nr.6 Metode de gradienţi de ordin II………………………………………. 22

Lucrarea nr.7 Metode de gradienţi conjugaţi………………………………………... 24

Lucrarea nr.8 Metode numerice pentru rezolvarea problemelor cu restrictii………. 26

Lucrarea nr.9 Rezolvarea analitică a problemelor cu ajutorul ecuaţiilor Euler-

Lagrange (calcul variaţional)………………………………………..

29

Lucrarea nr.10 Controlul optimal în timp a unui oscilator armonic liniar …………… 32

Lucrarea nr.11 Controlul optimal în timp al unui sistem inerţial de ordin II…………. 35

Lucrarea nr.12 Navigaţia optimală spre o insulă circulară convexă………………….. 39

Lucrarea nr.13 Regulator optimal de stare……………………………………………. 42

Lucrarea nr.14 Metode de rezolvare a ecuaţiei Riccati ………………………………. 45

Lucrarea nr.15 Regulator optimal de urmărire……………………………………….. 48

Lucrarea nr.16 Optimizarea dinamică a sistemelor neliniare…………………………. 51

Lucrarea nr.17 Metoda programării dinamice discrete………………………………. 55

Lucrarea nr.18 Regulatoar optimal discret de stare …………………………………. 57

Lucrarea nr.19 Metode de rezolvare a ecuaţiei discretă Riccati……………………… 59

Lucrarea nr.20 Regulator optimal discret de urmărire……………………………….. 61

Bibliografie……………………………………………………………………………… 65

Page 4: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

3

Lucrarea nr. 1. Lab.1

METODE DE CĂUTARE A MINIMULUI FĂRĂ RESTRICŢII

ÎN MEDIUL "MATLAB"

Scopul lucrării:

Lucrarea are scop studiul funcţiilor de minimizare fără restricţii în mediul MATLAB,

rezolvarea unor probleme de optimizare liniare şi neliniare cu o singură variabilă

respectiv cu mai multe variabile.

Introducere teoretică:

Minimizarea funcţiilor de o singură variabilă:

Considerăm că avem o funcţie reală de o singură variabilă :f , care este continuă

şi derivabilă pe intervalul de definiţie. Condiţia de necesitate pentru minim este:

0)(

x

xf

rezolvând această ecuaţie se obţin punctele extreme ( 0x ) ale funcţiei. Un punct x* va fi

un punct minim pentru funcţia f(x), dacă : 0)(

0)(

2

*2*

x

xf

x

xf

Minimizarea funcţiilor de mai multe variabile:

Considerăm că avem o funcţie reală nf : , care este continuă şi derivabilă pe

intervalul de definiţie. Un punct nx * va fi minimul funcţionalei )(xf , unde

Tnxxxx 21 , dacă:

0)(

0)(

0)( *

2

*

1

*

nx

xf

x

xf

x

xf (condiţie de necesitate )

respectiv matricea hessiană în punctul *x este o matrice pozitiv definită (condiţie de

suficienţă). Matricea hessiană se construieşte cu derivatele parţiale de ordin doi, deci se

defineşte ca:

nn

n

x

xf

xx

xf

xx

xf

x

xf

H

2

*2

1

*2

1

*2

12

*2

)()(

)()(

Funcţii pentru minimizare fără restricţii în MATLAB

Mediul de programare MATLAB este dedicat pentru calculul numeric şi al

reprezentărilor grafice. Programul are anumite aplicaţii specifice (TOOLBOX), care

Page 5: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

4

conţin o colecţie de funcţii create pentru rezolvarea unor probleme speciale. Una dintre

acestea este denumită toolbox-ul OPTIM în care apar funcţiile speciale folosite în

optimizări neliniare respectiv liniare fără /cu restricţii. În prezenta lucrare se definesc atât

funcţiile existente în versiunea 5.x a programului cât şi funcţiile de minimizare, care apar

în versiunile mai noi ale programului:

Calculul minimului funcţiilor de o variabilă:

[xmin, options]=fmin('F',x1,x2,options) unde:

F - reprezintă numele fişierului, care conţine funcţia de minimizat )(xf

x1,x2 - reprezintă intervalul de căutare al punctului minim 2min1 xxx

xmin - punctul minim obţinut

[xmin, options]=fmins('F',x0,options) unde:

F - reprezintă numele fişierului care conţine funcţia de minimizat )(xf

x0 - reprezintă vectorul punctului de pornire

xmin - vectorul punctului minim obţinut

Se observă că amândouă funcţii au ca argument de intrare şi de ieşire variabila options,

care este un argument opţional. Această variabilă reprezintă opţiunile cu care algoritmul

de căutare va fi rezolvat şi este folosită şi de alte funcţii de minimizare. Structura de

opţiuni poate fi vizulizată prin rularea comenzii "help foptions". Dacă funcţiile de mai

sus sunt apelate fără acest argument atunci se lucrează cu valorile implicite a acestora. Se

poate observa că funcţiile amintite folosesc numai căteva dintre aceste opţiuni, cum ar fi:

options (1) - afişarea valorilor intermediare sau nu

options (2) - valoarea toleranţei

options (14) - numar maxim de iteraţii

Dacă structura options apare şi ca argument de ieşire, atunci această structură ne va

furniza nişte informaţii in plus despre algoritmul de căutare a minimului (ex. valoarea

funcţionalei în punctul minim obţinut, numărul de iteraţii care a fost efectuat pentru

atingerea punctului minim, etc.)

Funcţiile prezentate în versiunile MATLAB 6.x sunt înlocuite de funcţiile fminbnd

respectiv fminsearch. Apelarea funcţiilor este asemănătoare cu cele de mai inainte cu

deosebirea că aici modificarea respectiv afişarea elementelor structurii options se poate

face prin intermediul funcţiilor optimset respectiv optimget.

Exemplu de rezolvare al problemei }23min{ 22 yxyx in mediul Matlab:

Se va scrie funcţia obiectiv in fişierul 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 următoarele comenzi:

x0=[3;2]; %punctul de pornire

options(2)=1e-6; %toleranta dupa x

options(10)=200; % numar maxim de iteratii

Page 6: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

5

[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

Desfăşurarea lucrării:

Lucrarea se va desfăşura in două etape.

In prima etapă se incearcă minimizarea funcţiei având o singură variabilă: 2))(sin()( xxxf

Pentru a pune în evidenţă punctul minim găsit se va reprezenta graficul funcţiei )(xf şi

pe grafic se va evidenţia punctul obţinut respectiv limitele alese. Se afişează următoarele

valori: valoarea punctului minim, valoarea funcţiei în punctul minim respectiv numărul de

iteraţii efectuate în căutarea minimului.

In partea doua a lucrării se caută minimul funcţiei cu două variabile: 22

),( yxexyxf

Se va reprezenta grafic suprafaţa definită de ),( yxf şi se pune in evidenţă punctul de

pornire respectiv punctul minim găsit pe această suprafaţă.

În ambele cazuri se afişează următoarele valori: valoarea punctului minim, valoarea

funcţiei în punctul minim respectiv numărul de iteraţii efectuate în căutarea minimului.

Analog se propune rezolvarea următoarelor probleme:

}108min{

}8min{

22

22

xxyx

yxyxyx

Pentru rezolvarea problemelor se pot folosi în afara funcţiillor specificate din MATLAB

următoarele funcţii pentru reprezentări grafice: plot, subplot, mesh, meshgrid, contour,

etc.

Întrebări:

1. Cum se poate modifica valoarea de pornire la utilizarea funcţiilor fmins (fminserch)?

2. Ce reprezinte valorile x1 respectiv x2 la funcţia fmin (fminbnd)?

3. Cum se poate afla numărul de iteraţii efectuate la căutarea minimului?

4. Cum se poate modifica numărul maxim de iteraţii la o metodă de căutare a minimului ?

5. Cu funcţia fmins ce fel de minime se obţin : minime locale sau globale ?

Page 7: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

6

Lucrarea nr. 2. Lab.2

METODE DE CĂUTARE A MINIMULUI CU RESTRICŢII

ÎN MEDIUL "MATLAB"

Scopul lucrării:

Lucrarea propune studiul funcţiilor de minimizare cu restricţii liniare respectiv neliniare

de tip egalitate şi inegalitate în mediul MATLAB prin rezolvarea unor probleme

matematice concrete.

Introducere teoretică:

În cazul optimizării staţionare neliniare cu restricţii de tip inegalitate şi egalitate în

majoritatea cazurilor se încearcă reformularea problemei de minimizare cu scopul de a

obţine o problemă simplă de minimizare fără restricţii. Problemele de minimizare cu

restricţii în general sunt formulate astfel:

},...1,...1,0)(,0)(/)(min{ nji xpjmixhxgxf

unde:

)(xf - funcţia multivariabilă la care se caută minimul

)(xgi - funcţiile de restricţii de tip egalitate

)(xhi - funcţiile de restricţii de tip inegalitate

x -vectorul n dimensinal (vectorul variabilelor)

Se poate observa că problema prezentată astfel are m restricţii de tip egalitate

respectiv p restricţii de tip inegalitate. Dacă în enunţul problemei apar numai resticţii de

tip egalitate atunci problema se rezolvă cu metoda multiplicatorilor Lagrange, iar dacă

apar şi restricţii de tip inegalitate atunci la rezolvare aproblemei se recurge la metoda

Kuhn-Tucker. Se defineşte Lagrangianul problemei:

)(,)(,)(),,( xhxgxfxL

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 fără restricţii, pentru că în acest caz deja se caută minimul lagrangianului. În

cazul metodei Lagrange (având restricţii numai de tip egalitate) condiţiile de necesitate

pentru minim se obţin ca:

Page 8: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

7

00

L

x

L

iar în cazul restricţiilor de tip inegalitate se procedează la fel, dar în acest caz apar deja

condiţiile la limită.

Funcţii pentru minimizare cu restricţii în MATLAB

Pentru rezolvarea problemelor de minimizare cu restricţii de tip egalitate şi de tip

inegalitate în MATLAB se poate folosi funcţia constr:

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

F - reprezintă numele fişierului, care conţine funcţia de minimizat

)(xf respectiv restricţiile de tip egalitate şi de inegalitate )(xg . Funcţia

va avea două argumente de ieşire f şi g, unde f este un scalar

reprezentând funcţia de minimizat, iar g va fi un vector. Primele m linii

reprezintă restricţiile de tip egalitate, iar restul restricţiile de tip

inegalitate.

x0 - reprezintă valoarea de pornire a vectorului x

options - este un argument opţional de intrare şi reprezintă un vector cu diferite

optiuni

VLB,VUB - vectorul de delimitare inferioară respectiv superioară a soluţiilor

VUBxVLB

xmin - punctul minim obţinut

Se observă că şi constr are ca argument de intrare şi de ieşire variabila options, care este

un argument opţional. Această variabilă reprezintă opţiunile cu care algoritmul de căutare

a minimului va fi rezolvat. Structura de opţiuni poate fi vizulizată prin rularea comenzii

"help foptions". Dacă funcţiile de mai sus sunt apelate fără acest argument atunci se

lucrează cu valorile implicite ale acestora. Se remarcă faptul că funcţia constr foloseşte

următoarele opţiuni:

options (1) - afişarea sau neafişarea valorilor intermediare

options (2) - precizia impusă pentru estimarea vectorului x

options (3) - precizia impusă pentru estimarea funcţiei

options (8) - valoare optimă a funcţiei

options (10) - numărul total de iteraţii

options (13) - numărul restricţiilor de tip egalitate (m). Dacă acest număr este mai

mic decăt numărul funcţiilor de restricţii introduse în funcţia F,

atunci restul restricţiilor vor fi considerate ca fiind restricţii de tip

inegalitate, dacă este zero înseamnă că toate restricţiile introduse sunt

de tip inegalitate.

Page 9: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

8

options (14) - număr maxim de iteraţii

Dacă structura options apare şi ca argument de ieşire, atunci această structură ne va

furniza nişte informaţii in plus despre algoritmul de căutare a minimului (ex. valoarea

funcţionalei în punctul minim obţinut, numărul de iteraţii care a fost efectuat pentru

atingerea punctului minim, etc.)

Funcţia constr prezentată, în versiunile MATLAB 6.x, este înlocuită de funcţia fmincon,

care poate fi apelată în felul următor:

[xmin,options]=fmincon('F', x0, A,B, Aeq,Beq, LB,UB, NonLcon,options) unde:

F - reprezintă numele fişierului care conţine funcţia de minimizat )(xf

fără restricţii

x0 - reprezintă valoarea de pornire a vectorului x

A,B - reperezintă restricţiile liniare de tip inegalitate de forma BxA ,

unde A este o matrice la care numărul de linii reprezintă numărul

restricţiilor liniare de tip inegalitate şi numărul de coloană depinde de

dimensiunea vectorului x., iar B este un vector coloană cu aceaşi număr

de linii ca şi matricea A.

Aeq, Beq -reperezintă restricţiile liniare de tip egalitate de forma

BeqxAeq unde dimensiunea matricilor sunt specificate ca şi la

restricţiile liniare de tip inegalitate

VLB,VUB - vectorul de delimitare inferioară respectiv superioară a soluţiilor

VUBxVLB

NonLcon -reprezintă numele fişierului care conţine restricţiile neliniare. Funcţia

va returna doi vectori, prima reprezentând restricţiile neliniare de tip

egalitate, iar al doilea restricţiile neliniare de tip inegalitate.

options - este un argument opţional de intrare şi reprezintă un vector cu diferite

optiuni

xmin - punctul minim obţinut

Exemplu de rezolvare în mediul MATLAB cu funcţai constr al problemei:

}0,0,5.1/2min{ 2122

21121

22

21 xxxxxxxxxf :

Se va scrie funcţia obiectiv in fişierul 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 următoarele comenzi:

x0=[3;2]; %punctul de pornire

options(2)=1e-6; %toleranta dupa x

Page 10: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

9

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

Desfăşurarea lucrării:

În cadrul lucrării de laborator se încearcă rezolvarea diferitelor probleme de minimizare

cu restricţii de tip egalitate şi de tip inegalitate, cum ar fi:

}0,0,5.1/2min{ 2122

21121

22

21 xxxxxxxxxf

}0/min{ xexyyxf

}1,45.0,62,1,6/)4(20)5.3(10min{ 22 xyxyxyxyxyxf

Pentru verificarea rezultatelor se va reprezenta grafic suprafaţa funcţiei )(xf şi pe grafic

se vor evidenţia punctul obţinut respectiv punctul de pornire. Se afişează următoarele

valori: valoarea punctului minim, valoarea funcţiei în punctul minim respectiv numărul de

iteraţii efectuat în căutarea minimului şi se verifică dacă restricţiile specificate sunt sau nu

satisfăcute. Prin introducerea argumentelor VLB respectiv VUB se încearcă reducerea

restricţiilor de tip inegalitate respectiv prin intermediul variabilei options se încearcă

obţinerea valorii minime mai precise.

Pentru rezolvarea problemelor se pot folosi în afara funcţiillor specificate din MATLAB

următoarele funcţii pentru reprezentări grafice: plot, subplot, mesh. meshgrid, contour,

etc

Întrebări:

1. Ce reprezintă vectorul x0 la funcţia constr (fmincon)?

2. Cum şi unde se introduc restricţiile de tip egalitate şi inegalitate când se foloseşte

funcţia constr?

3. Cum se pot rezolva analitic problemele de optimizare cu restricţii?

4. Cum se poate mării precizia unui algoritm de căutare a minimului cu restricţii ?

5. Ce reprezinte argumentele VLB şi VUB la funcţia constr şi când are rost folosirea lor?

Page 11: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

10

Lucrarea nr. 3. Lab.3-4

ALGORITMI DE CĂUTARE DIRECTĂ A MINIMULUI

Scopul lucrării:

Lucrarea propune studiul algoritmilor de căutare directă a minimului la funcţii cu mai

multe variabile prin implementarea algoritmilor de căutare stocastică (Monte-Carlo

respectiv Boltzman) respectiv algoritmul metodei de căutare directă liniară accelerată în

pas şi în direcţie.

Introducere teoretică:

Metodele de căutare directă pentru determinarea minimului cer numai evaluări ale

criteriului (funcţia de minimizat) în anumite puncte din spaţiul variabilelor. Deci

avantajul acestora este că pot fi aplicate şi în cazul funcţiilor nediferenţiabile. Aceste

metode sunt mai puţin eficiente decât metodele de gradient, datorită unei convergenţe

slabe, dar datorită simplităţii 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 număr foarte mari de proceduri. În prezenta lucrare se

încearcă prezentarea numai a acelori metode care vor fi şi implementate.

Metoda tabelară unde evaluarea funcţiei criteriu este realizată în nodurile unei

"grile" aleatoare poartă denumirea metoda Monte-Carlo. Pentru aplicarea acestei metode

este necesară cunoaşterea apriorică a unui domeniu din spaţiul variabilelor, care include

minimul căutat. Punctele grilei sunt obţinute dintr-o distribuţie statistică uniformă. Aceste

metode aleatoare (stocastice) au avantajul că minimul găsit este în general un minim

global. Neajunsul se referă la redundanţa algoritmului ceea ce înseamnă că, datorită

faptului că punctele sunt generate aleator este posibil ca acelaşi punct să fie testat de mai

multe ori în cadrul aceluiaşi algoritmi de căutare, deci timpul de calcul poate să fie mare.

O metodă mai îmbunătăţită este metoda "termodinamică" denumită Boltzmann unde

algoritmul de căutare este:

1. Se alege un punct de pornire x(0) şi se calculează în acest punct valoarea funcţiei (i=0).

2. Se defineşte o variabilă T, suficient de mare ca probabilitatea 1))(( xfp (T

reprezintă o temperatură artificială)

3. Se corectează valoarea de pornire în mod probabilistic şi se calculează valoarea funcţiei

în acest punct (x(i+1)).

4. Dacă această modificare asigură o scădere a funcţiei obiectiv valorile modificate se

păstrează, dacă nu se determină probabilitatea de acceptare a noilor valori printr- o

statistică Boltzmann după cum urmează.

Page 12: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

11

Tk

xf

exfp

)(

))((

unde ))(( xfp este probabilitatea de modificare al funcţiei obiectiv( f ) şi k este o

constantă cu semnificaţii analogice ca a constantei Boltzmann

- dacă ))(( xfp se efectuează corecţia (x(i+1))

- dacă ))(( xfp se păstrează valoare de la momentul i (x(i))

unde este o valoare stocastică de distribuţie uniformă în intervalul [0,1]. Iteraţia

continuă de la pasul 3.

În figura 1 se prezintă metoda de căutare stocastică Monte-Carlo care a fost obţinut la

rezolvarea problemei: }0,0,5.1/2min{ 2122

21121

22

21 xxxxxxxxxf

Fig. 1. Exemplificarea metodei de căutare Monte-Carlo

În cadrul metodelor de expolare se prezintă algoritmul referitor la metoda accelerată

în pas (metoda Hooke-Jeeves) respectiv metoda accelerată în direcţie (metoda Powel).

Metoda Hooke-Jeeves constă în efectuarea unei explorări locale după direcţii

paralele cu axele de coordonatre şi cu un pas fixat. Algoritmul formal al metodei este:

1. Se alege un punct de pornire x0 ( 0k )şi o mărime iniţială a pasului s şi se calculează

valoarea funcţiei de minimizat în acest punct )( 0xf .

2. Se efectueză explorarea locală secvenţială în jurul punctului după relaţia i

ki

ki

k Msxx 1

unde vectorul direcţiilor de căutare este definit ca:

kipentru

kjpentruMundeMMMM kjknkkk

1

0,,,2,1

3. După fiecare direcţie se efectueză explorarea, se calculează valoarea funcţiei în acel

punct modificat şi dacă se obţine o îmbunătăţire atunci se setează 1 ii şi se consideră

o deplasaare cu succes ( iNx ). Dacă nu se obţine o îmbunătăţire se va relua iteraţia cu un

pas micşorat.

Page 13: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

12

4. Dacă s-a terminat studiul după fiecare direcţie în iteraţia I, se va efectua o mişcare pe

diagonala deplasărilor de succes cu relaţia:

iiN

iN

i xxxx 01

0

unde este coficientul de accelerare.

5. Dacă )( 10

ixf reprezintă o îmbunătăţire atunci punctul 10

ix se alege ca punct de

bază şi se reia expolarea de la pasul 2., dacă nu se alege ca punct de bază ix0 şi

explorarea se efectueză cu paşi micşoraţi.

6. Iteraţia se termină dacă se satiface condiţia că variaţia funcţiei de la o iteraţie la alta

este sub o anumită valoare predefinită.

În figura 2 se prezintă metoda de căutare directă (Hooke-Jeeves) care a fost obţinut la

rezolvarea problemei }2min{ 12122

21 xxxxxf

Fig. 2. Metoda de căutare directă

Metoda Powell este o metodă accelerată în direcţie şi se bazează pe căutarea după

direcţii conjugate, independente în fiecare iteraţie. Funcţionala criteriu este minimizată

după o relaţie de tipul:

i

k

ii

k

i

k MSxx1

. Algoritmul formal al metodei este:

1. Se alege un punct x0 de pornire, şi un set de direcţii de căutare 00

2

0

1 ,...., NMMM

paralele cu axele de coordonate.

2. Se execută o căutare ciclică monodimensională după fiecare direcţie şi se obţine

punctul de minim 0*x în prima iteraţie .

3. Dacă în iteraţia i de căutare s-a determinat ultimul punct i

Nx şi se localizează punctul

i

j

ixx

* pentru care s-a obţinut cea mai eficientă îmbunătăţire a funcţiei criteriu în

cadrul iteraţiei i, în sensul că i

j

i

j xfxf 1 este maxim se defineşte punctul de

extindere

ii

Ni

ext xxx 02 unde i

x0 reprezintă punctul iniţial al iteraţiei i.

x2

x1

Page 14: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

13

4. Se determină: i

j

i

j

iii

N

ixJxfxxx 10

5. Se efectuează testul dacă pentru punctul de extindere se obţine o îmbunătăţire faţă de

punctul de pornire i

x0 în iteraţia i, pe baza următoarelor relaţii:

Exfxfxfxfxf ii

N

ji

ext

i

N

i

00 2 unde

202

1 i

ext

ii xfxfE

Dacă inegalitatea nu este satisfăcută (s-a obţinut o îmbunătăţire) se consideră ca punct de

bază pentru iteraţia i+1 cea mai bună valoare obţinută în iteraţia i şi noile direcţii de

căutare vor fi :

1,

1,1

1

1

NjipentruM

jipentruMM

i

k

i

ki

k

Dacă inegalitatea este satisfăcută în căutarea punctul iniţial pentru iteraţia i+1 avem:

NipentruMMi

k

i

k ,11

şi punctul de bază pentru iteraţia i+1 va fi: i

N

ixx

1

0 .

6. Procedura se termină dacă:

i

k

i

k xx 1

Desfăşurarea lucrării:

În cadrul lucrării de laborator se vor implementa algoritmii de căutare directă prezentaţi.

Problema propusă pentru testarea metodei Monte-Carlo şi Boltzmann:

}0,0,5.1/2min{ 2122

21121

22

21 xxxxxxxxxf

Domeniul iniţial unde se caută minimul este definit de cele trei restricţii de tip inegalitate.

Se va reprezenta grafic suprafaţa convexă, unde se specifică punctele cu succes la

algoritmul de căutare a minimului.

Metoda Hooke-Jeeves respectiv metoda Powell se poate testa la funcţionala convexă fără

restricţii: }2min{ 12122

21 xxxxxf La fel ca şi la metoda precedentă şi la aceste

metode se evidenţiază punctele în care s-a găsit o îmbunătăţire a funcţionalei, şi se

testează metoda modificând punctul de pornire. Se va reprezenta valoarea funcţionalei

respectiv variaţia variabilelor 21, xx pe parcursul algoritmului de căutare.

Întrebări:

1. Cum se poate îmbunătăţii metoda de căutare stocastică ?

2. Care sunt dezavantajele metodei Monte-Carlo?

3. După ce algoritm s-ar putea micşora pasul de căutare la metoda Hooke-Jeeves?

4. Cum se poate testa atingerea minimului în ambele cazuri?

5. Căutaţi şi implementaţi alte metode directe de căutare a minimului?

Page 15: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

14

Lucrarea nr. 4. Lab.5

METODĂ DE GRADIENT DE ORDIN I

Scopul lucrării:

Lucrarea propune implementarea algoritmului de căutare a minimului cu metoda

gradientului de ordin I cu pas constant şi pas optimal, respectiv studiul acestei metode

pentru diferite funcţii convexe.

Introducere teoretică:

Metodele de căutare tip gradient sunt utilizate pentru optimizarea sistemelor

caracterizate de funcţii )(xf diferenţiabile şi se bazează pe idea conform căreia rata

maximă de variaţie a funcţionalei se obţinne după direcţia gradientului. Gradientul este un

vector unde elementele sunt calculate ca derivate paţiale de ordin I ale funcţiei. T

nx

xf

x

xf

x

xfxgradf

)()()()(

21

Vectorul normat este:

n

i i

k

k

kk

x

f

xgradf

xgradf

xgradfxD

1

2

)(

)(

)()(

Algoritmul de căutare cu metoda de gradient de ordin I are următoarea relaţie de bază.

)(1

kkkkxDSxx unde:

kS reprezintă pasul de căutare

)( kxD reprezintă vectorul normat în direcţia gradientului în punctul de căutare x<k>

Deci metoda necesită calculul derivatei în fiecaare iteraţie. Pentru calculul derivatei se

poate folosi următoarea metodă aproximativă:

)()()( xfxf

x

xf

Terminarea procesului de căutare este condiţionată de îndeplinirea simultană a criteriilor:

kk xx 1 respectiv )()( 1 kk xfxf

sau 0))(( kxfgrad

Algoritmul de căutare aa metodei de gradient de ordin I cu pas constant S:

1. Se alege un punct de pornire 0x pentru 0k şi o valoare constantă pentru pasul de

căutare.

2. Se calculează gradientul funcţiei în punctul kx ( )( kxgradf ) şi se normalizează.

Page 16: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

15

3. Se efectuează o iteraţie:

)(1

kkkxDSxx

4. Se calculează valoarea funcţiei în punctul )( 1kxf .

5. Dacă condiţiile următoare sunt satisfăcute

kk xx 1 respectiv )()( 1 kk xfxf

punctul 1kx se consideră ca fiind punctul minim, dacă nu iteraţia continuă începând cu

pasul 2.

Algoritmul de căutare a minimului cu pas optimal diferă de algoritmul precedent prin

faptul că în fiecare iteraţie se recalculează valoarea pasului Sk. Pasul optimal, care a fost

calculat pe idea că distanţa )()( 1 kk xfxf să fie maximă în raport cu pasul S<k>

,

are expresia următoare:

)()(,)(

)(,)(

kx

kkx

kx

kxk

xfgradxHessxfgrad

xfgradxfgradS

Se poate observa că determinarea pasului optimal kS 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 obţinut în rezolvarea problemei }2min{ 12122

21 xxxxxf

Fig. 1. Metoda de gradient cu pas constant (în plan şi în spaţiu)

Desfăşurarea lucrării:

Se va implementa algoritmul de căutare a minimului cu metoda gradientului cu pas

constant şi pas optimal pentru căutarea minimului funcţionalelor:

12122

21 2)( xxxxxxf respectiv

22

),( yxexyxf

x2

x1

Page 17: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

16

Se vor reprezenta grafic suprafaţa funcţionalelor şi se va evidenţia punctul de pornire

respectiv punctul minim.

Se va testa algoritmul alegând diferite puncte de pornire respectiv pentru valoarea pasului

S (în cazul metodei cu pas constant ). Se va testa precizia metodei respectiv numărul de

iteraţii folosite în căutarea minimului.

Întrebări:

1. Cu metoda gradientului de ordin I se pot găsi minime locale sau globale?

2. Cum se poate aproxima numeric vectorul de gradient fără a calcula analitic derivata

funcţiei ?

3. Cum se poate testa dacă în urma efectuării iteraţiilor s-a ajuns la minim ?

4. Cum se modifică algoritmul dacă se cere determinarea maximului ?

Page 18: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

17

Lucrarea nr. 5. Lab.6-7

METODE DE CALCUL AL PASULUI OPTIMAL LA

CĂUTAREA MINIMULUI

Scopul lucrării:

Lucrarea propune diferite metode de determinare a pasului optimal folosite la

algoritmi de căutare 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 staţionară cel mai răspândit din categoria metodelor de

gradienţi de ordin unu este cunoscut ca metoda Cauchy sau de gradient optimal. Metoda

este utilizabilă pentru optimizarea sistemelor multivariabile neliniare, fără restricţii.

Algoritmul metodei este următorul:

1. Se alege un punct iniţial de pornire k

x (k=0) şi se calculează kxf respectiv

kx xfgrad cu care se determină direcţia de căutare:

k

xk

xfgradM

2. Se determină valoarea pasului S k , care în direcţia definită de M k asigură variaţia

maximă a criteriului de calitate f(x):

kkk

S

k MSxfxfS1

min

3.Se efectuează modificarea variabilei x

)(1

kx

kkkxfgradSxx

4. Iteraţia continuă până când următoarele condiţii vor fi îneplinite:

kk xx 1 respectiv )()( 1 kk xfxf

Metoda propusă de POLAK pentru calcularea pasului optimal:

Se presupune ca variaţia funcţiei criteriu în direcţia M k , are forma reprezentată

în figura următoare.

Page 19: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

18

Fig 1 Reprezentare grafică a aproximării pasului optimal

unde punctul de origine corespunde valorii S=0 , 00 kkk

xfMxf , iar

xfMSxfxS , reprezintă prima variaţie a funcţionalei J(u). Algoritmul se

bazează pe următoarele funcţii unde )5.0,0( :

kku

kkkk

kku

kkkk

MuJgradSuJMSuJuS

MuJgradSuJMSuJuS

,,

,1,

În prima fază se determină intervalul ao bo] astfel încât pasul optimal căutat se va afla în

acest interval.

1. Se alege o valoare de pornire S = unde > 0

2. Se calculează valoarea funcţiei kxS, .

Dacă kxS, = 0 rezultă:

kk

xkkk

MxfgradSxfMSxf ,1[

relaţie, care corespunde aproximării dezvoltării în serie a funcţionalei f(x), unde termenul

de ordin I, este nul. Deci valoarea S reprezintă valoarea optimală în iteraţia k, conform

algoritmului prezentat: S Sk

Dacă kxS, < 0, rezultă ca punctul S se situează pe panta descrescătoare a primei

variaţii a funcţionalei f(x), astfel: SS şi iteraţia se continuă de la pasul 2.

Dacă kxS, >0, rezultă că pentru pasul S prima variaţie a funcţionalei de cost se

situează pe panta crescătoare, deci pasul curent reprezintă supremul intervalului în care se

află minimul.

3. Se calculează valoarea funcţiei kxS, . Dacă 0, kxS pasul S S

k

respectiv dacă 0, k

xS , limitele intervalului în care se află minimul

sunt: SbSa oo . Cunoscând intervalul S a bo o , în care se află pasul optimal

Sk

în continuare se urmăreşte aproximarea lui mai precisă pe baza metodei de

înjumătăţire a intervalului a bo o, .

Page 20: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

19

4. Se alege punctul jj ja b

2

5. Dacă 0,0, k

jk

j xsix atunci pasul optimal este Sk

j .

Dacă 0,0, k

jk

j xsix se alege jjHjjH bsiaa

Dacă 0,0, k

jk

j xsix se alege jjHjjH bbsia

Iteraţia se continuă de la pasul 4.

Obs. Aplicaţiile au dovedit că alegerea parametrilor =1 şi 0,5 (=0,4) au permis

obţinerea unei rate foarte bune a convergenţei.

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 căutare . Astfel alegând un pas de căutare se

determină succesiv valoarea criteriului în punctele :

kx

jkkx

jk

kx

jkkx

kkx

k

xfgradSxfxfgradSxf

xfSgradxfxfSgradxfxfSgradxf

1

1

22

2...2

După aceste calcule se poate afirma că valoarea lui S* se află în intervalul

2 21 1j jS S S , deci LH SSS *

2. În etapa de interpolare se caută coeficienţii polinomului de gradul 3, care aproximează

atât criteriul în punctele extreme ale intervalului determinat cât si valoarea derivatei în

aceste puncte SH si SL .

)(23

)(

*12

23

*01

22

33

SdfaSaSaxfgradSxS

f

SfaSaSaSaxfgradSxf

kx

k

kx

k

Valoarea derivatei se determină printr-o metodă numerică bazată pe perturbaţia pasului.

Scriind ecuaţiile de mai sus sub formă matricială pentr SH respectiv SL se poate calcula

vectorul parametrilor:

)(

)(

)(

)(

0123

0123

1

1

*

*

*

*1

2

2

23

23

0

1

2

3

L

H

L

H

LL

HH

LLL

HHH

Sdf

Sdf

Sf

Sf

SS

SS

SSS

SSS

a

a

a

a

Pasul suboptimal se obţine ca :

3

31222

3

3

a

aaaaS

Page 21: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

20

Etapa de extrapolare respectiv de interpolare se repetă în fiecare iteraţie de căutare a

minumului. În figura 1 se prezintă exeplificarea metodei de gradient de ordin unu cu pas

optimal (determinat cu metoda interpolării) care a fost obţinut în rezolvarea problemei

}2min{ 12122

21 xxxxxf

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

(aproximat cu metoda de interpolare)

Metoda "Secţiunii de aur"

Asemănător cu metodele prezentate şi aici căutarea pasului optimal se face în două etape:

1. Determinarea intervalului în care se află minimul pentru care sunt necesare evaluarea

în trei puncte succesive 321 xxx ale criteriului de calitate să respecte condiţiile

321 xJxJxJ

2. Restrângerea intervalului în care se află minimul, adică aproximarea succesivă a

pasului optimal până la atingerea unei precizii prestabilite. La restrângerea intervalului în

care se află rădăcina se utilizează metoda punctului median bax 21 după care

intervalul în care se află rădăcina este determinat din relaţia 0 xfaf caz în care

rădăcina se află în intervalul xa, sau 0 bfxf caz în care rădăcina se află în

intervalul bx, . Similar gândind în cazul căutării 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 împărţire a intervalului

lab 00 generat de un raport oarecare lwbbaa 1001 . După alegerea

intervalului restrâns în care se află minimul se consideră ca în iteraţia a doua care se

bazează pe împărţirea similară cu raportul w a noului interval de bază

lwdab 101 cu care se obţin punctele 2a respectiv 2b cu proprietatea

dwbbaa 2102 . Totodată din considerente asupra convergenţei metodei se

impune ca noul interval de bază să nu fie împărţită în mai mult decât trei subintervale din

cele patru 11122220 ,,,,,,, baabbaaa deoarece cele trei intervale marcate de patru

Page 22: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

21

puncte pot asigura selecţia acelor trei puncte care localizează optimul. Astfel rezultă

condiţia:

dwablwaaab 1020112

)53(5.00131 122

wwwlwlw

Şi din considerentul ca împărţirea intervalului să fie subunitară rezultă 381966.0w sau

618033.01 w , număr care are proprietatea ca raportul segmentului mai scurt raportat

la segmentul mai lung este egal cu segmentul mai lung ww

w

1

1 este cunoscut încă

din Grecia antică sub denumirea de secţiunea 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 Secţiunii de aur este: Iniţializare: w = 0.618033988 Se aleg: a, b, maxIter, tolerance

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

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; f1 = f(a1);

ELSE

b = a1; a1 = b1; f1 = f2;

b1 = w.a + (1-w)b; f2 = f(b1);

ENDIF

WRITE k, a1, b1

IF ( (a1 – b1) < tolerance) STOP

ENDLOOP

Desfăşurarea lucrării:

Se va implementa algoritmul de căutare a minimului cu metoda gradientului cu pas

optimal pentru căutarea minimului funcţionalelor:

2221

21 565 xxxxxf

Se vor implementa funcţiile pentru algoritmii de căutare a pasului optimal. Se va

reprezenta grafic suprafaţa funcţionalei f(x) şi se va evidenţia punctul de pornire respectiv

punctul minim obţinut. Se va testa algoritmul alegând diferite puncte de pornire pentru

vectorul 021 xx respectiv se vor compara metodele de căutare a pasului optimal din

punct de vedere al preciziei respectiv al timpului de calcul.

Întrebări:

1. Cu metoda gradientului de ordin I se pot găsi minime locale sau globale?

2. Cum se poate aproxima numeric vectorul de gradient fără a calcula analitic derivata

funcţiei ?

3. Cum se poate testa dacă în urma efectuării iteraţiilor s-a ajuns la minim ?

Page 23: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

22

Lucrarea nr. 6. Lab.8

METODE DE GRADIENŢI DE ORDIN II

Scopul lucrării:

Lucrarea propune diferite metode de gradienţi de ordin II. Sunt studiate şi metodele

aproximative, care nu necesită calcularea Hessianului: metoda Newton-Gauss respectiv

metoda Newton modificat.

Introducere teoretică:

Relaţia de bază pentru determinarea minimului funcţionalei f(x) cu metoda de

gradienţi de ordin II, are forma

kx

kkkxfgradxHessxx

11

unde pasul optimal este S k 1 , iar direcţia de coborâre în acest caz este:

kx

kkxfgradxHessM

1

Deci pentru a obţine 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ă pătratică,

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 iteraţie, ci mai rar, dar acest lucru poate duce la divergenţa algoritmului, dacă

hessianul devine negativ definit. Din acest motiv, tehnicile de optimizare de ordin II apar

şi sub forme modificate prezentându-se în diverse variante îmbunătăţite. Există şi o serie

de metode care ocolesc calculul hessianului. Astfel de metode sunt:

metoda Newton-Gauss foloseşte o aproximare a matricei Hessian de forma :

kx

Tkx

kxfgradxfgradxHess

metoda are o convergentă pătratică în vecinătatea punctului optim. Nu se recomandă

aplicarea ei pentru puncte îndepărtate de optim, caz în care aproximaţia nu este valabilă.

metoda cvasi Newton modificate având următorul algoritm :

1. Se alege nx 0 astfel încât mulţimea

0/ xfxfx să fie mărginită şi se aleg

constantele 0 ,

0

1

2, , 0 şi i=0 .

2. Se aproximează coloana j a matricei Hessiane din relaţia

Page 24: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

23

ixj

ixi

xfgradexfgradxHess ,

unde e e1 21 0 0 0 1 0 ... , ... ,etc.

3. Dacă există 1,

ixHess şi 0,,1

i

xii

x xfgradxHessxfgrad se

efectuează iteraţia :

ix

iiixfgradxHessxx

11,

altfel

2

şi se continuă iteraţia de la pasul 2 .

În figura 1 se prezintă atingerea punctului minim într-un singur pas cu metoda Newton-

Raphson , funcţia la care se caută minimul este: 2221

21 565 xxxxxf

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

Desfăşurarea lucrării:

Se va implementa algoritmul de căutare a minimului cu metoda gradientului cu

pas optimal pentru căutarea minimului funcţionalelor:

2221

21 565 xxxxxf respectiv 2

122

21 1100 xxxxf

Se vor implementa algoritmii de căutare a minimului după cele trei metode de gradienţi

de ordin II. Se va reprezenta grafic suprafaţa funcţionalei f(x,y) şi se va evidenţia punctul

de pornire respectiv puntul minim. Se va testa algoritmul alegând diferite puncte de

pornire pentru vectorul 0yx respectiv se vor compara metodele de căutare minimului

din punct de vedere al preciziei respectiv al timpului de calcul.

Întrebări:

1. Cum se calculează pasul optimal la metodele de gradienţi de ordin II?

2. Dacă funcţionala este un criteriu pătratic în câţi paşi se obţine valoarea minimului?

3. Când se poate aplica metoda Newton-Raphson?

4. Cum se modifică algoritmul dacă se cere căutarea maximului funcţionalei?

Page 25: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

24

Lucrarea nr. 7. Lab.9

METODE DE GRADIENŢI CONJUGAŢI

Scopul lucrării:

Lucrarea propune implementarea metodei de gradienţi conjugaţi pentru diferite

funcţii de mai multe variabile. Pasul optimal calculat poate fi calculat cu oricare din

metodele abordate la alte lucrări de laboratoare (ex. metoda Cauchy).

Introducere teoretică:

La metoda de gradienţi conjugaţi direcţiile de căutare sunt mutual conjugate cu privire la

matricea Hess . Un set de direcţii M M M N0 1 1, ,..., sunt mutual conjugate faţă de

matricea Hess simetrică pozitiv definită dacă sunt valabile următoarele relaţii:

M Hess Mpt k j

pt k j

kT

j

0

1

Aceste direcţii sunt liniar independente şi asigură determinarea punctul de optim în

cel mult N iteraţii. Cea mai cunoscută metodă de gradienţi conjugaţi este metoda

Fletcher Reeves ,având următorul algoritm :

1. Se alege un punct de pornire x<0>

2.. Se calculează direcţia :

k

i

iikx

xk

kpentruMxfgrad

kpentruxfgradM

1

1

0

0

0

unde

kx

kx

kx

kxk

xfgradxfgrad

xfgradxfgrad

,

,11

1

3. Se determină valoarea pasului S din relaţia:

0/min

SMSxMSxJkkkkk

)

4. Se determină valoarea vectorului x<k+1>

din relaţia:

kkkk

MSxx1

5. Se testează condiţia :

01

kx xfgrad

Dacă această condiţie este satisfacută se termină algoritmul de căutare, dacă nu iteraţia se

continuă de la pasul 2.

Page 26: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

25

Fig. 1. Metoda de gradienti conjugati

Desfăşurarea lucrării:

Se va implementa algoritmul de căutare a minimului cu metoda de gradienţi conjugaţi la

următoarea funcţie de două variabile:

2221

21 35 xxxxxf

Se va reprezenta grafic suprafaţa funcţionalei f(x) şi se va evidenţia punctul de pornire

respectiv puntul minim. Se va testa algoritmul alegând diferite puncte de pornire pentru

vectorul 021 xx respectiv se vor compara metodele de căutare minimului din punct de

vedere al preciziei respectiv al timpului de calcul.

Întrebări:

1. La metodele de gradienţi conjugaţi cum sunt calculate direcţiile de căuare?

2. La o funcţie de n variabile în câţi paşi se calculează minimul cu metodaa gradienţilor

conjugaţi?

3. Cum se calculează pasul optimal?

4. Care sunt condiţiile de oprire la metoda de gradienţi conjugaţi?

Page 27: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

26

Lucrarea nr. 8. Lab.10

METODE NUMERICE PENTRU REZOLVAREA

PROBLEMELOR CU RESTRICTII.

Scopul lucrării:

Lucrarea propune implementarea metodelor numerice pentru rezolvarea

problemelor cu restricţii de tip egalitate cu metoda de relaxare Lagrange. Pasul optimal

calculat poate fi calculat cu oricare din metodele abordate la alte lucrări 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 restricţii de tip egalitate. Problemele de minimizare cu

restricţii de tip egalitate în general sunt formulate astfel:

},...1,0)(/)(min{ ni xmixgxf

unde:

)(xf - funcţia multivariabilă la care se caută minimul

)(xgi - funcţiile de restricţii de tip egalitate

x -vectorul n dimensinal (vectorul variabilelor)

Numărul restricţiilor de tip egalitate es m. Putem să determinăm funcţia Lagrange în felul

următor:

)(,)(),( xgxfxL

unde

<,> s-a notat produsul scalar

- vectorul multiplicatorilor lui Lagrange

Prin definirea lagrangianului problema deja este transformată într-o problemă de

minimizare fără restricţii, 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

0),( *

x

xL

Page 28: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

27

Considerăm că soluţia obţinută este: )( **x care depinde de valoarea fixată a

multiplicatorului.

- în a doua etapă se rezolvă problema de maximizare a lagrangianului în funcţie de *

0)),((

***

xL

Dacă se notează cu opt* valoarea optimă a multiplicatorului atunci înlocuind în relaţia de

calcul al variabilei necunoscute )( **x se obţine rezolvarea problemei de optimizare.

Dacă metoda de relaxare vrem să implementam numeric atunci se poate aplica următorul

algoritm:

0. Se defineşte 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 funcţie 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 funcţie de în timp ce valoarea variabilei x nu se schimbă ci

rămâne la valoarea determinată în pasul 1.

Procesul (pasul 1 şi 2) se continuă până la atingerea unei precizii prestabilite.

Desfăşurarea lucrării:

Se va implementa algoritmul de căutare a minimului cu restricţii utilizând metoda de

relaxare Lagrange:

2211 )64()50( xxxxxf dacă 605.1 21 xx

Se va reprezenta grafic suprafaţa funcţionalei f(x) şi se va evidenţia pe graphic şi restricţia

de tip egalitate. Se va testa algoritmul alegând diferite puncte de pornire pentru vectorul

021 xx respectiv se vor compara metodele de căutare minimului din punct de vedere

al preciziei respectiv al timpului de calcul.

În figura 1. se prezinte rezultatul implementării numerice a metodei unde atât la

minimizare cât şi la maximizare se foloseşte metoda gradientului de ordin I cu pas

constant.

În figura 2 se prezinte variaţia multiplicatorului Lagrange respective a variabilelor x pe

parcursul algoritmului.

Page 29: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

28

x2

x1

-100 -50 0 50 100 150-100

-50

0

50

100

150

Fig.1. Implementarea metodei de relaxare Lagrange

0 20 40 60 80 100 120-60

-50

-40

-30

-20

-10

0

10

20Variatia lambda

Nr. de iteratii

Multip

licato

rul Lagra

nge

0 20 40 60 80 100 120

-100

-80

-60

-40

-20

0

20

40

60Variatia x

Nr. de iteratii

x(t

)

a). b).

Fig.2. Variaţia multiplicatorului (a) respectiv a variabilelor x (b)

Întrebări:

1. Cum se calculează pasul optimal la metoda de căutare a minimului?

2. Care sunt condiţiile de oprire la metoda de gradienţi de ordin 1?

3. Cum se calculează maximul lagrangianului în funcţie de multiplicatorul Lagrange ?

4. Cum se modifică problema dacă numarul restricţiilor de tip egalitate este mai mare

decât unu?

Page 30: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

29

Lucrarea nr. 9. Lab.11

REZOLVAREA ANALITICĂ A PROBLEMELOR CU AJUTORUL

ECUAŢIILOR EULER-LAGRANGE

(CALCUL VARIAŢIONAL)

Scopul lucrării:

Lucrarea propune studiul rezolvării analitice a problemelor de calcul variaţional

cu ajutorul ecuaţiilor Euler Lagrange . Soluţia analitică se va compara graphic cu

rezolvarea numerică a problemei respective.

Introducere teoretică:

În cadrul calculului variaţional clasic se caută extremul funcţionalei :

dtxxLttxtxJ )),(),(()),(),((..

Forma clasică a ecuaţiei Euler-Lagrange:

L L

xx x

d

d xx x( ( ), *( ), ) ( ( ), *( ), )

.

.

.

0

Pentru exemplificare se va rezolva următoarea problemă:

Fie o dreaptă si două puncte P1(a,c) respectiv P2(b,d) amplasate pe acelaşi parte a dreptei.

Să se determine curba netedă care întruneşte punctele P1 si P2 astfel ca corpul de rotaţie

obţinut printr-o rotaţie după dreapta definită să aibă suprafaţa minimă.

Deci se caută funcţia ( )x cu proprietatea ( )a c si ( )b d . Suprafaţa de rotaţie definită

se obţine ca :

b

a

dxxxS )(1)(2)( 2

Lagrangianul problemei este:

)(1)()),(),(( 2 xxxxxL

Se poate observa că aici variabila independentă este x.

Ecuaţia Euler-Lagrange corespunzătoare problemei este :

1

1

02

2

..

.

( ) ( )( )

( )

xd

dtx

x

x

După derivare respectiv calculele algebrice simple se obţine:

Page 31: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

30

0

)(1)(1

)()()(1

22

2

xx

xxx

Deci ecuaţiadiferenţială care trebuie rezolvată este:

)(/))(1()( 2 xxx

Rezolvarea analitică a problemei este

( ) ,x ch

x

.

Constantele şi pot fi determinate din condiţiile iniţiale ş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ă Runge-

Kutta (funcţia Matlab ode45).

Desfăşurarea lucrării:

Se va implementa algoritmul rezolvare numerică a ecuaţiei diferenţială

)(/))(1()( 2 xxx

Cu ajutorul funcţiei 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 funcţia

fsolve, cu ajutorul căreia se poate determina soluţia sistemului de ecuaţii:

bchbd

achac

)(

)(

În figura 1. se prezinte reprezentarea grafică a celor două solutii: analitice şi cea

numerică.

-2 0 2 4 6 8 106

8

10

12

14

16

18

20

22

x

fi(x

)

Reprezentarea solutiei

Numeric

Analitic

Fig. 1. Reprezentarea funcţiei obţinută cu metoda analitică şi cea numerică

Page 32: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

31

In figura 2 este prezentată suprafaţa de rotaţie obţinută in urma rezolvării

numerice a problemei:

-20

-10

0

10

20

-20

-10

0

10

200

0.2

0.4

0.6

0.8

1

xy

z

Fig.2. Suprafaţa de rotaţie

Întrebări:

1. Ce tip de probleme pot fi rezolvate cu ajutorul funcţiei ode45?

2. Cum trebuie să transcriem ecuaţia diferenţială neliniară de ordin doi pentr a putea

rezolva cu ajutorul funcţiei ode45?

3. Cu ajutorul funcţiei fsolve pot fi rezolvate ecuaţii diferenţiale neliniare?

Page 33: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

32

Lucrarea nr. 10 Lab12-13

CONTROLUL OPTIMAL ÎN TIMP

A UNUI OSCILATOR ARMONIC LINIAR

Scopul lucrării:

În lucrare se studiază reglarea optimală a unor sisteme dinamice continue cu variaţii

periodice ale stărilor, şi se verifică metodele de acordare optimale ale regulatoarelor de

stare bazate pe formalismul ecuaţiilor Hamilton-Jacobi. Exeplul studiat în timp de reglare

minim, scoate la iveală caracteristicile sistemelor optimale, având optimul pe limita

domeniului admis.

Introducere teoretică:

Se presupune că sistemul dinamic a unui oscilator armonic este descris de

următorul sistem de ecuaţii:

)()()( 2 tuktytydt

d

dt

d

unde 0k şi comanda )(tu trebuie să satisfacă următoarea relaţie: 1)( tu

În cazul servomecanismelor astfel de sisteme sunt descrise de următoarea funcţie de

transfer:

22)(

)()(

s

k

sU

sYsH

Dacă definim ca stări variabilele )()(1 tytx respectiv dt

tdytx

)()(2 rezultă sistemul de

ecuaţii:

)(0

)(

)(

0

10

)(

)(

2

1

22

1tu

ktx

tx

tx

tx

dt

d

efectuând schimbarea de variabile:

)(1

)()()( 2211 txk

txtxk

tx

ecuaţia de stare a sistemului dinamic devine:

)(1

0

)(

)(

0

0

)(

)(

2

1

2

1tu

tx

tx

tx

tx

dt

d

Prin modificarea precedentă s-a ajuns la un sistem care are proprietatea că traiectoria

stărilor libere în planul stărilor sunt cercuri cu centrul în origine şi raza dependentă de

condiţiile iniţiale: 2

22

12

22

1 )0()0()()( xxtxtx

Page 34: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

33

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

sistem conservativ .

Pentru determinarea comenzii optimale admisibile, care să asigure forţarea sistemului în

stareaa finală (0,0) în timp minim se defineşte hamiltonianul problemei:

)()()()()()(1,1),,,( 22112 tptutptxtptxuBxAptpuxH

Ecuaţiile de necesitate a optimului sunt date de relaţiile:

0)(),,,( 2 tptpuxHdu

d

sau în cazul de faţă eliminând soluţia trivială 0)(2 tp se va aplica principiul

Pontrjiagin, care ne asigură următoarea soluţie de comandă optimală:

))((/)(min)( 2 tpsignUuuHtuu

Ecuaţiile pentru vectorul costare p(t) sunt următoarele:

)(),,,()( 2

1

1 tptpuxHdx

dtp

dt

d

)(),,,()( 1

2

2 tptpuxHdx

dtp

dt

d

din care se obţine un sistem asemănător cu ecuaaţiile stărilor:

)(

)(

0

0

)(

)(

2

1

2

1

tp

tp

tp

tp

dt

d

Având în vedere că sistemul obţinut este sismilar cu ecuaţia stărilor, dacă condiţiile

iniţiale se notează cu 2211 )0(,)0( pp soluţia se mai poate scrie ca:

2

1

2

1

)cos()sin(

)sin()cos(

)(

)(

tt

tt

tp

tp

deci comanda optimală se comută între u(t)=1 şi u(t)=-1 pe intervalul între două comutaţii

ea rămănând constantă.

Fig.1 Traiectoriile libere şi forţate

Page 35: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

34

În figura 1 se prezintă traiectoriile libere respectiv cele forţare (reglate) a unui oscilator

liniar cu w=4 şi condiţii iniţiale [1 1].

Desfăşurarea lucrării:

Se va implementa un program în MATLAB care simulează sistemul dinamic

prezentat în regim liber respectiv în regim forţat la comanda calculată în funcţie de stări.

Se vor reprezenta traiectoriile de stare libere şi cele forţate, respectiv evoluţia în timp a

semnalului de comandă obţinut. Se testează programul la diferite stări iniţiale. Similar se

va implementa şi schema de simulare în SIMULINK a procesului de reglare.

Funcţiile MATLAB care pot fi utilizate în lucrare sunt: lsim, initial, ode45.

Întrebări:

1. Cum se modifică evoluţia sistemului dacă comanda se calculează ca o reacţie pozitivă a

stărilor?

2. Ce se întâmplă dacă stările iniţiale a sistemului sunt zero?

3. Ce efect are pulsaţia naturală (w) asupra dinamicii sistemului?

Page 36: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

35

Lucrarea nr. 11. Lab.13-14

CONTROLUL OPTIMAL ÎN TIMP

AL UNUI SISTEM INERŢIAL DE ORDIN II

Scopul lucrării:

În lucrare se studiază reglarea optimală a unor sisteme dinamice inerţiale continue,

şi se verifică metodele de acordare optimale ale regulatoarelor de stare bazate pe

formalismul ecuaţiilor Hamilton-Jacobi. Exemplul studiat în timp de reglare minim,

scoate la iveală caracteristicile sistemelor optimale, având optimul pe limita domeniului

admis.

Introducere teoretică:

Fie sistemul inerţial de ordin II

)()( tutx , 1)( tu , 0)0( xx , 0)( tfx

Se cere determinarea comenzii restricţionate care conduce sistemul din orice stare iniţială

(1,2) în starea finală (0,0) în timp minim. Utilizând modelul pe spaţiul stărilor avem:

( )

( )

( )

( )( )

x t

x t

x t

x tu t

1

2

1

2

0 1

0 0

0

1

Dacă soluţia acestei probleme există ea se poate obţine în urma minimizării unui criteriu

de calitate J(u) specific sistemelor de comandă în timp minim.

tf

duJ0

1)(

Hamiltonianul problemei este:

)()()()(1)),(),(),(( 221 tutptxtpttptutxH

Se poate observa că determinarea comenzii u*(t) din relaţia H/u=0 va furniza o soluţie

trivială, neacceptabilă în acest caz p2(t)=0. Drept urmare căutăm comanda u*(t) care

asigură minimul Hamiltonianului. Dacă x2(t), p1(t) şi p2(t) sunt date, şi dacă 0)(2 tp ,

atunci valoarea minimă a lui H în raport cu comanda 1/ uuUu are loc pentru

relaţia:

)()( 2 tpsigntu

Ecuaţiile canonice ataşate problemei sunt:

)()(

)()(

2

2

21

1

tutxp

H

txtxp

H

22

11

)0(

)0(

x

x

)()(

0)(

12

2

1

1

tptpx

H

tpx

H

0)(

0)(

2

1

tfp

tfp

Page 37: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

36

Pentru integrarea ecuaţiilor canonice să notăm valorile necunoscute p1(0) şi p2(0) cu 1

respectiv cu 2 cu care rezultă:

ttp

tp

122

11

)(

)(

Pe de altă parte comanda u*(t) este constantă pe porţiuni cu valorile {1} şi {-1} în funcţie

de semnul lui p2(t), deci traiectoria corespunzătoare este:

2)(

)(

2

211

22

tuttx

tutx

Eliminând timpul t din această relaţie se obţine: 2

2222211

)(

2

)()(

u

txu

u

txtx

Această ecuaţie reprezintă o familie de parabole în planul fazelor reprezentată în figura 1.

Dacă se fixează condiţiile iniţiale va exista o singură ramură a familiilor de parabole care

trece prin acest punct şi are o ramură descendentă spre punctul (0,0).

Figura 1. Traiectoria stărilor în planul fazelor.

Figura 2 Exemplu pentru traiectoria optimală

Page 38: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

37

Punctul de comutaţie a comenzii u*(t) se poate determina ca fiind puncul de intersecţie a

parabolei iniţiale cu cea des-cendentă, care trece prin punctul de origine (0,0). Un

exemplu al traectoriei optimale s-a reprezentat în figura 2.

Relaţia se poate aduce sub o formă mai simplă:

*

222

2

112

)(

2)(

u

tx

utx

unde pentru situaţiile limită 1* u se obţine ecuaţia curbei de comutare:

0)()(2

1)())(()(

2

1)( 2212

221 txtxtxtxsigntxtx

Pentru implementarea numerică a acestui algoritm de comandă este necesară estimarea

momentului de comutaţie, precum şi a comenzii, exclusiv din valorile stărilor măsurabile

sau estimabile x1 şi x2. În urma unor transformări simple se poate arăta că valoarea

comenzii se obţine din sistemul:

02

)()()(:,)(

02

)()()(:,1

02

)()()(:,1

)(

2211

221

221

txtxtxdacãtxsign

txtxtxdacã

txtxtxdacã

tu

unde dreapta 02

)()()( 2

21 tx

txtx , definită în planul fazelor, reprezintă linia de

comutaţie. Adică comanda optimală este:

02

1: ,

02

1: ,

2

1

2211

221

221

xtxtxdacătxsign

xtxtxdacă

xtxtxsign

tu

Sistemul de control poate fi reprezentat cu o schemă de principiu reprezentată în figura

următoare.

Figura 3 Implementarea practică a reglării cu timp minim

Page 39: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

38

Desfăşurarea lucrării:

Se va implementa un program în MATLAB care simulează sistemul dinamic

prezentat în regim liber respectiv în regim forţat la comanda calculată în funcţie de stări.

Se vor reprezenta traiectoriile de stare libere şi cele forţate, respectiv evoluţia în timp a

semnalului de comandă obţinut. Se testează programul la diferite stări iniţiale. Similar se

va implementa şi schema de simulare în SIMULINK a procesului de reglare.

Funcţiile MATLAB care pot fi utilizate în lucrare sunt: lsim, initial, ode45.

Întrebări:

1. Cum se modifică evoluţia stărilor dacă sistemul funcţionează in regim liber?

2. Care ar fi condiţia de oprire in simularea sistemului forţat?

3. Cum se modifică traiectoriile de fază în regim forţat la diferite stări iniţiale?

Page 40: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

39

Lucrarea nr. 12. Lab.15

NAVIGAŢIA OPTIMALĂ

SPRE O INSULĂ CIRCULARĂ CONVEXĂ

Scopul lucrării:

Lucrarea propune studiul reglării optimale în timp minim când condiţiile iniţiale şi

finale sunt nefixate ci restricţionate în spaţiul stărilor. Se propune implementarea unui

algoritm de reglare pe baza rezultatelor analitice teoriei legate de condiţiile de

transversalitate.

Introducere teoretică:

Dacă stările initiale respectiv cele finale nu sunt fixate,ci numai restrictionate în

spatiul n dimensional de funcţia vectorială:

h x sau h x i mi( ) ( ) , 0 0 1

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 condiţie de transversalitate. Pentru

formularea matematică a acestei proprietăti să considerăm vectorii 0

si f

definiţi

pentru momentele t0 respectiv tf .Condiţiile de transversalitate în acest caz se scriu ca :

f

Tffff

Tfff

TT

txx

htx

x

htptp

txx

htx

x

htptp

)(,)(0)(),(

)(,)(0)(),(00000000

Pentru exemplificarea aplicării acestei teorii se consideră următoarea 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 direcţiei de navigaţie care asigură

atingerea unei insule circulare convexe C(r,(a,b)), reprezentate în figura , în timp minim.

Pentru rezolvarea problemei se scriu ecuaţiile de mişcare corespunzătoare :

Page 41: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

40

)(sin)(

)(cos)(

22

1001

tuwtx

tuvwvtx

Restricţia comenzii se poate exprima prin relaţia: 222222

22

1 sincos)()( wwwtutu

Hamiltonianul problemei este:

)()()()()(1),,,( 221101 tutptutpvtptpuxH

Cu care ecuaţiile canonice sunt:

)0()(0)(

)0()(0)(

222

2

111

1

ptptpx

H

ptptpx

H

Ultimii doi termeni din expresia Hamiltonianului reprezintă produsul scalar dintre vectorii

)(

)(

2

1

tu

tuşi

)(

)(

2

1

tp

tp, restul termenilor fiind independenţi de vectorul de comandă. Deci

valoarea minimă a Hamiltonianului se obţine în cazul în care vectorii susmenţionaţi sunt

coliniari având direcţie opusă. În aceste ipoteze componentele vectorului de comandă

sunt:

)0()()(

)0()()(

222

111

ptptu

ptptu

De unde rezultă ca unghiul relativ de navigaţie are o valoare constantă.

)0(

)0(

)(

)(

cos

sin)(

1

2

1

2

p

p

tu

tu

w

wtg

Valoarea acestui unghi se poate obţine din condiţiile de transversalitate. Dacă resupunem

cunoscută ecuaţia parametrizată a cercului cu care s-a definit insula ţintă în forma:

0)()())(),(( 222

2121 rbtxatxtxtxh

vectorul gradient h/x=[h/x, h/x]T având o direcţie coliniară cu raza cercului este

perpendiculară pe vectorul v=[v1, v2]T, care defineşte dreapta tangentă la cerc. Totodată

vectorul costare p(t)=[p1(t), p2(t)]T este şi ea perpendicular pe vectorul v, deci se obţine

sistemul:

0)()(0,)(

)(

00,

22112

1

2

1

2

2

1

12

1

2

1

vtpvtpv

v

tp

tp

vx

hv

x

h

v

v

x

h

x

h

De unde se obţine:

Page 42: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

41

1

2

1

2

)0(

)0()(

xh

xh

p

ptg

Deci în concluzie viteza relativă w corespunzătoare unghiului trebuie să fie

perpendiculară pe insula ciculară.

Desfăşurarea lucrării:

Se va implementa un program în MATLAB care simulează sistemul dinamic

prezentat în regim liber respectiv în regim forţat la comanda calculată în funcţie de stări.

Se vor reprezenta traiectoriile de stare libere şi cele forţate, respectiv evoluţia în timp a

semnalului de comandă obţinut. Se testează programul la diferite stări iniţiale. Similar se

va implementa şi schema de simulare în SIMULINK a procesului de reglare.

Funcţiile MATLAB care pot fi utilizate în lucrare sunt: lsim, initial, ode45.

Întrebări:

1. Când pot fi aplicate condiţiile de transversalitate?

2. În problema prezentată de ce am aplicat aceste condiţii de transversalitate?

3. Cum se aleg condiţiile de oprire la problema prezentată?

4. Cum se modifică problemă dacă insula nu este circulară?

Page 43: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

42

Lucrarea nr. 13. Lab.16

REGULATOR OPTIMAL DE STARE

Scopul lucrării:

Lucrarea propune studiul regulatoarelor optimale după stare liniar pătratice prin

prezentarea unor exemple de proiectare a regulatoarelor cu coeficienţi constanţi în timp.

Introducere teoretică:

Reglarea optimală după stare, bazată pe minimizarea criteriului pătratic cu timpul

final infifnit permite obţinerea unor structuri de reglare uşor implementabile în forma

unor reacţii proporţionale după stările procesului. Astfel pe baza modelului identificat, se

poate determina aprioric vectorul de amplificare a reacţiei. Reglarea în timp real a

procesului se reduce astfel la executarea unor operaţii ciclice simple, utilizând ca

parametru vectorul amplificare.

Soluţia problemei de reglare optimală după stare:

Fie un sistem liniar:

)()()()( tutBtxtAx

şi funcţionala de cost,

J u x tf Fx tf x Q e u R u dt

tf

( ) ( ), ( ) ( ), ( ) ( ) ( ), ( ) ( ) 12

12

0

unde comanda u(t) este nerestricţionată, 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 relaţia:

)()()()()()()( 1 txtKtxtPtBtRtu T

unde matricea reală simetrică şi pozitiv definită P(t) este soluţia unei ecuaţii diferenţiale

matriciale de tip Riccati, ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )(P t P t A t A t P t P t B t R t B t P t C t Q t C tT T T 1 0

cu condiţiile la limită P tf F( )

Traiectoria optimală se obţine ca soluţia ecuaţiei diferenţiale liniare

( ) ( ) ( ) ( ) ( ) ( ) ( )x t A t B t R t B t P t x tT 1

pornind de la condiţii iniţiale x(t0)=x0 cunoscute. Valoarea minimă a criteriului J(u) se

obţine din relaţia:

J u x t P t x t* ( ) ( ), ( ) ( ) 12

definită pentru toate traiectoriile x(t), t[t0,tf].

Page 44: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

43

Dacă presupunem că matricile )()(),(),( tQsitRtBtA sunt constante şi ft deci

0F atunci ecuaţia matricială Riccati se transformă în ecuaţia algebrică Riccati (ARE -

Algebric Riccati Eqations):

01 QPBRBPPAAP TT

În prezenta lucrare se va studia reglarea poziţiei longitudinale a unei aeronave care se

deplasează cu o viteză de croazieră constantă. Dinamica aeronavei în aceste condiţii se

poate aproxima ca:

)()(1

)(

)()(

)()(

2

tqttdt

d

Stqdt

d

tqtdt

d

unde:

reprezintă unghiul format între axa avionului şi planul orizontal

q reprezintă variaţia 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 ( 6.1,5.2,25.0 S )

Semnificaţiile şi notaţiile sunt prezentate în figura următoare:

Fig.1.

Ecuaţiile de mişcare sub formă matricială

0

0

110

00

01022 qq

dt

d

Page 45: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

44

Se cere proiectarea unui regulator de stare constant, care să menţină vectorul viteză cât

mai apropiat de direcţia orizontală cu un efort de control minim. deci se cere minimizarea

criteriului de forma:

0

221 )()( dtRQuJ

Criteriul transformat în formă cunoscută este:

dtRqQquJ

T

21

0101

000

101

)(

Astfel prin identificarea termenilor se pot determina matricile de sistem A,B respectiv

cele de ponderare R,Q. Sistemul este invariant şi ft deci matricea Riccati este

soluţia ecuaţiei algebrice. Prin intermediul matricei Riccati se poate calcula comanda

optimală după stare conform relaţiilor prezentate la începutul lucrării.

Desfăşurarea lucrării:

Se va implementa un program în MATLAB care simulează sistemul dinamic

prezentat în regim liber respectiv în regim forţat la comanda calculată în funcţie de stări.

Se va testa controlabilitatea sistemului şi se studiază stabilitatea sistemului fără regulator

prin determinarea valorilor proprii. Se va determina comanda optimală respectiv

amplificarea optimală pentru diferite valori a fracţiei R

Q1 . Se verifică stabilitatea

sistemului forţat (cu regulator) prin intermediul valorilor proprii al sistemului închis. Se

vor reprezenta traiectoriile de stare libere şi cele forţate, respectiv evoluţia în timp a

semnalului de comandă obţinut. Se testează programul la diferite stări iniţiale. Similar se

va implementa şi schema de simulare în SIMULINK a procesului de reglare.

Totodată se consideră o perturbaţie 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 (robusteţea).

Funcţiile MATLAB care pot fi utilizate în lucrare sunt: are, lqr, lsim, initial, ode45,eig,

etc.

Întrebări:

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ă stările sistemului?

4. Cum şi cât trebuie să varieze parametrii procesului ca pentru amplificarea optimală

determinată sistemul să fie încă stabil ?

Page 46: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

45

Lucrarea nr. 14. Lab.17-18

METODE DE REZOLVARE A ECUAŢIEI RICCATII

Scopul lucrării:

Lucrarea are ca obiectiv studiul metodelor de rezolvare a ecuaţiei diferenţială

matricială respectiv ecuaţia algebrică matricială Riccati. Totodată se propune compararea

acestori metode din punct de vedere al convergenţei, timpului de calcul respectiv al

robusteţei

Introducere teoretică:

Ecuaţia diferenţială matricială Riccati are forma generală:

FtPtQtPtBtRtBtPtPtAtAtPtP fTT )(0)()()()()()()()()()()( 1

Pentru determinarea matricei P(t) se poate utiliza sau o soluţie analitică, bazată pe soluţia

unui sistem, având n.(n+1)/2 ecuaţii diferenţiale independente (datorită proprietăţii de

simetrie), sau în cazul unor sisteme de ordin mai mare de 2 - datorită complexităţii

calculelor- se apelează la diferite metode de integrare numerică inversă în domeniul (tf,

to). Deşi soluţia ecuaţiei diferenţiale nu este unică, va exista numai o singură soluţie

pozitiv definită ca soluţie valabilă.

Utilizând aproximarea derivatelor cu diferenţe finite, soluţia se obţine prin integrare

inversă deci aproximările matricei Riccati se obţin din relaţia:

P t P t t t P t A t A t P t P t B t R t B t P t Q t

P tf F

T T( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

( )

1

Ecuaţia algebrică matricială Riccati are forma generală:

01 QPBRBPPAAP TT

Ecuaţia matricială Riccati degenerată este neliniară, motiv pentru care în majoritatea

cazurilor nu se obţin soluţii analitice. Se prezintă în continuare câteva metode de

rezolvare numerică:

Integrarea inversă în timp: Rezolvarea este posibilă prin integrarea inversă în timp

(P(tf)=0) a ecuaţiei printr-o metodă numerică până la stabilizarea în timp a soluţiilor

obţinute.

Metoda Potter:

La această metodă se construieşte matricea hamiltoniană de forma:

T

T

AQ

BRBAH

1

Page 47: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

46

Presupunând că matricea H are vectorii proprii liniari independenţi,şi dacă matricea ~P

este o soluţie a ecuaţiei algebrice Riccati atunci.

P V V 21 11

1

unde: matricea vectorilor proprii V s-a partiţionat în forma:

VV V

V V

11 12

21 22

vectorul format din V11 şi V21 reprezentând vectorii proprii corespunzători valorilor

proprii stabile.

Metoda Schur

Algoritmul sumar al metodei este:

Se calculează descompunerea Schur a matricii H dată de :

UA B R B

Q AU

S S

S

TT

T

111 12

220

unde Sijnxn , iar U nx n2 2 este o matrice de transformare ortogonală astfel

determinată încât valorile proprii ale matricei S11 să fie stabile, respectiv valorile proprii

ale matricei S22 instabile. Partiţionând matricea U :

UU U

U UUij

nxn

11 12

21 22

Soluţia ecuaţiei ARE este: ~P U U

21 111

Ţinând cont că matricea ~P este simetrică

~ ~P U U U P UT T 11 21 11 21

Metoda Newton

Este o metodă iterativă bazată pe rezolvarea iterativă a unor ecuaţii Ljapunov.

Algoritmul metodei este:

1. Se alege o valoare iniţială ~P 0 astfel încât matricea A BR B PT 1 0~

să fie stabilă.

(k=0)

2. Dacă matricea 10 ~~ kPP verifică ecuaţia ARE cu o precizie impusă, atunci ea este

soluţia stabilizatoare si se termină algoritmul, în caz contrar se continuă iteraţia.

QPBBRPAPPA kTkkkT 11111 ~~~~

3. Se rezolvă ecuaţia Lyapunov de unde se obţine valoarea ~ ~P P k 1 1

0~~~~~~ 11111 kTkkTkkTkT PBBRPQPBBRAPPPBBRA

şi iteraţia se continuă de la pasul 2.

Page 48: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

47

Desfăşurarea lucrării:

În cadrul lucrării de laborator se propune rezolvarea problemei de reglare optimală

după stare cu diferite metode de rezolvare a matricei Riccati. Să presupunem o mişcare

liniară în direcţia Ox a unui sistem inerţial având masa m asupra căreia acţionează o forţa

Fx considerat ca mărime de intrare, respectiv o forţă de frecare considerată proporţională

cu viteza de deplasare. Rezultă următoarea descriere a sistemului: d

dtx v t

d

dtv

mv t

mF t

x

x x x x

( )

( ) ( )1 1

adică sub formă matricială:

m

F

v

x

mv

x

dt

d x

xxx

1

01

0

10

Se cere minimizarea criteriului pătratic J(u),

J u x t Q x t u t R u t dtT T( ) ( ) ( ) ( ) ( )

1

2 0

unde matricile de ponderare sunt pozitiv definite şi simetrice.

Se va implementa în MATLAB metodele prezentate şi rezultatele obţinute se vor

compara între ele. Funcţiile MATLAB care pot fi folosite la implementarea metodelor

prezentate sunt: are, lqr, eig, schur, rsf2csf, schord, norm, newton, etc.

Întrebări:

1. Care dintre metodele însuşite necesită cel mai mult timp de calcul ?

2. În ce condiţii 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ă soluţionarea ecuaţiei Riccati?

Page 49: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

48

Lucrarea nr. 15. Lab.19

REGULATOARE LINIAR PĂTRATICE DE URMĂRIRE

Scopul lucrării:

Lucrarea are ca obiectiv studiul regulatoarelor pătratice de urmărire în cazul

sistemelor invariante de timp la diferite traiectorii prescrise.

Introducere teoretică:

Problema de urmărire optimală în cazul sistemelor continue poate fi formulată în

felul următor. Fie un sistem liniar observabil

)()()(

)()()()()(

txtCty

tutBtxtAtx

Fie z(t) ieşirea dorită (valoarea dorită), e(t)=z(t)-y(t) eroarea de urmărire şi funcţionala de

cost: dttutRtutetQteTFeTeuJft

t

0

)()(),()()(),()(),()(21

21

unde comanda u(t) este nerestricţionată, 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 relaţia:

u t R t B t P t x t g tT( ) ( ) ( ) ( ) ( ) ( ) 1

Matricea reală simetrică şi pozitiv definită P(t) este soluţia unei ecuaţii diferenţiale

matriciale de tip Riccati, ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )(P t P t A t A t P t P t B t R t B t P t C t Q t C tT T T 1 0

cu condiţiile la limită: )()()( ffT

f tCFtCtP

Vectorul g(t) este soluţia ecuaţiei diferenţiale liniare

0)()()()()()()()()( 1 tQztCtgtBtRtBtPtAtg TTT

cu condiţiile la limită: )()()( ffT tzFtCtg

Traiectoria optimală se obţine ca soluţia ecuaţiei diferenţiale liniare

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

pornind de la condiţii iniţiale x(t0)=x0 cunoscute. Valoarea minimă a criteriului J(u) se

obţine din relaţia:

J u x t P t x t g t x t t( ) ( ), ( ) ( ) ( ), ( ) ( )* 12

unde:

)()(),()(

)()()()(),()()(),()( 1

21

ffff

T

tztPtzt

tgtBtRtBtgtztQtzt

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

Page 50: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

49

Dacă presupunem că matricile )()(),(),( tQsitRtBtA sunt constante şi ft deci

0F atunci ecuaţia matricială Riccati se transformă în ecuaţia algebrică Riccati (ARE -

Algebric Riccati Eqations) de forma:

01 CQCPBRBPPAAP TTT

iar ecuaţia diferenţială pentru vectorul g(t):

)(~~)(~)(

11 tzqCPBBRAtgtg TTT

Desfăşurarea lucrării:

Pentru exeplificarea metodei de reglare optimală de urmărire se consideră o

mişcare fără frecare pe o suprafaţă caracterizate de ecuaţile:

yyxx amFamF

Dacă se consideră că intrările în sistem sunt forţele Fx şi Fy iar ieşirile sunt cele doua

coordonate x, y să se proiecteze un regulator de urmărire cu următoarele traiectorii de

stare: punct, linie verticală, linie orizontală, linie oblică ,cerc, curbe tip spirală, triunghi,

dreptunghi etc.

Fig.1. Traiectoria prescrisă şi ieşirea obţinută respectiv variaţia comenzilor şi

traiectoriilor de stare pe parcursul reglarii

Page 51: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

50

Matricile de ponderare R şi Q se aleg ca matrici pozitiv definite şi simetrice având

dimensiunile adecvate (F=0). Se va testa proprietatea de observabilitate respectiv de

controlabilitate a sistemului. Se va simula sistemul fără regulator la diferite semnale de

intrare şi se compară cu răspunsul sistemului cu regulator. Se testează efectul matricilor

de ponderare asupra regimului tranzitoriu. Se va implementa schema de reglare şi in

SIMULINK.

Funcţiile din MATLAB, care ne ajută la rezolvarea problemei sunt cele care au fost

folosite la regulatoarele de stare: are,lqr, lsim,step etc.

Întrebări

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ă ecuaţia matricială la regulatoarele de urmărire faţă de cea de la

regulatorul de stare?

Page 52: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

51

Lucrarea nr. 16 Lab.20

OPTIMIZAREA DINAMICĂ A SISTEMELOR NELINIARE

Scopul lucrării:

Obiectivul este de a studia o metodă iterativă tip gradient, pentru determinarea

comenzii optimale a sistemelor dinamice neliniare. Totodată se arată importanţa alegerii

pasului în asigurarea convergenţei metodei.

Introducere teoretică:

Majoritatea sistemelor reale întâlnite în practică prezintă caracteristici neliniare.

Forma matematică generală a unor astfel de sisteme este

d

dtx t f x t u t t

y t h x t u t t

, ,

, ,

unde: x(t) reprezintă vectorul stărilor xn

y(t) reprezintă vectorul de ieşire al sistemului dinamic

u(t) reprezintă vectorul de comandă u m

Pentru sistemul definit se caută comanda u, care minimizează criteriul de calitate, cu

condiţii de frontieră date:

J u x tf L x t u t t dtto

tf

( ( ), ( ), )

unde stările x(t), respectiv mărimea de control u(t) nu sunt constrânse de nici o restricţie,

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:

ttutxftpttutxLttptutxH ),(),(,),(),(),(),(),(

sau explicitând produsul scalar, notat cu < . , . > rezultă:

H x t u t p t t L x t u t p t t p t f x t u t tT

( ), ( ), ( ), ( ), ( ), ( ), ( ), ( ),

Condiţiile de necesitate pentru optimalitate se obţin prin rezolvarea sistemului de ecuaţii

canonice:

d

dtx t

H

px t u t p t t

d

dtp t

H

xx t u t p t t

H

ux t u t p t t

( ) ( ), ( ), ( ),

( ) ( ), ( ), ( ),

( ), ( ), ( ),

0

Efectuând calculele rezultă:

Page 53: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

52

d

dtx t f x t u t t( ) ( ), ( ),

d

dtp t

L

xx t u t t

f

xx t u t t p t

T

( ) ( ), ( ), ( ), ( ),

L

ux t u t t

f

ux t u t t p t

T

( ), ( ), ( ), ( ),

0

Condiţiile pe frontieră sunt:

x t x p tfx tf

x0 0 ;

Se presupune că se poate rezolva sistemul de ecuaţii neliniare algebrice , care are

ca soluţie u(t), o funcţie neliniară depinzând de valorile vectorului de stare x(t) şi vectorul

costare p(t) având forma:

u t a x t p t t , ,

Înlocuind această expresie în ecuaţiile deduse rezultă un sistem de 2.n ecuaţii

liniare ordinare de ordin I, având ca variabilă elementele vectorilor x(t) şi p(t). Cunoscând

condiţiile pe frontieră pentru timpul iniţial t0 şi cel final tf, teoretic se poate obţine soluţia

ca funcţii de x(t) şi p(t) pentru t t0, tf, şi din aceasta se poate obţine funcţia de

comandă optimală u(t). Am arătat pentru sisteme liniare că aceasta soluţie se obţine prin

rezolvarea unui sistem de ecuaţii diferenţiale de tip Riccati, care se integrează numeric cu

condiţii la limită date. În cazul sistemelor neliniare aceasta problemă se poate rezolva

numai prin metode iterative. Fiecare metodă se bazează pe obţinerea unor traiectorii

optimale folosind o parte din sistemul de ecuaţii de necesitate după care se ajustează

această soluţie pentru a aproxima şi soluţiile ecuaţiilor neluate în considerare.

Optimizare staţionară prin metoda de gradient

Considerând problema neliniară de optimizare dinamică, metoda iterativă de

gradient se poate formula bazând pe condiţiile de necesitate ale optimalităţii

d

dtx t

H

px t u t p t t f x t u t t( ) ( ( ), ( ), ( ), ) ( ), ( ),

d

dtp t

H

xx t u t p t t

f

xx t u t t p t

L

xx t u t t

T

( ) ( ( ), ( ), ( ), ) ( ( ), ( ), ) ( ) ( ( ), ( ), )

H

u

f

ux t u t t p t

L

ux t u t t

T

( ( ), ( ), ) ( ) ( ( ), ( ), ) 0

cu condiţiile la limita date de relaţiile următoare:

x t p tfx tf

x0 0 ( )

pornind de la o comandă u<>(t) pentru t t0, tf, soluţia ecuaţiilor diferenţiale

furnizează soluţiile x<>

(t) si p<>

(t) cu condiţiile la limită:

Page 54: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

53

x

tfxtfpoxtx

)( 0

Dacă traiectoria nominală a mărimii de control în iteraţia satisface relaţia:

H x u p t

ut to tf

, , ,

,0

atunci u<>

, x<>

şi p<>

sunt extremale.

Aproximând funcţionala de cost J prin dezvoltarea în serie conform demonstraţiei

condiţiilor de necesitate:

J ux tf

xp tf x tf

d

dtp

H

xx t

d

dtx f x u t t

H

uu dt

T

T T T

to

tf

( )

( , , )

K

Dacă condiţiile de necesitate sunt satisfăcute relaţia. devine:

dttu

u

tpuxHuJ

T

tf

to

,,,

)(

Dacă similar cu cele prezentate în metoda de optimizare parametrică, variaţia u se

aproximează în direcţia gradientului Hamiltonianului ponderată cu valoarea pasului >0

rezultă:

u t u t u t

H

ut to tf

1 ,

cu care criteriul J devine:

0

,,,,,,

dtu

tpuxH

u

tpuxHJ

T

tf

to

valoare care asigură convergenţa traiectoriei comenzii în direcţia minimizării 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. Utilizând comanda predefinită se integrează sistemul dat obţinând traiectoria stărilor

pentru intervalul to, tf. 3.Considerând ca valoare de pornire condiţia.

p tfx tf

x

se determină valorile eşantionate ale vectorului costare p(t), integrând condiţiile de

necesitate invers în timp.

4. Dacă condiţia,

Page 55: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

54

h

uunde

H

u

H

u

H

udt

T

to

tf

este îndeplinită, unde eroarea se stabileşte anterior se termină iteraţia, obţinând

traiectoria optimală. Dacă condiţia nu este satisfăcută se execută corecţia:

u t u tH t

u

k k 1

în eşantioanele de timp stabilite. Iteraţia se continuă de la pasul 2.

Desfăşurarea lucrării

În cadrul lucrării de laborator se va rezolva problema de optimizare neliniară a sistemului

neliniar:

d

dtx t x t u t x( ) ( ) ( ) 2 0 1

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

J u q x u d q 1

282 2

0

1( ) ( )

Se va implementa algoritmul de căutarea a minimului conform metodei prezentate şi se

vor reprezenta grafic traiectoriile de stare respectiv variaţia semnalul de comandă în

procesul de simulare-reglare.

Întrebări

1. Ce efect are asupra algoritmului valoarea şi ce reprezintă?

2. Care ar fi condiţia de oprire a algoritmului de căutare?

Page 56: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

55

Lucrarea nr. 17 Lab.21

METODA PROGRAMĂRII DINAMICE DISCRETE

Scopul lucrării

Lucrarea propune studiul unor probleme de optimizare discretă neliniară care pot

fi rezolvate cu metoda programării dinamice discrete (MPDD).

Introducere teoretică

Principiul optimalităţii sau principiul lui Bellman într-o formulare specifică

conducerii optimale a sistemelor dinamice este:

Fie un sistem dinamic discret descris de modelul:

x f x uk k k 1 , , k k N 0 1,

cu starea iniţială x xk0 0 secvenţa de comandă uk*care minimizează criteriul de calitate:

J u x L x uN k k

k k

N

,0

1

se poate obţine din relaţia:

),(,min,min 1 kkkku

kkku

k uxfJuxLxJuxLxJkk

Această ecuaţie recursivă are condiţia finală impusă:

J x xN N

Pe baza rezultatelor de mai sus algoritmul care constituie în esenţă metoda

programării dinamice discrete MPDD, se poate aplica după cum urmează:

1. Pentru k=N se efectuează iniţializare conform relaţiei )(*NxJ ,

2. Pentru fiecare xk admis, se determină comanda u*

k(xk) ca soluţie a problemei de

optimizare:

),(,min/)( kkkk

ukkkk uxfJuxLUuxu

k

3. Pentru fiecare xk admis se calculează valoarea optimală a criteriului de calitate

J*(xk) şi se formează secvenţa de comandă optimală u

*kU

*k, de la eşantionul k la cel final

N conform relaţiei:

1, kkk UuU

4. Se decrementează eşantionul actual k şi se efectuează iteraţia începând de la pasul

2, până la condiţia de oprire k k0.

După cum se poate urmări şi din algoritmul de mai sus, metoda programării

dinamice discrete necesită parcurgerea de N-k0 ori a paşilor 2...4, rezultând ca metoda se

încadrează în cadrul metodelor de optimizare în mai mulţi paşi. Calculele nu se pot

efectua analitic, necesitând o evaluare numerică, selectarea şi memorarea valorilor

Page 57: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

56

optimale ale comenzii u*k(xk), şi ale criteriului de calitate J

*k(xk) în nodurile unei reţele de

puncte alese în mod convenabil pe spaţiul stărilor.

Volumul calculelor şi a memoriei aferente depinde exponenţial de ordinul n al

sistemului supus reglării, MPDD fiind recomandată pentru sisteme de ordin redus (n<5).

Pentru motivarea acestei proprietăţi vom observa că vectorul de stare în fiecare eşantion

este reprezentat în n puncte. Pentru un număr de N secvenţe numărul total de puncte

posibile este Nn.

Desfăşurarea lucrării

În cadrul lucrării de laborator se propune rezolvarea următoarelor probleme cu metoda

programării dinamice discrete:

Problema 1

Un student are la dispoziţie patru ore pentru a se pregăti la patru examene (E1..E4).

Notele obţinute la fiecare disciplină după numărul de ore studiate din fiecare disciplină

sunt reprezentate în tabel:

Ore studiate E1 E2 E3 E4

0 2.00 4.00 4.00 8.00

1 4.50 4.50 5.20 9.10

2 6.50 5.70 6.20 9.50

3 7.50 6.10 7.10 9.70

4 8.50 6.90 7.80 9.80

Utilizînd MPDD să se determine alocarea de timp optimă pentru a obţine medie maximă.

Problema 2

La rezolvarea unor probleme matematice este necesară înmulţirea unui şir de matrice: M1,

M2,,…, Mn Să se determine ordinea operaţiilor de înmulţire astfel încât numărul

operaţiilor elementare înmulţire-adunare să fie minimă.

Întrebări

1. Cum se poate aplica MPDD la determinarea comenzii optimale a sistemlor discrete?

2. Care sunt avantajele respectiv dezavantajele metodei?

3 Căutaţi exemple de probleme care pot fi rezolvate de MPDD?

Page 58: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

57

Lucrarea nr. 18 Lab.22

REGULATOR DISCRET OPTIMAL DE STARE

Scopul lucrării:

Lucrarea propune studiul regulatoarelor optimale discrete în procesul de control

al sistemelor liniare discrete invariante în timp. Se va testa influenţa matricilor de

ponderare asupra dinamica procesului de control.

Introducere teoretică

Fie sistemul dinamic liniar discret descris de modelul :

kkkkk uxx 1

Se caută comanda care minimizează criteriul :

kkk

N

kkkNN uRuxQxxFxuJ ,,,)(

1

Similar cazului sistemelor continue valoarea minimă a criteriului din momentul k se caută

în forma cuadratică :

kkT

kk xPxxJ )(*

Pe baza teoriei lui Bellman se ajunge la expresia comenzii optimale avân forma

u R P P xk k k

T

k k k

T

k k k

1

1

1

unde matricea 1kP este soluţia ecuaţiei matricială discretă având forma:

FP

PPRPQPP

N

kkT

kkkT

kkkkT

kkkkT

kk

1

1

111

În cazul sistemelor invariante (Pk+1=Pk) ecuaţia se transformă în :

PPRPQPP TTTT ~~~~~ 1

Desfăşurarea lucrării

Se consideră un proces sismplu în industria hârtiei, unde se cere reglarea nivelului

de amestec h dacă intrările în proces sunt valoarea de comandă a ventilului de diluare u1

şi comanda pompei cu viteză variabilă. Schema bloc a modelului liniarizat este:

Page 59: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

58

Fig.1. Schema bloc a procesului studiat

Elementul de execuţie esenţial îl reprezintă pompa cu viteză variabilă, care reglează

volumul total de alimentare al instalaţiei.

Constantele din proces sunt : Tp=1s ,Tv=0.5s ,Th=2s si amplificarea K=10. Regulatorul

liniar pătratic va asigura menţinerea valorii prescrise de : xpr=[ 4 0.6 1]T . Se va calcula

modelul intrare-stare-ieşire 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 corespunzătoare şi se va

calcula matricea Riccati rezol vând ecaţia algebrică Riccati discretă.

In figura 1. se prezintă variaţia stărilor reglate respectiv variaţia comenzii discrete în

procesul simulării discrete a sistemului în cauză.

Fig.2 Stările discrete reglate şi comenzile discrete

Funcţiile MATLAB care ne ajută la rezolvarea problemei sunt: tf2ss, c2d, c2dm, dare,

dlqr, dlsim, dinitial, dstep, etc.

Întrebări

1. Cum se reglează stările unui sistem dinamic discret în prezenţa unui regulator de stare?

2. Cum influenţează 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 ?

Page 60: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

59

Lucrarea nr. 19 Lab.23

METODE DE REZOLVAREA ECUAŢIEI MATRICIALĂ

RICCATI DISCRETĂ

Scopul lucrării:

În lucrarea de faţă se propune studiul unor metode iterative şi neiterative pentru

rezolvarea ecuaţiei 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ă)

Ecuaţia matricială discretă în caz general are forma:

P P Q P R P P

P F

k k

T

k k k k

T

k k k k

T

k k k

T

k k

N

1 1 1

1

1

În cazul sistemelor variante în timp metoda de rezolvarea ecaţiei este o metodă iterativă.

Se porneşte de la valoarea finală a matricei Riccati şi în funcţie de orizontul problemei se

calculează înapoi matricile Riccati la diferite eşantioane de timp.

Sistemul discret este invariant şi N

~ ~ ~ ~ ~P P Q P R P PT T T T

1

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 numărul de paşi selectaţi pentru

stabilizarea soluţiei. Datorită acestui fapt se poate aplica şi în cazul discret metoda Potter

de rezolvare, care are următorul algoritm:

1. Se construieşte matricea Hamiltoniană H a sistemului discret:

H

R Q R

Q

T T T T

T T

11

11

1 1

2. Se calculeză valorile proprii respectiv vectorii corespunzători pentru matricea H

Page 61: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

60

3. Se partiţionează matricea vectorilor proprii astfel încât matricea V1 reprezintă vectorii

proprii corespunzători valorilor proprii stabile (Re () < 1), din matricea V ai vectorilor

proprii:

2221

1211

21VV

VVVVV

4. Determinarea soluţiei stabilizate ale ecuaţiei Riccati discretă se poate face după relaţia: 1

1121

VVP

Desfăşurarea lucrării

În cadrul lucrării de laborator se vor implementa metodele de rezolvare a ecuaţiei

discretă Riccati (iterativă şi neiterativă). Pentru studiul metodelor prezentate se poate

folosi problema din lucrarea precedentă. Rezultatele obţinute la matricea Riccati se vor

compara şi prin trasarea graficelor obţinute la traiectoriile de stare în urma reglării

discrete.

Funcţiile MATLAB care ne ajută la rezolvarea problemei sunt: c2d, c2dm, dare, dlqr,

dlsim, dinitial, dstep, eig, abs, etc.

Întrebări:

1. Ce efect are asupra rezultatelor alegerea orizontului N?

2. Care sunt dezavantajele metodelor iterative?

3. În ce condiţii este posibilă aplicarea metodei Potter ?

4. Prin ce diferă algoritmul Potter în varianta discretă faţă de varianta continuă?

Page 62: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

61

Lucrarea nr. 20 Lab.24

REGULATOR DISCRET OPTIMAL DE URMĂRIRE

Scopul lucrării:

Obiectivul lucrării este implementarea algoritmului de urmărire discretă optimală

prin rezolvarea ecuaţiei matriciale Riccati discretă la diferite valori ale orizontului. Se va

studia eficienţa reglării la diferite: traiectorii prescrie respectiv matrici de ponderare

(R,Q).

Introducere teoretică:

Fie un sistem discret liniar descris de următorul sistem de ecuaţii:

kkk

kkkkk

xHy

uxx

1

Să presupunem o traiectorie impusă zk, dată în eşantioane de timp tk. Se cere

determinarea acelei comenzi care minimizează un criteriu pătratic de forma:

1

0

.minN

kkk

T

kkkTkN

TN uRueQeeFeuJ

unde:

e z yk k k reprezintă eroarea de urmărire a traiectoriei prescrise zk,

kkk upuu reprezintă eroarea comenzii faţă de cea necesară menţinerii în

starea staţionară prescrisă de zk. Pe baza teoriei Bellman se obţine secvenţa de comandă

optimală de forma:

kkkTkk

Tkkkk

Tkkk xPgupRkPRu 11

1

12

1

kkkk fxKu

unde matricea Pk+1 respectiv vectorul gk+1 se obţin cu ajutorul următoarelor relaţii de

recurenţă.

kkTkkk

Tkkk

Tkkkk

Tkk

Tkk PPPRPHQkHP

11

1

11

kkTkkk

Tkkk PPRK

1

1

1

1

1

12

1k

Tkkkkk

Tkkk gupRPRf

kkkTkkk

Tkk

Tk

Tk KgKRuHQkzg .22 1

cu condiţiile la limită:

NTN

TN HFzg 2 NN

TNN HFHP

Page 63: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

62

În cazul unui orizont suficient de mare la sisteme dinamice invariante relaţiile de

recurenţă deduse pentru matricea Riccati discretă Pk respectiv pentru vectorul gk tind către

valori constante.

Desfăşurarea lucrării:

Pentru exeplificarea metodei de reglare optimală de urmărire se consideră o

mişcare pe o suprafaţă caracterizată de ecuaţiile:

yfyxfx amFFamFF

Dacă se consideră că intrările în sistem sunt forţele Fx şi Fy iar ieşirile sunt cele doua

coordonate x, y să se proiecteze un regulator de urmărire cu următoarele traiectorii de

stare (figura 1):

Fig.1 .Traiectorii prescrise

Se discretizează sistemul caracterizat de ecuaţiile de stare se aleg matricile de

ponderare (constante respectiv variabile) şi se implementează algoritmul de urmărire

discretă cu un orizont finit (sau infinit). Se va reprezenta grafic variaţia comenzii

respectiv variaţia ieşirii forţate comparativ cu traiectoriile de stare. Să se studieze

varianta reglării cu matrici de ponderare variabile pe lungimea orizontului.

În figura 2. se prezintă rezultatul simulării procesului de urmărire discretă, când

traiectoria prescrisă este un dreptunghi, iar orizontul reglării este fixat la valoarea N=10.

Page 64: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

63

Funcţiile 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ă

Întrebări:

1. Cum se modifică semnalul de ieşire dacă orizontul reglării N este mare?

2. Care este dezavantajul reglării cu un orizont infinit?

3. Cum se modifică valoarea criteriului de calitate discretă pe parcursul reglării?

4. Cum se aleg şi ce dimensiuni au matricile de ponderare R şi Q în cazul reglării de

urmărire discretă?

Page 65: (I ŞI II) - primeranks.netprimeranks.net/yeti/University/III%20ev/I%20felev/...%20RO.pdf · Introducere teoretică: Minimizarea funcţiilor de o singură variabilă: ... Mediul de

64

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, Bucureşti,1994

3. D. Sarchiz, Optimizări în Electroenergetică, Editura Multimedia System, Tg. Mureş

1993

4. D. Sarchiz, L. David, Cercetări operaţionale în electroenergetică, Îndrumar de lucrări,

Universitatea "Petru Maior" Tg. Mureş, 1998

5. L. David, L. Marton, Teoria sistemelor şi optimizări, Îndrumător de laborator,

Universitatea Tehnică Tg. Mureş, 1994

6. D. Teodorescu, Sisteme automate deterministe, Editura Tehnică, Bucureşti 1984

7. S. Călin, M. Tertişco, I. Dumitrache, C. Popeea, D. Popescu, Optimizări în

automatizări industriale, Editura Tehnică, Bucureşti, 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.Cãlin,M.Tetişco,I.Dumitrache,C.Popeea,D.Popescu, Optimizãri în Automatizãri

Industriale, Editura Tehnicã, Bucureşti,1979.

12. T.Coloşi, Tehnici de Optimizare, Curs vol. II-III, Institutul Politehnic Cluj-

Napoca,1989.

13. T.L.Dragomir, Tehnici de Optimizare, Institutul Politehnic "Traian Vuia" Timişoara

1987.

14. David L, Tehnici de Optimizare în Automatizări, Universitatea " Petru Maior",

Tg.Mures, 2000

15. Kósa A, Optimumszámítási modellek, Műszaki könyvkiadó, 1979

16. H.Kwakernaak,R.Sivan, Linear Optimal Control Systems, John Wiley & Sons, Inc,

Wiley-Intersience, New-York 1972.

17. Lantos B, Irányítási rendszerek elmélete és tervezése, Akadémiai 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