Sunteți pe pagina 1din 335

Tehnici de optimizare

- note de curs -

Ş.l.dr.ing. Florin Ostafi


fostafi@ac.tuiasi.ro
www.ac.tuiasi.ro/~fostafi
Obiectul optimizării

| Un sistem “optim” este sinonim cu cel mai bun posibil în


general şi din toate punctele de vedere?

| În orice problemă de optimizare corect formulată


z se are în vedere un anumit criteriu, exprimat printr-un indice de
calitate, funcţie cost, funcţie obiectiv etc.
şi
z se urmăreşte realizarea celui mai bun sistem din punctul de
vedere al criteriului adoptat.
z Sistemul astfel realizat este optim numai cu referire la criteriul
considerat.
Obiectul optimizării
| Se pot concepe criterii care să înglobeze simultan mai
multe performanţe ale sistemului, fiecare intervenind cu o
anumită pondere
| Există şi probleme de optimizare multicriteriale
z se iau în considerare simultan mai multe funcţii obiectiv
z şi în aceste cazuri, sistemul este optimizat dintr-un anumit punct de
vedere prestabilit
| Un sistem astfel optimizat nu poate fi cel mai bun posibil
din punctul de vedere al fiecărei performanţe parţiale în
parte
z dacă criteriul ar fi luat în considerare o singură performanţă, din
punctul de vedere respectiv s-ar fi obţinut un sistem mai bun decât
în cazul unui criteriu global, care are în vedere mai multe
performanţe.
Obiectul optimizării
| Criterii de performanţă (indici de calitate)
z cheltuielile totale
z consumul de combustibil sau energie
z eroarea de funcţionare
z timpul de răspuns
z distanţa parcursă etc.
| Criteriile de performanţă se exprimă de obicei prin
intermediul unor funcţii sau funcţionale care depind de o
serie de variabile de stare, de comandă, parametri
constructivi ai sistemului etc.
| Optimizarea constă în determinarea acelor variabile sau
parametri care conduc la extremizarea (maximizarea sau
minimizarea) funcţiei sau funcţionalei adoptate drept
criteriu, în condiţiile considerării restricţiilor la care este
supus sistemul.
Obiectul optimizării
| Un aspect important în formularea unei probleme de
optimizare este adoptarea indicelui de calitate.
z În cazul în care există interes pentru eficienţa economică - se
adoptă un indice care să conducă final la cheltuieli minime de
investiţii şi exploatare

z În cazul sistemelor tehnice - optimizarea consumului de combustibil


sau energie / a productivităţii / a calităţii producţiei

z Se pot lua în considerare indici economici, care înglobează şi


indicatori tehnici de tipul celor menţionaţi.
• În astfel de cazuri, punerea şi rezolvarea teoretică şi practică a
problemei de optimizare conduce la avantaje incontestabile.
Optimizare staţionară / Optimizare
dinamică
| Problemele în care intervine minimizarea unei funcţii sunt
probleme de programare matematică.
z În conducerea proceselor tehnologice, aceste probleme se referă la
regimurile staţionare de funcţionare (deci când nu intervine variabila
timp) şi mai sunt numite probleme de optimizare staţionară

| Problemele în care intervine minimizarea unei funcţionale


se numesc probleme de optimizare dinamică deoarece se
aplică sistemelor dinamice, cu o anumită evoluţie în timp
z Se mai numesc probleme de conducere sau de control optimal
z Din punct de vedere matematic, sunt probleme variaţionale
Optimizare staţionară / Optimizare
dinamică
| În general problemele de optimizare dinamică sunt
separate de problemele de optimizare staţionară.
| Există situaţii în care problemele de optimizare dinamică
sunt subordonate celor de optimizare staţionară.
z Motivaţie: în conducerea unui sistem tehnico-economic sunt
prioritare aspectele decizionale faţă de cele executorii.
z Exemplu: este prioritară stabilirea valorilor de regim staţionar în
funcţie de cerinţele procesului,
• modalitatea de realizare a regimurilor dinamice în diverse subsisteme
devine o problemă secundară (deşi se soluţionează mai dificil).
Formularea problemelor de
optimizare staţionară
| Optimizarea staţionară presupune extremizarea unei funcţii
scalare, dependentă de una sau mai multe variabile.
| Problemele de extrem pot fi de maxim sau de minim
| Vom considera, de regulă, probleme de minim, având în vedere
faptul că orice problemă de maxim poate fi transformată într-una
de minim prin inversarea semnului funcţiei
| Să se determine
min f (x) = min f (x1 , x 2 ,..., x n ), x ∈ X, X ⊂ R n , f ∈ R,
f - funcţie obiectiv (funcţie cost, cost, criteriu)
X - domeniul maxim pe care funcţia este definită în mod natural
cu respectarea unor restricţii de tip egalitate sau inegalitate de
forma
h i (x) = 0, i = 1,...,l, l ≤ n
g j (x) ≤ 0, j = 1,..., m
Exemple de probleme de optimizare
staţionară
| Probleme de planificare a producţiei
z Trei tipuri de produse în cantităţile x1, x2, x3
z Se folosesc resursele b1 şi b2
z aij - cantitatea din resursa i pentru realizarea produsului j

a11x1 + a12 x 2 + a13 x 3 ≤ b1


x1 ≥ 0, x 2 ≥ 0, x 3 ≥ 0.
a 21x1 + a 22 x 2 + a 23 x 3 ≤ b 2 ,

Cerinţă: să se planifice producţia (x1, x2, x3) astfel încât să se


maximizeze câştigul total
f = c1x1 + c 2 x 2 + c3 x 3

ci, i = 1,2,3 reprezintă preţurile de vânzare ale celor trei produse.


Exemple de probleme de optimizare
staţionară
| Dimensionarea grosimii izolaţiei unei instalaţii termice
A ( θc − θ e )
CT = C I + CO , CI = A δρ ci ra , CO = Qhc t , Q = ,
δ / β + 1/ α

z CT - cheltuieli totale z Q - căldura pierdută


z CI - cheltuieli de investiţii z h - este numărul de ore mediu anual de
z CO – cheltuieli de operare funcţionare a instalaţiei
(energia termică pierdută) z cθt - costul
θ unitar al energiei termice
c e
z ra - rata anuală de amortizare z / - temperaturile medii considerate
z A - suprafaţa izolaţiei pentru interiorul / exteriorul instalaţiei
z δ – grosimea izolaţiei z β - conductivitatea termică a materialului
z ρ – densitatea materialului α - coeficientul parţial de transfer al
stratului limită de aer
z ci – costul unităţii de masă a
materialului izolant
Exemple de probleme de optimizare
staţionară
| Dimensionarea unei reţele electrice
z Se impune minimizarea cheltuielilor de investiţii CI = ( a + bS) L prin
alegerea secţiunii S
z Soluţia trivială (S cât mai mic) conduce la căderi de tensiune şi
pierderi de putere inadmisibile, care trebuie limitate

L L
ΔU = RI cos ϕ = ρ I cos ϕ ≤ ΔU a , ΔP = RI 2 = ρ I 2 ≤ ΔPa
S S
z Într-o problemă de proiectare
• se impun valorile medii pentru puterea activă şi reactivă a
consumatorului ⇒ I şi cosφ au valori precizate;
• lungimea L a tronsonului este precizată;
• secţiunea S a conductorului este necunoscută - se deduce din condiţia
de minim pentru CI cu respectarea restricţiilor asupra ΔU şi ΔP.
Exemple de probleme de optimizare
staţionară
| Minimizarea pierderilor în regim staţionar la motoarele de
inducţie
z Pierderile variabile de energie
• în cupru -pierderi Joule
• în fier - datorită histerzisului şi curenţilor turbionari
z Ambele tipuri de pierderi depind de frecvenţa şi amplitudinea
tensiunii de alimentare (sau, echivalent, de fluxul din întrefier).
z Frecvenţa şi amplitudinea tensiunii de alimentare sunt folosite
pentru realizarea reglajului de viteză.
z Există deci posibilitatea ca, prin alegerea convenabilă a acestor
mărimi de comandă, să se asigure viteza de rotaţie dorită şi un
randament maxim.
Formularea problemelor variaţionale

| O problemă variaţională propriu-zisă va fi considerată sub forma:


să se determine funcţia vectorială (având derivate de ordinul unu
continue) x (t ) ∈ R n , t ∈ [t 0 , t f ] care minimizează funcţionala
tf
I = ∫ L( x (t), x (t), t)dt
t0

unde L este o funcţie scalară suficient de netedă (de obicei se


impune ca L să aibă derivatele de ordinul doi continue în raport cu
toate argumentele).
| Vectorul x (t) poate să fie precizat sau nu la cele două capete (la
t0 şi la tf).
Formularea problemelor de
conducere optimală
| Indicele de performanţă:
tf
I = M( x (t 0 ), x (t f ), t 0 , t f ) + ∫ L( x (t), u(t), t)dt
t0
| Problemele de control optimal sunt întotdeauna probleme
variaţionale cu legături - ecuaţia sistemului:
x (t) = f ( x (t), u(t), t)
y (t) = g( x (t), u(t), t)

| Pot să apară restricţii suplimentare privitoare la variabilele de


stare sau de comandă.
| Se cere determinarea comenzii optimale u(t) care transferă
sistemul din condiţiile iniţiale specificate în anumite condiţii finale
specificate, cu respectarea restricţiilor impuse variabilelor de stare
şi de comandă astfel încât să fie extremizat un indice de calitate.
Exemple de probleme variaţionale
propriu-zise
| Problema celei mai scurte curbe plane

z Se impune determinarea unei curbe de lungime minimă care uneşte


două puncte din plan A(x0, y0), B(x1, y1).
z Trebuie minimizată integrala care exprimă lungimea unei curbe
plane
x1
I = ∫ 1 + (dy / dx) 2 dx
x0

z Soluţionarea problemei va conduce la ecuaţia unei drepte y(x)


pentru care se va impune condiţia să treacă prin punctele A şi B.
Exemple de probleme variaţionale
propriu-zise
| Problema izoperimetrică presupune determinarea unei curbe
simple închise din plan, de lungime dată, care delimitează o arie
maximă
x1
z Să se maximizeze A = ∫ y(x)dx
x0

x1
2
cu condiţia izoperimetrică ∫ 1 + (dy / dx) dx = A
x0

şi condiţiile de capăt y(x 0 ) = y0 , y(x1 ) = y1

z Soluţia acestei probleme este un arc de cerc care trece prin


punctele de capăt
Exemple de probleme variaţionale
propriu-zise
| Problema brahistocronei
z Să se unească printr-o curbă y(x) punctele A(x0, y0) şi B(x1, y1)
situate într-un plan vertical xOy, dar nu pe aceeaşi verticală (x0≠x1,
y0>y1) a.î. un punct material să se deplaseze în timp minim din A în
B prin alunecare în lungul acestei curbe, sub acţiunea forţei de
gravitaţie (pentru simplificare, se poate neglija frecarea).
s1
ds 1 x1
1 + (dy / dx)2 v 2 − v02 = 2g(y − y0 ),
T= ∫ = ∫ dx.
s0 v 2g x 0 y−α 2gα = 2gy0 − v02

z Reformulare: să se determine curba y(x) care satisface condiţiile


terminale y(x0) = y0, y(x1) = y1, astfel încât să se minimizeze
x1
1 + (dy / dx) 2
I= ∫ dx
x0 y−α
Exemple de probleme de control
optimal
| Problemă de timp minim pentru un sistem de acţionare
z Ecuaţia de mişcare (pentru cuplu rezistent nul): Jω
 (t) = m(t) (1)
(2)
z Comanda este restricţionată: − m max ≤ m(t) ≤ m max
z Variabile de stare şi comandă: Jω / m max = x, m / m max = u
z Ecuaţia sistemului se rescrie:  = u(t), x(0) = x 0 = Jω0 / m max
x(t) (3)

z Restricţia asupra comenzii devine u(t) ≤ 1 (4)

z Problema se enunţă astfel: să se determine comanda u(t) care


transferă sistemul (3) din starea iniţială x(t0) = x(0) = x0 în starea finală
x(t1) = 0, cu respectarea restricţiei (4), în timp minim.
z Soluţie: timpul de frânare este minim dacă se adoptă u(t)=-sgnx(t),
adică cuplul de frânare este maxim posibil când ω ≠ 0 şi se anulează
pentru ω = 0.
Exemple de probleme de control
optimal
| Problemă de timp minim pentru un sistem de poziţionare
z  = f (t)
Ecuaţia sistemului: mx(t) (1)
z Restricţie: f (t) ≤ f max (2)
z Se introduc variabilele de stare şi comandă sub forma
x1 (t) = m(x(t) − x f ) / f max , u(t) = f (t) / f max (3)

z Sistemul de ecuaţii de stare se scrie x 1 (t) = x 2 (t), x 2 (t) = u(t) (4)

z Restricţia asupra comenzii devine u(t) ≤ 1 (5)

z Să se determine comanda optimală u(t), t∈[t0,tf], care transferă în timp


0 0
minim sistemul (4) din condiţiile iniţiale x1 (t 0 ) = x1 , x 2 (t 0 ) = x 2 în
condiţiile finale x1 (t f ) = x1f , x 2 (t f ) = x f2 = 0 , cu respectarea (5).
z Soluţie: deplasarea trebuie să se facă cu o acceleraţie maximă,
urmată de o deceleraţie maximă (u=-sgn x2(t)). Calculele urmează să
stabilească momentul comutării valorii comenzii u(t).
Exemple de probleme de control
optimal
| Conducerea optimală a unui sistem electric de poziţionare
dΩ(t) (1)
z Ecuaţia de mişcare: k m ΦI(t) = J + M(t)
dt
i = I / NN , ϕ = Φ / Φ N , ω = Ω / ΩN , (2)
z Mărimi normalizate:
m = M / M N , τ = t / TN , unde TN = JΩ N / M N

z Ecuaţia de regim staţionar ptr. valorile nominale: M N = k m Φ N I N (3)

z Ecuaţia normalizată a sistemului: i = dω(τ) / dτ + m (4)

T
z Unghiul de rotaţie normalizat pe intervalul [0, T]: θT = ∫ ω( τ)dτ (5)
0
T
2
z Energia disipată normalizată pe intervalul [0, T]: w T = ∫ (τ )dτ
i (6)
0
Exemple de probleme de control
optimal
| Se pot formula următoarele probleme de control optimal:
z problemă de consum minim de energie: să se determine comanda i(T) şi
starea ω(T) care determină o deplasare unghiulară impusă θT într-un timp
precizat T, astfel încât să se asigure minimul energiei disipate, pentru ω(0) şi
ω(T) fixaţi, adică să se minimizeze funcţionala (6) pentru o valoare impusă a
funcţionalei (5) (condiţie izoperimetrică);

z problemă de timp minim: să se determine i(T) şi ω(T) care minimizează


durata T a transferului din starea iniţială ω(0) în starea finală ω(T) dată,
pentru θT şi wT impuşi;
T
• indicele de calitate se poate exprima sub forma T = ∫ dτ iar minimizarea acestuia
0
se realizează cu respectarea condiţiilor izoperimetrice (5) şi (6);

z problemă de eficienţă (stare finală) maximă: să se determine i(T) şi ω(T),


astfel încât să se realizeze o deplasare unghiulară θT maximă, pentru T, ω(0)
şi ω(T) precizaţi şi wT impus; cu alte cuvinte, se cere extremizarea
funcţionalei (5) cu condiţia izoperimetrică (6).
Tehnici de optimizare
- note de curs -

Ş.l.dr.ing. Florin Ostafi


fostafi@ac.tuiasi.ro
www.ac.tuiasi.ro/~fostafi
OPTIMIZAREA
STAłIONARĂ
1. ASPECTE GENERALE PRIVIND
OPTIMIZAREA STAłIONARĂ
1.1. Formularea şi clasificarea problemelor de optimizare
staŃionară
 O problemă de optimizare staŃionară este o problemă de
programare matematică:

min{ f (x) hi (x) = 0, i = 1,..., l ; g i (x) ≤ 0, i = 1,..., m}

f :Rn → R funcŃia obiectiv

hi : R n → R, i = 1,...,l restricŃii de tip egalitate (legături)

g i : R n → R, i = 1,..., m restricŃii de tip inegalitate


1.1. Formularea şi clasificarea
problemelor de optimizare staŃionară
Clasificări

 problemă fără restricŃii - extrem liber


 problema cu restricŃii – extrem legat

 problemă de programare liniară


 problemă de programare neliniară
 programarea convexă
 programarea pătratică
 programarea geometrică
1.1. Formularea şi clasificarea
problemelor de optimizare staŃionară
DefiniŃii
 Un punct x* se numeşte minim global pentru f dacă f ( x*) ≤ f ( x)
pentru toate punctele admisibile x (adică pentru toate punctele ce
satisfac restricŃiile problemei).
 Dacă pentru orice x ≠ x* are loc inegalitatea strictă, minimul este
unic.
 Dacă inegalitatea are loc pentru toŃi x dintr-o vecinătate admisibilă a
lui x*, atunci x* se numeşte minim local.
ObservaŃii
 Orice minim global este şi minim local, dar reciproca nu este
întotdeauna adevărată
 Extremele unei funcŃii pot fi netede sau unghiulare.
 Extremele se pot afla într-un punct din interiorul domeniului admisibil,
pe frontiera domeniului, sau intr-un punct de discontinuitate.
1.1. Formularea şi clasificarea
problemelor de optimizare staŃionară
f(x)

x
9
x1 x2 x
3
x4 x5 x6 x7 x8 x

 x6 - maxim global pe intervalul [x1,x9];


 x8 - minim global pe acelaşi interval;
 x1, x8 - minime locale unice;
 toate punctele intervalului [x3,x4] - minime locale neunice;
 x2, x5, x6, x9, - maxime locale;
 x7 - punct de inflexiune (nu este punct de extrem local);
 x6 - extrem unghiular.
1.2. Chestiuni preliminare
Reprezentarea grafică
 funcŃii de o singură variabilă - analiză matematică
 funcŃii de două sau mai multe variabile - reprezentările grafice se
complică - sunt rareori folosite în problemele de extrem
 pentru funcŃii de două variabile - reprezentări bazate pe curbe de
nivel (curbe de contur sau de valoare constantă a funcŃiei)

x2 f(x)=c1

f(x)=c2

x1
1.2. Chestiuni preliminare
1 T
FuncŃii obiectiv pătratice f(x): , f (x) = x Qx + b T x + γ
Rn→R
2
Q = QT - matrice simetrică, b∈Rn, γ - scalar

 importanŃa în studiul problemelor de extrem:


 se întâlnesc frecvent în practică, mai ales în probleme cu restricŃii,
când însă rezolvarea este considerabil mai dificilă;
 foarte multe funcŃii se aproximează destul de bine cu funcŃii
pătratice, prin dezvoltare în serie Taylor şi diverse metode apelează
la o succesiune de aproximări cu astfel de funcŃii;
 există o serie de proprietăŃi ale unor algoritmi care au fost
demonstrate numai pentru funcŃii pătratice, ele fiind "extinse" şi la
funcŃii mai generale, în baza a numeroase testări, care le-au validat;
 funcŃiile pătratice sunt folosite ca un prim test pentru diverse
proceduri de optimizare.
1.2. Chestiuni preliminare
Aproximarea funcŃiilor
 aproximarea pe baza dezvoltării în serie Taylor
1 2
f(x) = f(x ) + (x − x ) ∇f(x ) + (x − x0 )T H(x0 )(x − x0 ) + e(x, x0 ) x − x0
0 0 T 0
2
 f(x):Rn→R este de două ori derivabilă în raport cu toate argumentele într-o
vecinătate a punctului x0
 e(x,x0)→0 pentru x→x0
 ∂2f ∂2f 
 ⋯⋯ 
 ∂f ∂x1   ∂ x 1
2 ∂x1 ∂x n 
∂f (x)  ∂ f (x) 
2
∇ f ( x) = =  ⋮  ; H (x) = = ⋯ ⋯⋯ ⋯ 
∂x ∂x 2  
∂f ∂x n   ∂2f ∂ f 
2
 ⋯⋯ 
 ∂ x n ∂ x 1 ∂ x n 
2

 dacă derivatele de ordinul 2 sunt continue, H este simetrică


1.2. Chestiuni preliminare
Aproximarea funcŃiilor
1
f ( x) = f ( x 0 ) + ( x − x 0 )T ∇ f ( x 0 ) + ( x − x 0 ) T H ( x 0 )( x − x 0 ) + e( x, x 0 ) || x − x 0 ||2
2

 notăm x − x 0 = θh, cu h ∈ R n , || h ||2 = 1

• h – vector de lungime unitară care indică direcŃia de deplasare


• θ - lungimea pasului pe direcŃia h

 Aproximarea Taylor de ordinul 2


θ2
f (x + θh ) = f (x) + θ h, ∇ f (x) + h , H ( x ) h + e( x 0 , h ) θ 2
2

 Aproximarea Taylor de ordinul 1


o(θ)
f ( x + θ h ) = f ( x ) + θ h , ∇ f ( x ) + o( θ ), lim =0
θ→0 θ
1.2. Chestiuni preliminare
Criterii de evaluare a calităŃii algoritmilor

 ConvergenŃa
 există algoritmi care au o eficienŃă ridicată, dar nu au asigurată
convergenŃa în condiŃii suficient de largi
 pentru a preveni rezultate eronate:
• stabilirea unui număr limită de iteraŃii;
• introducerea unor testări periodice, care asigură continuarea corectă a
programului;
• combinarea procedurilor respective cu altele care au convergenŃa
garantată, dar şi o eficienŃă mai scăzută.
1.2. Chestiuni preliminare
Criterii de evaluare a calităŃii algoritmilor
 Viteza de convergenŃă
 oferă informaŃii asupra numărului de iteraŃii necesar
 ordinul de convergenŃă - apreciază cantitativ viteza de convergenŃă

ln f (x k )
dacă f(x*) = 0: ρ = lim
k →∞ ln f (x k +1 )

ln[f (x k ) − f (x* )]
dacă f(x*) ≠ 0: ρ = lim
k →∞ ln[f (x k +1 ) − f (x * )]

 ρ = 1 → convergenŃa liniară → f(xk+1)≤af(xk), a≥0 ⇒ scăderea valorii


funcŃiei se face în progresie geometrică
 ρ = 2 → convergenŃă pătratică → f(xk+1)≅[f(xk)]2, ⇒ la fiecare iteraŃie
se dublează numărul de zerouri după virgulă
 1< ρ < 2 → convergenŃa supraliniară
1.2. Chestiuni preliminare
Criterii de evaluare a calităŃii algoritmilor
 Volumul total de calcule

 unul din criteriile cele mai importante privind eficienŃa


 poate fi apreciat prin
• numărul total de operaŃii
• timpul total de rulare pe calculator
 acest criteriu nu este decisiv în aprecierea unei metode
• volumul total de calcule depinde de
• calitatea programului întocmit
• tipul calculatorului utilizat
• operaŃiile pregătitoare care se efectuează ş.a.
1.2. Chestiuni preliminare
Criterii de evaluare a calităŃii algoritmilor
 Generalitatea metodei

 se referă la posibilitatea aplicării acesteia pentru categorii cât mai


largi de probleme

 în multe cazuri sunt preferaŃi algoritmi specifici unor clase de


probleme

• sunt mai eficienŃi decât procedurile cu mare generalitate

 De regulă generalitatea este apreciată drept o calitate importantă a


procedurilor
1.2. Chestiuni preliminare
 Criterii de evaluare specifice metodelor numerice de calcul
 uşurinŃa în utilizare şi simplitatea;
 siguranŃa în funcŃionare;
 precizia;
 stabilitatea numerică
• algoritmul nu induce o creştere a sensibilităŃii problemelor la perturbaŃii
de date;
• un algoritm instabil poate da rezultate eronate chiar şi pentru probleme
bine condiŃionate;
 fiabilitatea
• robusteŃea - evitarea excepŃiilor aritmetice şi minimizarea erorilor de
rotunjire;
• invarianŃa la scalare;
• alegerea corespunzătoare a criteriului de terminare (stop);
 portabilitatea - posibilitatea utilizării pe diferite echipamente de
calcul, fără nici o modificare.
2. METODE DE REZOLVARE A PROBLEMELOR
DE OPTIMIZARE STAłIONARĂ FĂRĂ RESTRICłII

 FuncŃia scalară f(x) este definită pe întreg spaŃiul Rn (sau


pe un domeniu maxim din Rn pe care este definită funcŃia
în mod natural)
 Se cere determinarea punctului de minim global x*, adică a
punctului pentru care

f (x*) ≤ f (x), ∀x ∈ R n

 Diverse metode impun ca funcŃia să îndeplinească anumite


condiŃii
 continuitate
 derivabilitate
 convexitate
2. METODE DE REZOLVARE A PROBLEMELOR
DE OPTIMIZARE STAłIONARĂ FĂRĂ RESTRICłII

 Clasificare din punct de vedere al valorilor calculate


 metode directe - se calculează doar valorile funcŃiei obiectiv
 metode indirecte – se folosesc şi derivate ale funcŃiei
 Clasificare din punct de vedere al principiului folosit
metode de explorare greoaie în cazul funcŃiilor de mai multe variabile

 metode de eliminare
} -
- se folosesc, de regulă, pentru stabilirea grosieră a
domeniului în care se află minimul
 metode analitice
• metode generale ce stau la baza majorităŃii procedurilor de căutare
• sunt mai rar folosite în calculul numeric
 metode de căutare
• proceduri iterative - se porneşte de la o iniŃializare oarecare x0 şi se
k
stabileşte un şir de iteraŃii {xk}, astfel ca lim x = x * adică
k →∞
f ( x ) > f (x ) > f (x ) > ... > f (x ) > ... > f (x * )
0 1 2 k
2.1. Metode de explorare şi de eliminare

 Pentru un număr de variabile ≥ 3 – proceduri greoaie


 Se utilizează frecvent în cazul extremizărilor
unidimensionale
 Precizia este destul de redusă în cazul utilizării unui
număr rezonabil de iteraŃii
 Sunt folosite pentru stabilirea iniŃială a domeniului în
care se află extremul
 Determinarea mai precisă a extremului se face prin alte
proceduri
 Se pleacă de la un anumit domeniu pe care este
definită funcŃia.
 Probleme fără restricŃii - rezolvarea porneşte cu stabilirea
domeniului respectiv (într-un anumit mod)
 Probleme cu restricŃii - se porneşte de la domeniul definit de
restricŃii.
2.1.1. Metode de explorare
 În interiorul domeniului iniŃial se stabilesc puncte în care se
calculează valoarea funcŃiei obiectiv
 Se alege punctul în care funcŃia are valoarea cea mai mică
 astfel se stabileşte un subdomeniu în jurul acestui punct, în
interiorul căruia se află minimul funcŃiei.
 Acest subdomeniu alcătuieşte domeniul de incertitudine în
care se află minimul.
 Avantaj: în majoritatea cazurilor se evită punctele de minim
local
 Clasificare
 explorare exhaustivă
 explorare aleatoare
2.1.1. Metode de explorare
Metode de explorare exhaustivă
 Principiu
 domeniul considerat se împarte pe fiecare axă într-un număr de
subintervale ⇒ o reŃea multidimensională (rectangulară)
• nu este obligatoriu să se adopte acelaşi pas de divizare pe direcŃia
fiecărei axe
 se calculează f(x) în nodurile reŃelei şi se selectează cel pentru care
s-a obŃinut cea mai mică valoare pentru f(x)
 domeniul de incertitudine în care se află minimul este fixat de
nodurile vecine celui selectat.
 Dezavantajul principal
 numărul mare de evaluări necesar pentru a obŃine o precizie
acceptabilă,
• numărul de evaluări creşte cu creşterea numărului de variabile
2.1.1. Metode de explorare
Metode de explorare exhaustivă
 Algoritm pentru funcŃii unidimensionale

 se stabileşte un punct iniŃial x0, se adoptă un pas θ şi se calculează


f(x0)
 se calculează f(x0+θ) şi f(x0−θ), stabilind sensul deplasării
 se calculează f(x0+kθ), k∈Z
• dacă f[x0+(k−1)θ] > f(x0+kθ), se repetă această etapă pentru k
modificat cu o unitate
• dacă f[x0+(k−1)θ] < f(x0+kθ), a fost depăşit punctul de minim şi
se consideră că noul interval de incertitudine este
[x0+(k−2)θ, x0+kθ]
 pentru diminuarea acestui interval, se preferă aplicarea unor
metode mai precise
2.1.1. Metode de explorare
Metode de explorare aleatoare
 Principiu
 testarea funcŃiei obiectiv se face în mai multe puncte, stabilite pe
bază de numere aleatoare ⇒ se obŃine o zonă în care, cu o mare
probabilitate, se află minimul funcŃiei
 Avantaje
 volumul de calcule este dependent doar în mică măsură de ordinul
sistemului
 pot fi folosite şi în cazul problemelor cu variabile discrete
 Domeniu de aplicare
 rezolvarea unor probleme specifice de mari dimensiuni - mai ales
din domeniul economic
 sunt utilizate adeseori pentru stabilirea iniŃială a domeniului sau a
punctului de start
2.1.2. Metode de eliminare
 FuncŃia obiectiv trebuie să satisfacă ipoteza de unimodalitate
 unimodalitate - pe domeniul de definiŃie există un singur punct de extrem
 Principiu
 domeniul considerat se împarte în două părŃi printr-un plan (dreaptă) de
separare
 se testează valoarea funcŃiei în cele două subdomenii printr-o procedură
specifică şi se elimină acela care nu prezintă interes
 pentru domeniul rămas se continuă procedura, prin împărŃirea cu un plan
de separare etc., până se ajunge la un domeniu suficient de mic, funcŃie de
precizia impusă
 Există diverse variante în ceea ce priveşte modul de împărŃire în
subdomenii şi al celui de efectuare a testării
 Metodele de eliminare multidimensionale sunt mai rar folosite datorită
eficienŃei scăzute.
 În cazul extremizărilor unidimensionale, metodele de eliminare sunt
eficiente
Tehnici de optimizare
- note de curs -

Ş.l.dr.ing. Florin Ostafi


fostafi@ac.tuiasi.ro
www.ac.tuiasi.ro/~fostafi
2. METODE DE REZOLVARE
A PROBLEMELOR DE
OPTIMIZARE STAłIONARĂ
FĂRĂ RESTRICłII
2.2. Metode analitice
 Sunt metodele cele mai puternice şi care stau la baza unui
mare număr de metode de căutare
 Dacă se dispune de expresiile analitice ale derivatelor
funcŃiei obiectiv în raport cu toate variabilele, problema se
reduce la rezolvarea unui sistem de ecuaŃii
 Transpunerea metodelor analitice în proceduri numerice
este mai rar folosită, fiind preferaŃi algoritmii de căutare
 algoritmii de căutare sunt mai direct adaptaŃi problemelor de
optimizare staŃionară, chiar şi în cazurile în care se dispune de
expresiile analitice ale derivatelor
2.2.1. ProprietăŃi ale gradientului
a. În orice punct al suprafeŃei f(x) = const., vectorul gradient
este ortogonal la această suprafaŃă

DemonstraŃie
T
n ∂f  ∂f 
df (x) = ∑ dx i =   dx = ∇f (x),dx
i =1 ∂xi  ∂x  }⇒ ∇f (x),dx = 0
f (x) = const. ⇒ df (x) = 0
2.2.1. ProprietăŃi ale gradientului
b. Aproximarea Taylor de ordinul 1
o(θ)
f ( x + θ h ) = f ( x ) + θ h , ∇ f ( x ) + o( θ ), lim =0
θ→0 θ

f (x + θh) − f (x) o(θ)
= ∇f ( x), h +
θ θ

 Presupunem că există

f ( x + θh) − f (x) ∂f ⇒ ∂f = ∇f (x), h


lim = ∂θ
θ→0 θ ∂θ

o(θ)
lim =0
θ→0 θ
2.2.1. ProprietăŃi ale gradientului
≤ x, x y, y , x,y∈Rn
2
c. Inegalitatea Cauchy-Schwarz x, y
 egalitatea se obŃine dacă x şi y au aceeaşi direcŃie
2
∇f (x), h ≤ h, h ∇f (x), ∇f (x)
dacă h, h = 1 şi
f (x + θh) − f (x) o(θ)
= ∇f (x), h +
θ θ

f (x + θh) − f (x) 1/2 o(θ)
≤ ∇f (x), ∇f (x) +
θ θ
egalitatea se obŃine atunci când vectorii ∇ f ( x) şi h au aceeaşi direcŃie
 Într-o vecinătate a punctului x, creşterea maximă a funcŃiei
f(x) are loc pe direcŃia gradientului, respectiv scăderea cea
mai rapidă se face pe direcŃia inversă gradientului
2.2.1. ProprietăŃi ale gradientului
d. Fie x* un punct precizat şi h o direcŃie oarecare fixată ⇒ f(x*+θh) se
modifică doar în funcŃie de parametrul scalar θ.

}
df (x * +θh)
=0

}

⇒ ∇f (x * +θh), h = 0
∂f ⇒ ∇ f ( x*) = 0
= ∇f (x), h
∂θ h este oarecare

Punctele în care se anulează gradientul se numesc staŃionare (critice)

CondiŃia necesară ca un punct x* să fie extrem (maxim sau minim)


este ca acest punct să fie staŃionar.
2.2.1. ProprietăŃi ale gradientului

}
e. Presupunem aleasă o direcŃie h astfel încât
∇f (x), h < 0
f (x + θh) − f (x)
⇒ lim <0 ⇒
f ( x + θh) − f ( x) o(θ)
θ→0 θ
= ∇f (x), h +
θ θ
f (x + θh) − f (x)
⇒ ∃τ a.i. ∀θ, cu θ < τ avem <0 ⇒ f ( x + θh ) < f ( x )
θ

Dacă deplasarea din x se face pe o direcŃie h care face un unghi mai


mare de 90o cu direcŃia gradientului atunci, într-o vecinătate a
punctului x, se va obŃine o descreştere a valorii funcŃiei f(x)

În cadrul problemelor de minim, direcŃiile de deplasare h care


îndeplinesc condiŃia ∇f (x), h < 0 se numesc admisibile
2.2.1. ProprietăŃi ale gradientului

 În orice punct al suprafeŃei f(x) = const., vectorul gradient


este ortogonal la această suprafaŃă
 Într-o vecinătate a punctului x, creşterea maximă a
funcŃiei f(x) are loc pe direcŃia gradientului, respectiv
scăderea cea mai rapidă se face pe direcŃia inversă
gradientului
 CondiŃia necesară ca un punct x* să fie extrem (maxim
sau minim) este ca acest punct să fie staŃionar
 Dacă deplasarea din x se face pe o direcŃie h care face
un unghi mai mare de 90o cu direcŃia gradientului atunci,
într-o vecinătate a punctului x, se va obŃine o descreştere
a valorii funcŃiei f(x)
2.2.2. CondiŃii necesare şi suficiente
de extrem liber
CondiŃii necesare

 Fie f(x):Rn→R continuu derivabilă în raport cu toate


argumentele. CondiŃia de minim local este condiŃia de
punct critic (staŃionar):
∇ f ( x*) = 0
 generalizează condiŃia cunoscută (anularea derivatei) din cazul
funcŃiilor de o singură variabilă
2.2.2. CondiŃii necesare şi suficiente
de extrem liber
CondiŃii suficiente
 Fie f(x):Rn→R, având derivatele de ordin doi continue; condiŃia
suficientă ca x* să fie punct de minim local este ca în acest punct să fie
îndeplinită condiŃia ∇f(x*)=0 şi matricea hessian să fie pozitiv definită

}
(H(x*)>0).
1
f(x) = f(x*) + (x − x*)T ∇f(x*) + (x − x*)T H(x*)(x − x*) + e(x − x*) || x − x* ||2
2
H(x*) > 0 ⇒ (x − x* )T H(x* )(x − x* ) > 0 ⇒

∇f(x ) = 0
*

⇒ f(x) − f(x ) > 0


*
- x* este punct de minim local tare

 Fie f(x):Rn→R, continuu derivabilă şi convexă. Atunci relaŃia ∇f(x*)=0


este condiŃie de minim global.
2.2.2. CondiŃii necesare şi suficiente
de extrem liber

 Dacă este îndeplinită condiŃia ∇f(x*)=0 şi H(x*) < 0, atunci


x* este punct de maxim local tare.

 Dacă în punctul staŃionar H(x*) este de semn nedefinit,


atunci x* este punct şea (prezintă maxim în raport cu
anumite variabile şi minim în raport cu altele), numai dacă
det H(x*) ≠ 0.

 Dacă în x* matricea H(x*) este semidefinită (H(x*) ≥ 0 sau


H(x*) ≤ 0), nu se pot face aprecieri asupra naturii punctului
critic.
2.3. Metode de căutare
2.3.1. Aspecte generale privitoare la metodele de căutare

Prezentare generală
 Cele mai eficiente şi folosite metode de rezolvare a problemelor de
extremizare fără restricŃii
 În cazul problemelor de minim - metode de coborâre

 Se porneşte de la un punct iniŃial oarecare x0 care poate fi ales


 la întâmplare în domeniul de definiŃie al funcŃiei,
 într-un domeniu în care se bănuieşte că se află minimul
 într-un domeniu stabilit printr-o procedură oarecare (ex. explorare)
şi se stabilesc iterativ aproximaŃii din ce în ce mai bune ale
minimului x*, procedura încheindu-se când este îndeplinit un
criteriu de stop (de convergenŃă).
2.3.1. Aspecte generale privitoare la
metodele de căutare
 Formula de calcul
x k +1 = x k + θ k h k

 Metodele diferă între ele prin modul în care se face


alegerea
 direcŃiei de deplasare
 pasului de deplasare

 La majoritatea metodelor, la fiecare iteraŃie se stabileşte


mai întâi direcŃia de deplasare şi apoi lungimea pasului pe
direcŃia respectivă
2.3.1. Aspecte generale privitoare la
metodele de căutare
 Alegerea direcŃiei de deplasare
 Clasificare
• metode de ordinul I (directe): se calculează numai valorile funcŃiei
obiectiv
• metode de ordinul II: se calculează şi derivatele de ordinul unu
• metode de ordinul al III-lea: se calculează şi derivatele de ordinul al
doilea
 Utilizarea derivatelor
• Avantaj: viteză de convergenŃă crescută
• Dezavantaj: efort de calcul suplimentar
 Calculul derivatelor
• Dacă derivatele pot fi exprimate analitic fără un efort prea mare, se
specifică expresiile analitice ale derivatelor
• Dacă nu dispunem de expresiile analitice ale derivatelor, acestea
trebuie evaluate numeric
• creşterea timpului de calcul
• introducerea de erori suplimentare
2.3.1. Aspecte generale privitoare la
metodele de căutare
 Alegerea lungimii pasului la fiecare iteraŃie
 pas constant
 pas variabil
• de regulă este din ce în ce mai mic, pe măsură ce ne apropiem
de punctul staŃionar
 pas optim
• deplasarea pe direcŃia respectivă se face până când se atinge
minimul pe această direcŃie
• determinarea pasului optim creşte volumul de calcule la fiecare
iteraŃie
• există metode care impun utilizarea pasului optim la fiecare
iteraŃie
• determinarea pasului optim pe o anumită direcŃie se mai
numeşte căutare liniară exactă
• determinarea pasului optim constă în a stabili min f (x k + θh k )
θ
2.3.1. Aspecte generale privitoare la
metodele de căutare
 Interpretarea geometrică a pasului optim

xk
f(x)=c1 hk
f(x)=c2 xk+1
2.3.1. Aspecte generale privitoare la
metodele de căutare
 Calcularea pasului optim
θ2 k
f ( x k +1 ) = f (x k ) + θ ∇f ( x k ), h k + h , Hkhk
2
Minimizez f (x k +1 (θ ))

k +1 ∇f (x k ), h k
df (x (θ ))
= 0 ⇒ ∇f (x k ), h k + θ h k , H k h k = 0 ⇒ θ* = −
dθ h k , H (x k )h k

 valoare aproximativă a pasului optim


 pentru căutarea liniară exactă se folosesc proceduri mai precise -
metode de eliminare şi de interpolare
 în cazul funcŃiilor pătratice – formula este exactă
2.3.1. Aspecte generale privitoare la
metodele de căutare
ConvergenŃa procedurilor de căutare
 Teoremă
k +1
Fie un şir de iteraŃii de forma x = x + θ k h în care direcŃiile hk sunt
k k

admisibile ( ∇f (x), h < 0 ). Dacă în punctele xk ale şirului gradientul


este continuu şi Hk > 0, atunci este posibil să alegem paşii de
deplasare θk la fiecare iteraŃie astfel încât să obŃinem convergenŃa
şirului xk către punctul staŃionar x*.
 ObservaŃii
 Dacă H(x*)>0, atunci x* este punct de minim.
 Conform proprietăŃii anterioare, convergenŃa este legată de semnul
matricei Hessian, putând fi asigurată atunci când aceasta este pozitiv
definită în punctele şirului de iteraŃii.
2.3.1. Aspecte generale privitoare la
metodele de căutare
Criterii de stop
 În cadrul metodelor iterative de căutare trebuie introdus un
criteriu se stop (de oprire a calculelor sau de convergenŃă)
 Alegerea criteriului de stop este funcŃie de particularităŃile
problemei şi este dictată de o serie de consideraŃii:
 dacă există dubii privind convergenŃa procedurii iterative, se
recomandă limitarea numărului de iteraŃii, în afara introducerii
criteriului de stop propriu-zis;

 la metodele care apelează la calcularea gradientului ∇f(x) al funcŃiei


obiectiv, pentru problemele fără restricŃii se poate folosi:

∇f (x k ) ≤ ε
2.3.1. Aspecte generale privitoare la
metodele de căutare
Criterii de stop
 criterii absolute de stop bazate pe variaŃia argumentului sau a
funcŃiei:
x k − x k −1 ≤ ε sau f (x k ) − f (x k −1 ) ≤ ε

 în locul criteriilor absolute sunt preferate criteriile relative:


x k − x k −1 f (x k ) − f (x k −1 )
≤ε sau ≤ε
x k f (x k )

 dacă ||x*|| sau f(x*) sunt foarte apropiate de zero, atunci criteriile
relative nu sunt utilizabile şi se folosesc:
x k − x k −1 f (x k ) − f ( x k −1 )
≤ε sau ≤ε
1+ x k
1 + f (x ) k
2.3.1. Aspecte generale privitoare la
metodele de căutare
Criterii de stop
 folosirea exclusivă a unui criteriu bazat pe variaŃia argumentului sau
a funcŃiei poate conduce la rezultate eronate

f(x)
f(x)
∆f
∆f

x
x
∆x
(a) ∆x (b)

• aceste situaŃii pot fi preîntâmpinate prin utilizarea combinată, în cadrul


aceluiaşi program, a ambelor criterii
Tehnici de optimizare
- note de curs -

Ş.l.dr.ing. Florin Ostafi


fostafi@ac.tuiasi.ro
www.ac.tuiasi.ro/~fostafi
2. METODE DE REZOLVARE A
PROBLEMELOR DE
OPTIMIZARE STAłIONARĂ
FĂRĂ RESTRICłII

2.3 Metode de căutare

2.3.1. Aspecte generale privitoare la metodele


de căutare
2.3.2. Proceduri de determinare a
lungimii pasului
 Utilizarea paşilor constanŃi – are multe dezavantaje
 de regulă nu este folosită
 există proceduri la care nu apare θ în mod explicit (altfel zis, θ =1),
distanŃa pe care se face deplasarea fiind dictată de lungimea
vectorului h

 Utilizarea pasului optim (căutare liniară exactă)


 pare a fi cea mai atrăgătoare
 număr mare de evaluări ale funcŃiilor obiectiv → se preferă
procedurile de căutare liniară aproximativă (mai economice)
 există metode de căutare care impun căutări liniare exacte la
fiecare iteraŃie, pentru a preveni eşuarea algoritmului
2.3.2.1. Proceduri de extremizare
unidimensională
 Metode de eliminare unidimensională
 trebuie determinat minimul funcŃiei unimodale f(x) pe [xm,xM]

×  EficienŃa metodei se poate aprecia


× prin indicele:
∆k x k2 − x1k
xm x1 x2 xM Rk = =
∆0 xM − xm
×
× ∆ k = max ( x j − x j − 2 )
1≤ j ≤ k
xm x1 x2 xM  Este de dorit ca procedura să se
desfăşoare astfel încât să se
× ×
minimizeze ∆k şi atunci se ia
 j j −2 
xm x1 x2 xM x − x
Rk = min  max 
 M
− x m 
x1 ,..., x k  1≤ j ≤ k x
Metode de eliminare unidimensională

Procedura perechilor secvenŃiale

 Se recomandă ca
 la fiecare iteraŃie să se aleagă o distanŃă ε = x2 − x1 destul de mică
 unul din puncte să fie mijlocul intervalului

1
R k = k/2
2

k - numărul de evaluări ale funcŃiei f(x) (câte două evaluări la fiecare


iteraŃie)
Metode de eliminare unidimensională

Procedura bazată pe calculul derivatei

x M
+ x m
 Se alege un singur punct în centrul intervalului x 0
=
2
df
şi se calculează dx 0 , eliminându-se acea jumătate a
x=x

intervalului la capetele căruia derivata are acelaşi semn.

1
Rk = ,k - numărul de iteraŃii (de evaluări ale derivatei)
2k
Metode de eliminare unidimensională

 Creşterea eficienŃei metodelor de eliminare unidimensională


⇔ micşorarea numărului de evaluări ale funcŃiei pentru
obŃinerea aceleiaşi precizii
 la fiecare nouă iteraŃie se foloseşte unul din punctele x1 sau x2 de la
iteraŃia precedentă; în felul acesta, la fiecare iteraŃie (cu excepŃia
primeia) se face o singură evaluare a funcŃiei
 alegerea punctelor x1 şi x2 trebuie să se facă după o regulă care să
conducă la o scădere cât mai rapidă a intervalului de incertitudine

 Acestor deziderate le corespund


 metoda Fibonacci
 metoda secŃiunii de aur
Metode de eliminare unidimensională

Metoda Fibonacci ∆ j = ∆ j−1 − δ j , ∆ j = δ j + δ j+1


∆j-1 δj
Notăm σj =
δj εj δj ∆ j−1
x1 j x2 j 1 − σ j+1
xm xM Se arată că σj =
∆j 2 − σ j+1
δj+1 εj+1 δj+1 Pentru ca procedura să fie de tip min-max,
trebuie ca la ultimele evaluări punctul de testare
xm x1j+1 x2j+1 xM să fie cât mai aproape de centrul intervalului:
1
∆j+1 σ N −1 =
2
xm xM N - numărul de evaluări,
N-1 - numărul etapelor
FN −( j+1)
Se demonstrează că σj =
FN−( j−1)
Metode de eliminare unidimensională
 ∆ j −2 − δ j −1 f ( x1j −1 ) ≠ f ( x 2j −1 )
dacă
∆ j −1 = 
 ∆ j −2 − 2δ j −1 f ( x1j −1 ) = f ( x 2j −1 )
dacă
∆ F 1
 Indicele de eficienŃă Rk = k = 0 =
∆ 0 Fk Fk
 δN-1=δN-2=∆N-2/2 - la ultimele două etape se ajunge practic în acelaşi
punct (la jumătatea penultimului interval);
• în felul acesta, ultima etapă este de fapt inoperantă, căci ea conduce în
mod eronat la un punct, în loc de un interval de incertitudine.
 Pentru a aplica algoritmul, trebuie cunoscut N şi acesta se stabileşte
• în funcŃie de lungimea intervalului de incertitudine final sau de RN
• în funcŃie de precizia dorită
• Se adoptă numărul Fibonacci cel mai apropiat astfel încât Rk ≤ Rki ⇒ N

 Algoritmul presupune stabilirea apriorică a lui FN, dar ∆k= ∆0FN-k/FN nu


poate fi întotdeauna precizat de la început, ceea ce constituie un
inconvenient al metodei.
Metode de eliminare unidimensională

Metoda secŃiunii de aur


La pasul j se alege ε j = δ j+1
∆j-1

xm
δj
x 1j
εj

x2j
δj

xM
∆ j−1 = ∆ j + δ j
δ j = ∆ j+1 } ⇒ ∆j−1 = ∆j +∆j+1

}
∆j
∆j
∆ j +1 ∆ j
δj+1 εj+1 δj+1 ⇒ 1= +
∆ j −1 ∆ j ∆ j −1
xm x1j+1 x2j+1 xM ⇒ 1 = s + s2
∆j
=s
∆j+1 ∆ j −1

xm xM ⇒ s = 5 − 1 ≅ 0,618
2
Metode de eliminare unidimensională

RksA
≅ 1,17
RkF

 Metoda secŃiunii de aur are un interval de incertitudine cu circa 17%


mai mare decât metoda Fibonacci
 Dacă se face o evaluare în plus, intervalele de incertitudine sunt
aproximativ egale
2.3.2.1. Proceduri de extremizare
unidimensională
 Metode de interpolare

 Se pune problema determinarea pasului optim θ* astfel încât


min g(θ) = min f (x k + θh k )
θ≥0 θ≥0

 se aproximează g cu o funcŃie mai simplă, al cărei minim se poate


calcula uşor şi se utilizează iterativ o estimaŃie a minimului lui g
 pentru aproximaŃie se alege o funcŃie polinomială de grad doi sau
trei, metoda fiind de interpolare polinomială (pătratică sau cubică)
Metode de interpolare

Interpolarea pătratică
ĝ = c 2 θ 2 + c1θ + c 0 , c 2 > 0

Minimul: θˆ * = −c1 / 2c 2

 Pentru determinarea coeficienŃilor lui ĝ sunt necesare trei valori ale


funcŃiei g în punctele θk, θk-1, θk-2.

1 g (θk −2 )(θk2 − θk2−1) + g (θk −1 )(θk2−2 − θk2 ) + g (θk )(θk2−1 − θk2−2 )


θ =
ˆ*
2 g (θk −2 )(θk − θk −1) + g (θk −1 )(θk −2 − θk ) + g (θk )(θk −1 − θk −2 )

 Această valoare se va considera ca o nouă aproximare θk+1 a


minimului funcŃiei g, procedura repetându-se până la convergenŃă.
 La fiecare iteraŃie, (exceptând prima) se face o singură evaluare a
valorii funcŃiei obiectiv
Metode de interpolare

 Alegerea punctelor de la iteraŃia următoare


 Notăm θi – val. inf., θm – val. medie, θs – val. sup pentru mărimile θ
de la o anumită iteraŃie
 Notăm noua valoare θn = θˆ *
 dacă θn ≤ θm, atunci
• dacă g(θm) ≥ g(θn), atunci minimul funcŃiei este în intervalul (θi, θm) şi la
noua iteraŃie se vor utiliza punctele θi, θn, θm
• dacă g(θm) < g(θn), se aleg ca noi puncte θn, θm, θs
 dacă θn > θm, atunci
• dacă g(θm) ≥ g(θn), atunci noile puncte vor fi θm, θn, θs
• dacă g(θm) < g(θn), atunci noile puncte vor fi θi, θm, θn
 O alegere neconvenabilă a punctelor iniŃiale poate conduce
la anularea numitorului expresiei θˆ *
Metode de interpolare

 Procedură de alegere a punctelor iniŃiale


1. se alege pasul iniŃial δ; se alege θi=0, θ1=δ şi se calculează g(θi) şi
g(θ1);
2. dacă g(θ1)>g(θi), minimul se află într-un punct mai mic ca θ1; se
alege θs=θ1 şi θm=δ/2, se calculează g(θ1) şi g(θi) şi se trece la
pasul (6);
3. dacă g(θ1)≤g(θi), minimul se află în dreapta punctului θ1 şi alege
θm=θ1 şi θ2=θs=2δ şi se calculează g(θ1) şi g(θs) şi se continuă cu
4. dacă g(θ2)>g(θ1), cel de al treilea punct a fost ales convenabil şi se
trece la (6);
5. dacă g(θ2)<g(θ1), minimul nu a fost atins şi se pune θ1=θ2, δ=2δ,
g(θ1)=g(θ2) şi se revine la (2);
6. dacă g(θi)+g(θs)>2g(θm), alegerea punctelor iniŃiale este realizată;
în caz contrar, se pune δ=2δ, θ1=δ, se calculează g(θ1) şi se revine
la (2).
Metode de interpolare

Interpolarea cubică
 Dacă derivata lui g, respectiv gradientul lui f, se pot evalua relativ
simplu, se recomandă interpolarea cubică

gˆ = c3θ 3 + c 2θ 2 + c1θ + c0 ,
 
cu minimul θˆ* =  − c 2 + c 2 − 3c1c3 (3c3 )
2
 

 Determinarea coeficienŃilor lui necesită două valori ale funcŃiei şi


ale derivatei în punctele θk şi θk-1, expresia minimului fiind

g ' (θ k ) + w − z
θˆ* = θ k − (θ k − θ k −1 )
g ' (θ k ) − g ' (θ k −1 ) + 2w

g (θ k ) − g (θ k −1 )
z=3 + g ' (θ k −1 ) + g ' (θ k ) w= z 2 − g ' (θ k −1 ) g ' (θ k )
θ k − θ k −1
2.3.2.1. Proceduri de extremizare
unidimensională
 Determinarea analitică a pasului optim

 Pasul optim se determină din condiŃiile de minim

dg( x k + θh k )
=0

d2g
>0 în θ*
dθ2
2.3.2.2. Proceduri de căutare liniară
aproximativă
 Dezavantaj proceduri de căutare liniară exactă (de
determinare a pasului optim) - număr mare de evaluări ale
funcŃiei obiectiv la fiecare iteraŃie
 De multe ori se preferă alegerea unui pas care să asigure
doar scăderea funcŃiei, fără a implica atingerea minimului
pe direcŃia aleasă
 regula lui Armijo: este acceptabilă valoarea pasului θ care satisface
condiŃiile

g(θ) ≤ g(0) + θεg ' (0) si g(ηθ) ≤ g(0) + ε ηg ' (0)

g(θ) = f(x k + θh k )
θ < ε <1 şi η>1; obişnuit se folosesc valorile ε = 0,2 şi η = 2
2.3.2.2. Proceduri de căutare liniară
aproximativă
g

g(0)
εηθg’(0)

εθg’(0)

g’(0)

θa θb θu θ

 FuncŃia g(θ) are un minim pentru θ>0 ⇒ panta curbei în g(0) este
negativă.
 CondiŃiile anterioare definesc o condiŃie acceptabilă între θa şi θb.
2.3.2.2. Proceduri de căutare liniară
aproximativă
Algoritm
 se iniŃializează o valoare oarecare θ > 0;
 se calculează g(θ) şi dacă g(θ) ≤ g(0)+ εθg’(0), se creşte θ punând
ηθ; se repetă procedura până când inegalitatea este satisfăcută,
adoptând valoarea precedentă pentru θ;
 dacă g(θ) = g(0)+ εθg’(0) nu este îndeplinită pentru valoarea iniŃială
θ, se micşorează aceasta punând θ/η şi se repetă procedura până
când se găseşte un θ care satisface condiŃia.
2.3.3. Metode de gradient
 Metodele sunt aplicabile în cazul în care f(x) este
derivabilă în raport cu toate argumentele
 Metodele de gradient sunt metode de ordinul al II-lea, la
care se folosesc derivatele de ordinul I ale funcŃiei
 Formula iterativă

x k +1 = x k − θ k r k

r k = ∇f (x k )
 Metoda mai este denumită a celei mai abrupte coborâri
 DirecŃia de căutare nu conduce, de regulă, către minimul
funcŃiei şi chiar folosirea ei în cadrul unei proceduri iterative
nu este prea avantajoasă
2.3.3. Metode de gradient
Metoda gradientului optimal
x k +1 = x k − θk r k , −r k = −∇ f ( x k ) - direcŃia de deplasare

θk - pasul optim pe direcŃia -rk

 θk se determină printr-o procedură de extremizare unidimensională


(de eliminare sau interpolare)
 dacă funcŃia f(x) poate fi aproximată suficient de bine cu o funcŃie
pătratică, atunci poate fi utilizată şi formula de calcul aproximativ

}
∇f (x k ), h k
θ* = −
k
h , H (x )h k k rk , rk
⇒ θ* =
rk , Hkrk
h k = −r k
2.3.3. Metode de gradient
ObservaŃii
 DirecŃiile succesive de deplasare sunt ortogonale

df(xk+1(θ))  df  dxk+1
T
d k +1
= (rk+1)T (xk −θrk ) = −(rk+1)T rk ⇒ r , r =0
k
0= =  k+1 
dθ  dx  dθ dθ 0
f(x)= co nst. x

x0 x2 -r 1

2 0 x1
x -r
2 -r 1
-r
x4
x1
-r 3 x3 (b)
(a)

 Modul de deplasare zig-zagat → dezavantaj


 Deoarece ∇f(x) este foarte mic în apropierea optimului, paşii de
deplasare sunt mici ⇒ apropierea este foarte lentă
 Minimul este atins după un număr infinit de paşi
 ConvergenŃă liniară (ρ=1) – descreştere în progresie geometrică
2.3.3. Metode de gradient
AplicaŃii pentru funcŃii pătratice
1 T
f ( x) = x Qx, x ∈ R n , r = ∇ f ( x) = Qx
2
 CondiŃia de extrem r* = 0 ⇒ x* = 0
 Dacă Q > 0, x* = 0 este punct de minim
 În general, minimul se obŃine după un număr infinit de paşi.
 Atingerea minimului dintr-un singur pas se realizează numai în cazul în care
deplasarea se face pe direcŃia unui vector propriu al matricei Q
 suprafeŃele f(x) = const. sunt elipsoizi cu centrul în origine, direcŃiile
axelor corespunzând vectorilor proprii ai matricei Q
x
−θ*r  dacă punctul de start se află pe o astfel de axă, atunci minimul este
atins dintr-un singur pas
y
 din oricare alte puncte, atingerea minimului se face după un număr
infinit de paşi
−θ-1r  minimul poate fi atins dintr-un singur pas din orice punct dacă
deplasarea se face pe direcŃia −Q-1r cu θ =1
 dacă Q = I, elipsoizii se transformă în sfere şi minimul este atins din
orice punct prin deplasare pe direcŃia inversă gradientului (−r=−Q-1r)
Tehnici de optimizare
- note de curs -

Ş.l.dr.ing. Florin Ostafi


fostafi@ac.tuiasi.ro
www.ac.tuiasi.ro/~fostafi
2.3.4. Metode bazate pe direcŃii
conjugate
Principiu
 fie x0 punctul de start al algoritmului şi x* punctul final de minim
x* = x0 + xs
xs ∈ Rn - vector necunoscut
 xs poate fi exprimat într-o bază oarecare în funcŃie de cele n
componente ale sale ⇒ alegând o bază convenabilă şi făcând
deplasarea din x0 succesiv în lungul axelor acestei baze, există
posibilitatea ca din n paşi să ajungem în x*
• evident este necesară o regulă pentru stabilirea lungimilor paşilor pe
fiecare direcŃie
 O posibilitate de a determina o astfel de bază convenabilă este
utilizarea direcŃiilor conjugate
 Atingerea minimului în n paşi se obŃine numai la funcŃiile pătratice
2.3.4. Metode bazate pe direcŃii
conjugate
DirecŃii conjugate
 Doi vectori x,y∈Rn se numesc conjugaŃi (sau Q-conjugaŃi,
sau Q-ortogonali) dacă x, Qy = 0, Q ∈ R n×n

 Construirea unui set de vectori Q- conjugaŃi (proceduri de


tip Gram-Schmidt)
 fie setul de vectori liniar independenŃi v1,...,vn
k
k +1 k +1
 se construiesc vectorii u1,...,un conjugaŃi u =ν + ∑ a kju j
j=1

 se impune condiŃia ca uk+1 să fie conjugat cu toŃi vectorii uj, j= 1,...,k


ν k +1 , Qu j
0 = u k +1 , Qu j = ν k +1 , Qu j + a kj u j , Qu j ⇒ a kj =
u j , Qu j
2.3.4. Metode bazate pe direcŃii
conjugate
DirecŃii conjugate

 Se demonstrează că n vectori n - dimensionali conjugaŃi


sunt liniar independenŃi şi deci pot forma o bază

 Folosind vectorii Q-conjugaŃi, se poate exprima matricea Q-1

n −1
−1 pi piT
Q =∑
i =0 pi , Qpi
2.3.4. Metode bazate pe direcŃii
conjugate
Metoda direcŃiilor conjugate
k+1 k k
x = x + θkp
 pk sunt vectorii care dau direcŃiile de deplasare şi se aleg
Q-conjugaŃi
 Paşii de deplasare se aleg optimi pe direcŃiile respective
 Precizia de stabilire a direcŃiilor conjugate este
dependentă de cea cu care se calculează paşii optimi ⇒
metoda impune o precizie ridicată în aplicarea procedurii
de căutare liniară exactă
Metoda direcŃiilor conjugate
Algoritm

1. se alege un punct iniŃial x0 şi o direcŃie iniŃială p0 oarecare


admisibilă, eventual p = −∇ f ( x )
0 0

2. se calculează punctul următor cu x k +1 = x k + θ k p k


3. se calculează noua direcŃie de deplasare pk+1, conjugată cu
direcŃiile de deplasare precedente
4. se repetă etapele (2) şi (3) până la îndeplinirea unui criteriu
de stop
Metoda direcŃiilor conjugate

 În cazul funcŃiilor obiectiv pătratice, minimul se atinge după


n paşi, deci algoritmul se opreşte după n iteraŃii
 Dacă funcŃia este oarecare (nepătratică), minimul nu este
atins după n paşi
 convergenŃa este destul de rapidă, mai ales dacă funcŃia respectivă
se aproximează suficient de bine cu una pătratică

 Pentru a evita o serie de erori de aproximare, se


recomandă ca după iteraŃia a n-a algoritmul să se reia de la
capăt, reiniŃializându-l din punctul atins la a n-a iteraŃie
Metoda direcŃiilor conjugate
 În cazul funcŃiilor pătratice metoda direcŃiilor conjugate
conduce în n paşi în punctul de minim
DemonstraŃie
n −1 1 T
x * = x + x , x* = x +
0 s 0
∑θ i p i f ( x) = x Qx + b T x + γ ⇒
i =0
2

}
}
∇ f ( x) = Qx + b ⇒ ∇ f ( x0 ) = Qx0 + b
⇒ x* = x 0 − Q −1∇ f ( x 0 )
∇ f ( x*) = Qx * +b = 0
n −1
−1 pi piT ⇒
Q =∑
i i
i =0 p , Qp

n −1
pp i iT n −1 pi ,∇f (x0 ) ∇f (x0 ), pi
⇒ x* = x0 − ∑ ∇f (x 0 ) = x 0 − ∑ pi ⇒ θi =−
i i i i
i =0 p , Qp i =0 p , Qp pi , Qpi
Metoda direcŃiilor conjugate

∇f (x0 ), pi = ∇f (x 0 ) − ∇f (x1 ) + ∇f (x1 ) − ... − ∇f (xi ) + ∇f (xi ), pi

x i+1 i
= x + θip i
⇒ ∇f ( x i +1
) − ∇f (x ) = θi Qp
i i
} ⇒


∇f (x0 ), pi = −θ0Qp0 − θ1Qp1 − ... − θi −1Qpi −1 + ∇f (xi ), pi
pi – Q-conjugaŃi } ⇒

}
∇f (x0 ), pi = ∇f (xi ), pi
∇f (xi ), pi
∇f (x0 ), pi ⇒ θi = −
θi = − pi , Qpi
i i
p , Qp
Metoda direcŃiilor conjugate
 ObservaŃii
 calcularea direcŃiilor conjugate în cadrul acestei proceduri se
realizează pe baza algoritmului de tip Gram-Schmidt
 formula
ν k +1 , Qu j
a kj =
u j , Qu j
prezintă neajunsul prezenŃei matricei Q
• în problemele de minim, aceasta corespunde matricei Hessian şi
utilizarea ei ar prezenta o complicaŃie majoră (procedura nu apelează
la derivatele de ordinul doi).
 Eliminarea acestui neajuns se poate realiza printr-o transformare a
formulei
Metoda direcŃiilor conjugate
 Eliminarea neajunsului prezenŃei matricei Q se poate
realiza printr-o transformare a formulei de calcul a
coeficienŃilor akj

} }
ν k +1 , Qu j
a kj = j
u , Qu j
⇒ α kj =
ν k +1
, Qp j
p Qν
jT
= jT j =
k +1
(
x − x Qν k +1 j+1
)
j T

( )
T
p j , Qp j p Qp x j+1 − x j Qp j
u =p
j j ⇒

j+1
Notez y j = r j+1 − r j . La funcŃii pătratice y = Q(x
j
− xj)
y jT ν k +1
⇒ α kj =
y jp j
2.3.4. Metode bazate pe direcŃii
conjugate
Metoda gradienŃilor conjugaŃi
 Metodă derivată din metoda direcŃiilor conjugate

 Varianta Fletcher – Reeves:

x k+1 = x k + θ k p k

 pk sunt direcŃii conjugate, iar θk sunt paşi optimi pe aceste direcŃii


 prima direcŃie se alege p 0 = −∇f ( x 0 ) = −r 0
 celelalte direcŃii se aleg p k = -r k + β k-1p k-1
 βk-1 se stabilesc din condiŃia ca pk şi pk-1 să fie conjugaŃi
r k , Qp k −1
0 = p k , Qp k −1 = -r k , Qp k −1 + βk −1 p k −1 , Qp k −1 ⇒ βk −1 =
p k −1 , Qp k −1

• dezavantaj - impune cunoaşterea hessianului Q


Metoda gradienŃilor conjugaŃi

}
r k , Qp k −1 k r k - r k-1
βk −1 = r ,
p k −1
, Qp k −1 θk-1 r k , r k - r k , r k-1
⇒ βk-1 = =
k k-1
k-1r -r pk-1, r k - pk-1, r k-1
∇f (xi +1 ) − ∇f (xi ) = θi Qpi p ,
θk-1 ⇒

r k , r k-1 = 0, p k-1 , r k = 0

}
rk , rk
⇒ βk-1 = rk , rk
- pk-1, rk-1 ⇒ βk-1 =
rk-1, rk-1
k-1 k-1 k-1 k-1 k-2 k-1 k-1
p ,r = r ,-r + β k-2p =- r ,-r

 minimul se atinge după n paşi pentru funcŃii pătratice


 în cazul funcŃiilor oarecare se recomandă o reiniŃializare
după fiecare n iteraŃii
2.3.5. Metode de tip Newton-
Raphson
 Metode de ordinul al III-lea
 apelează şi la calculul derivatelor de ordinul al doilea ale funcŃiei
obiectiv (se presupune că aceste derivate există şi sunt continue)
 Efectuarea calculelor suplimentare este compensată de o
rapiditate mare a convergenŃei
 La baza tuturor procedurilor din această categorie stă
metoda Newton-Raphson
2.3.5. Metode de tip Newton-
Raphson
Metoda Newton-Raphson
 Denumirea procedurii vine de la metoda de rezolvare a sistemelor
de ecuaŃii, care aici se aplică referitor la condiŃia de anulare a
gradientului
 Aproximarea gradientului prin dezvoltare în serie Taylor
∇f (x k +1 ) = ∇f (x k ) + H ( x k )(x k +1 − x k )

 Considerăm că noul punct este chiar punctul staŃionar


∇f (x k +1 ) = 0

Dacă notăm
⇒ x k +1 = x k − H −1 ( x k )∇f ( x k )

p k +1 = x k +1 -x k } ⇒ H k p = −r
k k

• SoluŃia pk pentru se numeşte direcŃie Newton


2.3.5. Metode de tip Newton-
Raphson
Metoda Newton-Raphson
 În cazul funcŃiilor pătratice, din orice punct s-ar porni, se ajunge în
punctul staŃionar (minim dacă Q>0) dintr-un singur pas
1 T −1
x Qx + b T x+γ, ∇ f ( x) = Qx + b ⇒ x = −Q b, H ( x) = Q
*
f (x) =
2
Conform procedurii N-R
x1 = x0 − Q −1 (Qx0 + b ) ⇒ x1 = −Q1b=x*

 În cazul altor funcŃii obiectiv, minimul nu este atins dintr-un singur


pas, însă convergenŃa este rapidă
 Se demonstrează că metoda are o convergenŃă pătratică (ordin de
convergenŃă 2) → metoda cu cea mai rapidă convergenŃă
 Dezavantaje
• convergenŃa nu este asigurată decât în cazurile în care H(x)>0
• calcularea matricei Hessian şi a inversei acesteia conduce la creşterea
volumului de calcule
2.3.5. Metode de tip Newton-
Raphson
Încercări de ameliorare a metodei N-R

 Modificări ale metodei N-R


 urmăresc asigurarea convergenŃei şi apelează fie la un pas θ ≠ 1 în
formula iterativă, fie la utilizarea unei matrice pozitiv definite în locul
matricei H
 Metode de tip regiune de încredere
 constau în aproximarea secvenŃială a funcŃiei obiectiv cu o funcŃie
pătratică şi utilizarea procedurii N-R pentru această aproximare
• această aproximare este acceptabilă doar într-un domeniu restrâns
(regiunea de încredere) din jurul punctului considerat
 Metode combinate
 utilizează tehnici de tip N-R şi proceduri cu convergenŃă sigură, dar
mai lente
2.3.5. Metode de tip Newton-
Raphson
Încercări de ameliorare a metodei N-R

 Metode cvasi – Newton


 merg pe ideea de a aproxima matricea H sau inversa acesteia,
aproximare care să asigure şi condiŃia de pozitivitate
 la aceste proceduri nu se calculează derivatele de ordin doi ale
funcŃiei obiectiv
• din acest punct de vedere, metodele respective sunt de ordinul al II-lea
• totuşi ele sunt strâns legate de metoda N-R din care provin
2.3.5. Metode de tip Newton-
Raphson
Modificări ale metodei Newton-Raphson
 Metoda Newton modificată - procedură care asigura
convergenŃa, păstrând totodată direcŃia Newton
 DirecŃia de deplasare h k = -H1 ( x k )∇ f ( x k )
 Nu foloseşte pasul unitar pe această direcŃie, ci un pas oarecare θ
k +1
care să asigure descreşterea funcŃiei în x = x + θk h
k k

• de obicei se calculează θk ca pas optim pe direcŃia hk


• prin aceasta se asigură convergenŃa procedurii şi se menŃine viteza de
convergenŃă foarte ridicată
• rămâne dezavantajul necesităŃii de a calcula matricea Hessian
2.3.5. Metode de tip Newton-
Raphson
Modificări ale metodei Newton-Raphson
 Alte metode Newton modificate - proceduri a căror idee
este de a înlocui matricea Hk = H(xk) cu o matrice Gk care
să fie legată de Hk şi să îndeplinească condiŃia Gk > 0
 determinarea la fiecare iteraŃie a pozitivităŃii matricei Hk se
realizează de obicei pe baza unei factorizări a matricei (LDLT )
G k = LDLT = H k + Ek
• L este o matrice inferior triunghiulară cu elementele lij, iar D este
matrice diagonală (D=diag(d1,...,d2));
• se demonstrează că toŃi di > 0 dacă şi numai dacă Gk > 0
• factorizarea LDLT este posibilă numai dacă Gk este pozitiv definită
• Ek se ia o matrice diagonală, cu elemente nenegative pe diagonală,
alese astfel ca Gk > 0
2.3.5. Metode de tip Newton-
Raphson
Modificări ale metodei Newton-Raphson
 O altă cale de a modifica metoda N-R este de a înlocui
matricea Hk cu Gk= Hk+λkI, cu λk>0 şi suficient de mare
pentru a obŃine Gk > 0.
 dezavantaj; se modifică şi acele elemente de pe diagonala lui Hk ce
puteau fi păstrate
 Un alt tip de modificare se bazează pe descompunerea
H k = Pk Λ k PkT , Λ k = diag(λ1 ,..., λ n ), λi , i = 1,n - valori proprii ale Hk
Pk - matrice ortogonală; coloanele sunt vectorii proprii pentru Hk
 Se înlocuieşte Λ cu Λ = diag(λ i ), unde λi = max { λ i ,δ} , δ>0 şi atunci
G k = Pk Λ k PkT
• se obŃine o inversare a direcŃiilor de căutare necorespunzătoare
• dezavantaj - necesitatea calculării valorilor proprii λi
2.3.5. Metode de tip Newton-
Raphson
Metode combinate
 O primă posibilitate - la primele iteraŃii se foloseşte metoda
gradientului (convergentă pentru categorii foarte largi de
funcŃii, dar lentă), iar ulterior se trece la metoda N-R
 De regulă, în apropierea punctului de minim, metoda N-R este
convergentă, însă în punctele mai depărtate este posibil ca să nu
fie asigurată această proprietate
• este realizată convergenŃa locală, dar nu şi cea globală).
 Dezavantaj - comutarea de la un algoritm la altul,
• este dificil de stabilit un criteriu precis care să determine comutarea
 O altă modalitate de a combina metoda gradientului
optimal (Cauchy) şi metoda N-R este de a realiza un pas
care să reprezinte o combinaŃie între pasul Cauchy pC şi
pasul Newton pN
 Există algoritmi, cum ar fi Levenberg-Marquard, la care pasul
rezultat este mai apropiat iniŃial de pC, iar apoi de pN
Tehnici de optimizare
- note de curs -

Ş.l.dr.ing. Florin Ostafi


fostafi@ac.tuiasi.ro
www.ac.tuiasi.ro/~fostafi
2.3.6. Metode de tip cvasi-Newton
 Principiu
 Se aproximează succesiv matricea Hessian sau inversa ei,
căutându-se totodată să se asigure pozitivitatea acestor aproximaŃii
 RelaŃia de bază a algoritmilor din această categorie
x k +1 = x k − θk G k r k
 θk - se stabileşte printr-o căutare liniară exactă
 Gk este aproximarea la iteraŃia k pentru inversa H-1
 pk=-Gkrk - direcŃia de căutare

}
 schimbarea gradientului se poate aproxima cu formula
r k +1 − r k = H k +1 ( x k +1 − x k )
 notăm
k k+1 k ⇒ G k +1 y k = p k - condiŃie cvasi-Newton
p =x -x
y k = r k+1 - r k
2.3.6. Metode de tip cvasi-Newton
 Primele metode din această categorie s-au bazat pe aproximările şi
relaŃiile anterioare
 Implementările ulterioare au apelat şi la aproximarea succesivă Bk a
matricei Hessian, direcŃia de căutare pk determinându-se ca soluŃie a
sistemului liniar
B k p k = −r k
 CondiŃia cvasi-Newton devine în acest caz B k +1p k = y k
 Principalul avantaj
 aproximările matricei Hessian sau ale inversei acesteia nu se obŃin prin
calcularea derivatelor de ordinul doi, ci se bazează doar pe cunoaşterea
valorilor funcŃiei şi gradientului ⇒ metodele cvasi-Newton sunt metode de
ordinul II
 Avantajul menŃionat conduce la reducerea substanŃială a volumului de
calcule la fiecare iteraŃie, dar prin aceasta se diminuează şi viteza de
convergenŃă, care aici este supraliniară
2.3.6. Metode de tip cvasi-Newton
Metoda DFP (Davidon-Fletcher-Powell)
 dacă dispunem de o aproximare G'k a matricei simetrice Q-1 pe
subspaŃiul corespunzător bazei date de vectorii Q-conjugaŃi
d0,d1,...,dk-1
k −1 di diT
G 'k = ∑ i i
,
i = 0 d , Qd

se poate obŃine aproximarea pe un subspaŃiu k+1 dimensional


d k d kT
G 'k +1 = G 'k + k
d , Qd k
 se aleg ca direcŃii conjugate direcŃiile pk=xk+1-xk
 ObservaŃie: pentru o funcŃie obiectiv oarecare, hessianul se
modifică de la o iteraŃie la alta ⇒ nu se poate asigura Q-conjugarea
vectorilor;
• raŃionamentul se va limita la funcŃii pătratice, procedura extinzându-se
şi la alte funcŃii
Metoda DFP

 Se impune condiŃia de conjugare a direcŃiilor pk sub forma


p k p kT
G k +1 = G k + Dk + Ck , Dk = kT k
p Qp
 Ck - matrice de corecŃie care să asigure Q-conjugarea vectorilor pk
 Dacă vectorii pk sunt conjugaŃi
Q −1 = G k +1 ⇒ G k +1Q = I ⇒ G k +1Qp = p
k k

}
⇒ ( G k + Ck ) Qp = 0
k

 la funcŃii pătratice ⇒ ( G k + Ck ) y k =0 (*)


y k = r k +1 − r k = Qp k
 soluŃie posibilă pentru (*) este

Ck =
( G y )( G y )
k
k
k
k T

y kT G k y k
Metoda DFP

 Este util ca în formulele care se obŃin să nu apară matricea


Q (care corespunde, în fond, matricei Hessian)

}
p k p kT
Dk = kT k
p Qp p k p kT
⇒ Dk = kT k
y p
y = Qp
k k
Metoda DFP

Algoritm
1. se realizează iniŃializarea x0, G0>0 (se recomandă G0=I, prima
direcŃie fiind atunci direcŃia gradientului), se pune θ0=1 (sau se
poate determina θ0 prin căutare liniară exactă); se calculează r0;

2. dacă criteriul de stop nu este satisfăcut se trece la etapa (3);

3. se determină pasul optim θk pe direcŃia Gkrk;

4. se calculează x k +1 = x k − θk G k r k ; se determină rk+1, p = x - x


k k+1 k

şi y k = r k+1 - r k ;
( G k y k )( G k y k )
T
p k p kT
5. se determină Ck = ,Dk = kT k , G k +1 = G k + Dk + Ck
y kT G k y k y p
6. se pune k ←k+1 şi se revine la (2).
Metoda DFP

ProprietăŃi ale algoritmului DFP


 Dacă G0>0 simetrică, şirul {Gk} este format din matrice
simetrice pozitiv definite
 Dacă G0=I şi funcŃia obiectiv este pătratică cu matricea
Hessian Q, atunci vectorii p0,p1,p2,...., determinaŃi prin
algoritmul DFP sunt Q-conjugaŃi şi matricea Gk stabilită în
subspaŃiul determinat de p0,p1,...,pk-1 este egală cu Q-1
 Matricele care intervin în calcule au următoarele proprietăŃi:
n −1 n −1
−1
∑ Ck = −G 0 , ∑ Dk = Q
k =0 k =0

 termenii Ck tind să corecteze iniŃializarea G0, iar termenii Dk tind


către Q-1
Metoda DFP

 ProprietăŃile menŃionate ale algoritmului DFP sunt valabile


numai pentru funcŃii obiectiv pătratice
 Pentru funcŃii obiectiv generale aceste proprietăŃi nu mai
sunt valabile, dar algoritmul prezentat asigură o bună
convergenŃă (supraliniară) dacă sunt îndeplinite anumite
condiŃii:
 se calculează exact la fiecare pas gradienŃii şi mai ales lungimile
paşilor optimi;
 matricea Gk nu devine singulară; pentru a preveni această situaŃie:
• se reiniŃializează algoritmul (se face Gk=G0=I)
• această reiniŃializare se recomandă a fi făcută după fiecare n paşi
• o bună scalare poate evita tendinŃa de singularizare a matricei G,
recomandându-se în acest sens să se adopte
|| p 0 || ≈ || y 0 ||
Metoda DFP

Algoritmul DFP:

i. Satisface condiŃia cvasi-Newton G k +1 y k = p k


ii. Generează o secvenŃă de matrice pozitiv definite
iii. Generează un set de direcŃii conjugate care aproximează
Q-1(x), astfel ca G n = H −1 = Q −1 pentru funcŃii pătratice
• în felul acesta, pentru astfel de funcŃii, după n iteraŃii, direcŃia calculată
coincide cu direcŃia Newton, ceea ce garantează convergenŃa metodei
în n+1 iteraŃii
2.3.6. Metode de tip cvasi-Newton
Alte proceduri cvasi-Newton
 Broyden: formula DFP face parte dintr-o familie
dependentă de un parametru ϕ ∈[0,1], care are aceleaşi
proprietăŃi (i)÷(iii) ca şi metoda DFP
T
k kT
pp k kT
Gky y Gk  p Gky   p
k k
Gky 
k k
Gk+1 = Gk + k kT
− kT
+ϕky Gky  kT k − kT
kT k
  kT k − kT 
py y Gkyk k
p y y Gky  p y y Gky 
k

−(p y k )
kT
ϕk > → asigură menŃinerea pozitivităŃii
(y k G k y k )(p k G −k1p k ) − (p k y k ) 2
T T T
secvenŃelor Gk

 ϕk = 0 ⇒ DFP
 ϕk=1 ⇒ algoritmul BFGS (Broyden, Fletcher, Goldfarb, Shanno)
Alte proceduri cvasi-Newton
Dixon a demonstrat proprietatea:
iv. generează aceeaşi secvenŃă de puncte {xk} care
minimizează f(x)
 teste multiple indicaseră că algoritmul DFP şi mai ales BFGS sunt
superiori altor algoritmi din familia Broyden
 diferenŃele care apar de obicei se datorează inacurateŃei căutării
liniare şi erorilor de rotunjire
 se pare că algoritmul BFGS este mai puŃin sensibil la aceşti
factori şi, ca atare, la acesta apare mai rar tendinŃa de pierdere a
pozitivităŃii matricei G
Alte proceduri cvasi-Newton
 Se pot formula algoritmi suimilari care realizează aproximarea
succesivă Bk a matricei H, la care direcŃia de căutare pk este
soluŃie a ecuaŃiei B k p k = −r k
 metodele care aprox. H-1 - O(n2); metodele care aprox. H - O(n3)
 dacă în locul hassianului se actualizează factorii Cholesky sau ai
descompunerii LDLT ai lui B ⇒ O(n2)
 apare avantajul verificării relativ simple a pozitivităŃii matricelor Bk şi al
posibilităŃii de corijare în cazuri nefavorabile
k kT k kT k k
y B p
y y Bkp p Bk
B k +1 = B k + k T k − k T + ψ b b , b = kT k − kT , ψ k ∈ [0,1]
T T k
k k k k
k k p B k p k
p y p Bkp p y p Bk p
 pentru ψk = 0 → BFGS; pentru ψk =1 → DFP
kT k
 pozitivitatea B se menŃine dacă p y > 0 (întotdeauna satisfăcută în
cazul căutării liniare exacte) şi dacă
−(p y k ) 2
kT
ϕk >
(y k B k y k )(y k B −k1y k ) − (p k y k ) 2
T T T
Alte proceduri cvasi-Newton
 S-au făcut cercetări pentru stabilirea unor algoritmi din
această clasă care să nu impună determinarea exactă a
pasului optim
( )( )
T
pk -G yk pk -G yk
În acest sens, Powell a propus formula Gk+1 = Gk +
k k

 Este satisfăcută condiŃia cvasi-Newton (
k k T k
p -Gk y y )
 Formula impune ca vectorii p0,p1,...,pn-1 să fie liniar independenŃi şi
nu conjugaŃi
• calcul cu precizie mai scăzută a pasului de deplasare
 Pentru algoritmii din familia Broyden se poate renunŃa la
căutarea liniară exactă, asigurându-se totuşi o convergenŃă
a matricelor Bk spre H
 Se pierde proprietatea Bn = H, dar se obŃine un câştig de eficienŃă
 Deplasările pe direcŃiile pk trebuie realizate astfel încât să se
asigure scăderea funcŃiei şi această scădere să fie semnificativă
Alte proceduri cvasi-Newton
 ConvergenŃa acestor proceduri a fost demonstrată iniŃial
pentru funcŃii pătratice
 Powell a demonstrat:
 convergenŃa algoritmului DFP pentru funcŃii convexe în cazul
utilizării paşilor optimi
 în cazul căutării liniare aproximative, secvenŃele fk tind spre f(x*) în
aceleaşi condiŃii ca şi în cazul căutării liniare exacte
 ConvergenŃa algoritmilor din familia Broyden a fost
demonstrată în condiŃia că x0 este suficient de apropiat de
x* (convergenŃă locală)
 Rata de convergenŃă a algoritmilor din această categorie
este supraliniară
2.3.7. Metode de căutare directe
 Se apelează doar la calculul valorilor funcŃiei obiectiv
 ConvergenŃa lentă, calcule simple la fiecare iteraŃie
 Metodele se pot aplica şi în cazul funcŃiilor nederivabile,
sau atunci când derivatele se calculează cu mare dificultate
 Clasificare
 metode iterative - se stabilesc puncte din ce în ce mai apropiate de
minim:
• algoritmul Gauss-Seidel, algoritmul Hooke şi Jeeves, algoritmul
Rosenbrock, algoritmul Powell
 metode iterative folosind poliedre:
• algoritmii SIMPLEX şi COMPLEX
2.3.7. Metode de căutare directe
Algoritmul Gauss-Seidel
x k+1 = x k + θ k d k

 dk sunt vectorii unitari corespunzător axelor de coordonate

d j-1 = [0...0 1 0...0]T , j = 1,..., n


( j)
 după ce se încheie un ciclu în care s-au făcut deplasări după toate
axele, acesta se reia cu dn = d0, dn+1 = d1,...
 pasul θk - pas de descreştere a funcŃiei obiectiv sau pas optim
Algoritmul Gauss-Seidel
 Exemplu de eşec - se atinge direcŃia principală a "văii" şi
orice deplasare ulterioară în lungul oricărei axe nu mai
conduce la scăderea valorii funcŃiei
x2
 Evitare – deplasările în lungul axelor
f(x)=ct.
se combină cu deplasări diagonale;
x* • exemplu: după fiecare ciclu de n
deplasări în lungul axelor, se execută o
deplasare pe direcŃia care uneşte
primul cu ultimul punct al ciclului

x1
2.3.7. Metode de căutare directe
Algoritmul Rosenbrock
 Deplasările se fac după direcŃii ortogonale. La fiecare ciclu:
a) Se porneşte de la x0 al ciclului şi se stabilesc direcŃiile formate din n vectori
unitari ortogonali d1,...,dn;
• la primul ciclu, d1,...,dn corespund axelor;
• la ciclurile următoare se stabilesc prin procedeu Gram-Schmidt.
j j-1 j
b) Se calculează x = x + λ jd
• dacă f( x j+1 ) < f( x j ) pasul este considerat succes şi λ j ← αλ j , α > 1
• dacă f( x j+1 ) > f( x j ) pasul este considerat insucces, se revine la xj şi se efectuează
un pas în sens invers, punând λ j ← βλ j , −1 < β < 0
• Obs.: într-o altă variantă a procedurii se stabilesc noile puncte prin deplasări cu paşi
optimi pe direcŃiile respective
c) Se repetă etapa (b) pentru toate direcŃiile j = 1,2,...,n, considerând succes
pasul în care f (x j−1 + λ jd j ) < f (x j−1 )
d) Se reiau etapele (b) şi (c) până când, pe fiecare direcŃie, un succes este urmat
de un insucces sau | λ j |< ε
 Ultimul punct al ciclului xc devine punct iniŃial pentru ciclul următor, la care
prima direcŃie este cea care uneşte x0 cu xc
 Avantajul: la fiecare ciclu, direcŃiile de deplasare tind să se orienteze spre
direcŃia principală a "văii"
2.3.7. Metode de căutare directe
Algoritmul Powell
 DirecŃiile de deplasare în cadrul unui ciclu sunt conjugate
 se demonstrează că, pentru funcŃii pătratice, după n cicluri
direcŃiile obŃinute sunt conjugate
 Algoritmul:
 Se alege punctul iniŃial x0 şi direcŃiile de deplasare dj=ej, j=1,2,...,n,
cu e j =[0,...0,1,0...,0]T , deci paralele cu axele
 Se determină pasul optim θ*j pe direcŃiile dj, j=1,...,n şi se
calculează x j =x j-1 +θ*j d j , j=1,...,n
 Se ia noua direcŃie d=xn−x0 şi se înlocuiesc direcŃiile d1,...,dn cu
d2,...,dn,d, care apoi se renotează ca d1,...,dn
Se determină θ care asigură min (x +θ d ) şi se înlocuieşte x0 cu
n n

n n θ
0
x +θd . Cu acest nou x , se revine la etapa (c), începând astfel
un nou ciclu
 Rata de convergenŃă este apropiată de cea pătratică, mai
ales în apropierea punctului de minim
2.3.7. Metode de căutare directe
Algoritmul SIMPLEX
 Se porneşte de la o configuraŃie de puncte numită simplex
 sub denumirea de SIMPLEX este mult mai cunoscută metoda de
rezolvare a problemelor de programare liniară
 Se porneşte de la n+1 puncte care alcătuiesc vârfurile unui
hiperpoliedru regulat, de obicei având un vârf (x1) în origine.
Coordonatele celorlalte puncte sunt
x2 =[ c1 c2 c2 ... c2 ] ,...,xn+1 =[ c2 c2 c2 ... c1]
T T

c1 =
n
a
2
( )
n + 1 + n − 1 , c2 =
n
a
2
( )
n +1 −1

 Se calculează f(xj), j=1,...,n+1 şi se notează cu xm şi xM punctele


în care f(x) are cea mai mică şi respectiv cea mai mare valoare
 Se înlocuieşte la fiecare iteraŃie xM cu un punct mai favorabil,
obŃinându-se o altă configuraŃie de n+1 puncte, pentru care se
repetă procedura, până la îndeplinirea unui criteriu de stop
Algoritmul SIMPLEX
Algoritm:
1  n +1 j  
 Se calculează x G
=  ∑x − x  M
n + 1  j =1  
  
R G G M
 Se face o reflectare a punctului xM prin xG: x =x + α (x -x ), α > 0
 Dacă f(xR)≤f(xm), există premise ca direcŃia reflexiei să fie favorabilă
şi se încearcă a extindere a acesteia x E =x R +γ(x R -x G ), γ >1
• Dacă f(xE)≤f(xm), extinderea este favorabilă şi se înlocuieşte xM cu xE şi
se reiau calculele pentru noul poliedru
• Dacă f(xE)>f(xm), se înlocuieşte xM cu xR şi se reiau calculele
 Dacă f(xR)>f(xm)
• Dacă există cel puŃin un xk astfel încât f(xR)<f(xk)<f(xM) se înlocuieşte xM
cu xR şi se reiau calculele cu noul poliedru
• Dacă f(xR)≥f(xj), pentru orice xj exceptând xM, se efectuează o contracŃie
x c =xG +β(x M -xG ), β ∈ (0,1) , se înlocuieşte xM cu xc şi se reiau calculele
 Dacă însă reflexia este total nefavorabilă (f(xR)>f(xm)), se face o
reducere a întregului domeniu explorator, punând
x j ← x m +0,5(x j -x m ), j=1,...,n+1 şi se reiau calculele
Algoritmul SIMPLEX
 Pentru coeficienŃi se pot adopta valorile:
α = 1, β = 0,5 , γ = 2
 Dacă α =1, cât timp se fac doar extinderi sau contractări,
poliedrul se menŃine regulat; în caz contrar, el îşi pierde
forma regulată.
 Drept criteriu de stop se poate folosi şi criteriul specific
acestui algoritm
1 n +1
∑ f ( x j
) − f ( x G
) ≤ε
n + 1 j =1
Tehnici de optimizare
- note de curs -

Ş.l.dr.ing. Florin Ostafi


fostafi@ac.tuiasi.ro
www.ac.tuiasi.ro/~fostafi
METODE ANALITICE DE
REZOLVARE A
PROBLEMELOR DE
OPTIMIZARE STAłIONARĂ
CU RESTRICłII
2. METODE ANALITICE DE REZOLVARE A
PROBL. DE OPT. STAł. CU RESTRICłII
 Fiind dată funcŃia f (x) : X ⊂ R n → R , se cere determinarea
punctului x* pentru care se obŃine min f( x), cu respectarea
x
restricŃiilor
h i (x) = 0, i = 1, ℓ , ℓ < n, g j (x) ≤ 0, j = 1, m ,

unde hi(x) şi gj(x) sunt funcŃii scalare dependente de variabila


vectorială x
 Problema enunŃată este o problemă de programare matematică,
numită şi problemă de optimizare staŃionară
 Problemele cu restricŃii inegalitate sunt reductibile la cele cu
restricŃii egalitate, dacă se introduc variabilele suplimentare vj cu
2
relaŃiile g j (x) + v j = 0
 Procedeul nu este des folosit deoarece presupune o complicare a
calculelor datorită variabilelor suplimentare
CLASIFICARE
 Metode de substituŃie
 Metode de explorare şi eliminare
 asemănătoare cu cele de la problemele fără restricŃii
 Metode analitice
 bazate pe metoda multiplicărilor Lagrange pentru probleme cu
restricŃii egalitate şi pe extinderea acesteia la metoda Kuhn-Tucker
în cazul restricŃiilor inegalitate
 procedurile cele mai generale - stau la baza altor tipuri de proceduri
 introducerea multiplicatorilor Lagrange-Kuhn-Tucker permite
transformarea problemelor respective în probleme fără legături
 Metode de căutare
 proceduri iterative, în care se stabilesc aproximări tot mai bune
pentru minimul x*
 apelează la metodele de căutare a extremului liber şi la rezultatele
metodelor analitice
3.1. Metode analitice pentru probleme
cu restricŃii de tip egalitate
Principiu
 Se introduc unele variabile suplimentare - multiplicatori
Lagrange - şi problema se reduce la una de extrem liber
 Se va presupune că toate funcŃiile care intervin au derivate
de ordinul unu continue pe întregul domeniu care prezintă
interes
3.1. Metode analitice pentru probleme
cu restricŃii de tip egalitate
Teorema multiplicatorilor Lagrange
 T1. Fie funcŃiile scalare f(x), hi(x), i = 1,...,ℓ, ℓ<n, definite pe
Rn, cu derivatele de ordinul unu continue pe X ⊂ Rn şi S ⊂ X
submulŃimea definită
S = {x; x ∈ X, h i (x) = 0, i = 1,..., ℓ)}

Presupunem că x*∈S şi există o vecinătate V(x*) astfel încât


f(x*)≤f(x) pentru orice x∈S∩V(x*).
Dacă rangul jacobianului J(x) = ∂ h / ∂ x în punctul x* este ℓ,
atunci există ℓ numere reale λ1,...,λℓ, nu toate nule, pentru
care

∇ f ( x ) + ∑ λ i ∇ h i ( x* ) = 0
*
(1)
i =1
3.1.1. Teorema multiplicatorilor Lagrange

 Se introduce funcŃia sintetică Lagrange (lagrangeanul)



ϕ( x,λ ) = f ( x) + ∑ λ i h i (x) (2)
i =1

ϕ(x,λ ) = f (x) + λ h(x), λ = [ λ1...λ l ] , h(x) =  h1 (x) ...h ℓ (x) 


T T T

 CondiŃia de extrem se poate exprima prin



∇ ϕx ( x , λ ) = ∇ f ( x ) + ∑ λ*i∇ h i ( x* ) = 0
* * *
(3)
i =1

 RestricŃiile se pot exprima ca ∇ ϕ λ ( x * , λ * ) = h ( x* ) = 0 (4)


∑ λ i h i (x ) = 0 ⇒ f( x* ) = ϕ( x* )
*
 De asemenea
i =1
3.1.1. Teorema multiplicatorilor Lagrange

ObservaŃii
 Folosind multiplicatorii Lagrange, problema de extrem cu
legături se transformă într-o problemă cu extrem liber, dar
nu pentru funcŃia obiectiv f(x), ci pentru funcŃia sintetică ϕ(x)
 Rezolvarea problemei impune soluŃionarea unui sistem de
n+ℓ ecuaŃii cu n necunoscute x plus ℓ necunoscute λ
 din ecuaŃiile (3) se exprimă xj în funcŃie de multiplicatorii λi
 xj se introduc în (4) ⇒ se obŃine un sistem de ℓ ecuaŃii cu
necunoscutele λi

Rezolvarea analitică este posibilă doar într-un număr limitat de


cazuri
• se apelează la proceduri numerice
3.1.3. CondiŃii suficiente de extrem

 Satisfacerea condiŃiilor suficiente asigură că punctul x* este


minim
 Comparativ cu necesitatea, suficienŃa impune şi
satisfacerea unor condiŃii suplimentare relativ la derivatele
de ordin doi şi de convexitate
 Se introduce mulŃimea vectorilor y ortogonali pe vectorii
∇hi(x*)

Y = {y y T ∇ h i ( x* ) = 0, i = 1,..., ℓ, y ≠ 0} (5)

 Se notează cu Hxϕ(x,λ λ) - matricea Hessian a funcŃiei ϕ(x,λ


λ)
în raport cu variabilele x
3.1.3. CondiŃii suficiente de extrem
 T2. Fie funcŃiile scalare f(x) şi hi(x), i = 1,...,ℓ definite pe
X⊂Rn şi care au derivate de ordinul doi continue în x* şi
mulŃimea S⊂X definită de relaŃiile
h i (x) = 0, i = 1, ℓ , ℓ < n
Dacă există λ*∈Rℓ care satisface

∇ϕx (x , λ ) = ∇f (x ) + ∑ λ*i∇h i (x* ) = 0
* * *

i =1
şi
y T H x ϕ(x* , λ * ) y > 0,
pentru orice y∈Y definit de (5) atunci x* este un punct de
minim local tare a lui f pe S.
3.1.3. CondiŃii suficiente de extrem

 T3. Considerăm că funcŃiile f şi hi îndeplinesc condiŃiile din


T1 şi funcŃia sintetică ϕ(x,λ
λ*) definită de

ϕ(x,λ ) = f (x) + ∑ λ i h i (x)
i =1
este pseudo-convexă în x*. Atunci condiŃia

∇ ϕx ( x , λ ) = ∇f (x ) + ∑ λ*i∇ h i ( x* ) = 0
* * *

i =1

este suficientă pentru ca x* să fie punct de minim global al


lui f pe S.
funcŃia f este pseudo-convexă (p-convexă) în x0 ∈ X dacă este
diferenŃiabilă în x0 şi
( ∀x ∈ X ) f(x) < f(x0 ) ⇒ (x - x0 )T ∇f(x0 ) < 0
3.2. Metode analitice pentru probleme
cu restricŃii de tip inegalitate
 P1. Se consideră funcŃiile scalare f(x), gi(x), i = 1,...,m,
definite pe Rn, având derivatele de ordinul unu continue pe
X⊂Rn şi fie mulŃimea S⊂X definită prin inegalităŃile
S = {x; x ∈ X, g i ( x) ≤ 0, i = 1,..., m}
Se cere determinarea punctului x* pentru care se obŃine
min f ( x)
x∈S

 Se notează cu I mulŃimea indicilor restricŃiilor active, adică


a restricŃiilor care sunt satisfăcute ca egalitate în punctul x

I = {i gi (x* ) = 0}
3.2. Metode analitice pentru probleme
cu restricŃii de tip inegalitate
Clasificarea condiŃiilor necesare şi suficiente de extrem
 CondiŃiile diferenŃiale de extrem
 Extinderea la cazul restricŃiilor inegalitate a tehnicii clasice a
multiplicatorilor Lagrange pentru problemele cu legături
 Necesitatea se bazează pe condiŃii de regularitate
 SuficienŃa se bazează în plus pe condiŃii de convexitate
 CondiŃiile de extrem fără diferenŃiabilitate (condiŃii de tip
"punct şea" pentru lagrangeanul asociat problemei)
 SuficienŃa nu necesită ipoteze speciale
 Necesitatea presupune
• convexitatea mulŃimii X şi a funcŃiilor f şi g pe S
• liniaritatea lui h
• anumite condiŃii de regularitate
3.2.1. CondiŃii diferenŃiale de extrem
CondiŃii necesare în cazul restricŃiilor liniare
gi (x) = − ni , x + bi , bi ∈ R, ∇gi (x) = −ni ∈ Rn

g2(x)=0  MulŃimea indicilor restricŃiilor


active este I={1,3}
 Considerăm x ∈ S şi vom spune
n2
că vectorul x− −x* pătrunde în S ⇒
x* n3
x
⇒ n i , x - x * ≥ 0 pentru i∈I sau
n1
g3(x)=0
−∇gi (x* ), x-x* ≥ 0, i ∈ I, x ∈ S
g1(x)=0
 f atinge minimul în x*∈S şi pe
f(x)=c1 f(x)=c2 f(x)=c3 baza aproximării din seria Taylor
c1<c2<c3
∇f (x* ), x − x* ≥ 0, x ∈ S
3.2.1. CondiŃii diferenŃiale de extrem

 Se demonstrează că există λi≠0, i∈I a.î. ∇f(x* ) + ∑ λi∇gi (x* ) = 0


i∈I
 Dacă alegem λj=0 pentru j∉I, atunci relaŃia precedentă se
poate scrie
m
∇f ( x ) + ∑ λ i∇ g i (x* ) = 0.
* (*)
i =1
m
∑ λi gi (x ) = 0 (**)
*
 În plus
i∈I
deoarece pentru i∈I avem gi(x*)=0, iar pentru i∉I avem λi =0
 CondiŃia necesară de extrem (*) şi (**) se exprimă prin relaŃii
similare celor din cazul problemelor de extrem cu legături
 Dificultate suplimentară: nu se cunosc de la început restricŃiile active
⇒ trebuie făcute tatonări pentru a stabili care restricŃie sau combinaŃie
de restricŃii este activă
3.2.1. CondiŃii diferenŃiale de extrem

 Formalismul condiŃiilor necesare de extrem întâlnit anterior


ar putea fi extins şi în cazul restricŃiilor neliniare, dar numai
atunci când acestea îndeplinesc condiŃii de regularitate
 Exemplu: vectorii ∇gi(x*), i∈I sunt liniar independenŃi
 T4 (Kuhn-Tucker). Fie f şi gi, i =1,...,m funcŃii cu derivatele
de ordinul unu continue într-un domeniu deschis din Rn
care conŃine x*; restricŃiile gi(x)≤0, i=1,...,m satisfac condiŃii
de regularitate. Dacă x* este punct de minim pentru f(x),
atunci există multiplicatorii λi≥0, i=1,...,m, a.î.
m
∇ f ( x ) + ∑ λ i ∇ g i ( x* ) = 0
*

i =1
m
∑ i i ) = 0, λ i ≥ 0, i = 1,..., m
λ *
şi g ( x
i =1
3.2.1. CondiŃii diferenŃiale de extrem
DemonstraŃie - se admite că pot fi „liniarizate” restricŃiile

∇f (x* ) = − ∑ λi∇gi (x* ) ⋅ (x − x* ) ⇒ ∇f (x*), x − x * = ∑ λi bi , x ∈ S (***)


i∈I i∈I

unde bi = −∇ g i (x* ), x - x* ≥ 0, x ∈ S

 dacă în (***) toŃi λi≥0 ⇒ este îndeplinită ∇f (x*), x − x * ≥ 0, x ∈ S


care rezultă din condiŃia ca x* să fie punct de minim
 dacă ar exista un λi < 0, i∈I, ar fi posibil să alegem un vector x-x*
astfel încât membrul drept din (***) să fie negativ
 În cazul problemelor cu restricŃii inegalitate, multiplicatorii
trebuie să fie obligatoriu nenegativi. Un multiplicator
negativ, soluŃie pentru (*) arată că, de fapt, f(x*) ar putea fi
micşorat printr-o deplasare pe o direcŃie strict admisibilă în
raport cu restricŃia respectivă.
3.2.1. CondiŃii diferenŃiale de extrem
 Se introduce funcŃia sintetică Lagrange
ϕ(x, λ ) = f (x) + λ, g(x) , λ ≥ 0
λ = [ λ1...λ m ] , g (x) = [ g1 (x)...g m (x) ]

m
∇ x ϕ(x , λ ) = 0
*
⇒ ∇ f ( x ) + ∑ λ i ∇ g i ( x* ) = 0
*

i =1

∇ λ ϕ(x, λ ) ≤ 0, λ ≥ 0 ⇒ gi (x) ≤ 0, i = 1, m ,
m
λ, ∇ λ ϕ(x , λ ) = 0 ∑ i i ) = 0, i = 1, m
λ
* *
⇒ g ( x
i =1
3.2.1. CondiŃii diferenŃiale de extrem
 Procedură generală
1. Se determină extremul liber xφ pentru f(x) fără restricŃii
 dacă gi(xφ)≤0, i=1,...,m STOP
 altfel, salt la 2.
2. Se consideră pentru început drept restricŃii active acele restricŃii care au
fost încălcate la (1). Se determină extremul legat considerându-se, pe
rând, câte o restricŃie activă.
 dacă soluŃia verifică celelalte restricŃii şi toŃi λi ≥0 STOP
 altfel, salt la 3.
3. Se repetă procedura de la etapa (2), considerând alte restricŃii active
 Se recomandă să se renunŃe la restricŃiile care au fost verificate ca inegalitate
şi să se introducă restricŃiile care au fost încălcate în etapa (2).
 Pentru început se vor considera combinaŃii de câte două restricŃii active (de
preferat, din cele care au fost încălcate la etapa anterioară).
 Dacă nu se găseşte soluŃia, se trece la combinaŃii de câte trei restricŃii active
etc.
 Astfel de repetări se fac până se obŃine soluŃia problemei x* (a.î. gi(x*) ≤0 şi
λi≥0, i=1,...,m), mergând până la combinaŃii de cel mult m restricŃii active
3.2.1. CondiŃii diferenŃiale de extrem
CondiŃii necesare de extrem pentru pb. cu restricŃii mixte
 Se consideră restricŃii de tip egalitate şi inegalitate
 Se presupune că funcŃiile f, hi, (i=1,..., ℓ) şi gj (j=1,...,m) au
derivatele de ordinul unu continue în x*
 T5: dacă x* este punct staŃionar de tip minim şi sunt
îndeplinite condiŃii de regularitate în x* (referitoare la gi(x*),
i∈I şi h(x*)), atunci ∃ multiplicatorii λi∈R şi µi≥0 a.î.:

ε∇f ( x* ) + ∑ µi ∇g i (x* ) + ∑ λ i ∇h i ( x* ) = 0, ( ****)
i∈I i =1
cu ε=1 (în problemele de maxim, ε=−1) şi I={i;gi(x*)=0}
 FuncŃia sintetică: ϕ( x , λ , µ ) = εf( x ) + λ T
h( x ) + µ T
g(x)
Cond. nec. de extrem: ∇ x ϕ( x, λ , µ ) = 0
3.2.1. CondiŃii diferenŃiale de extrem
CondiŃii suficiente de extrem
 T6. Considerăm problema precedentă şi presupunem că
toate funcŃiile au derivate de ordinul doi continue într-o
vecinătate a lui x*∈S. Dacă există λ∈Rℓ şi µ∈Rn
satisfăcând condiŃia Lagrange-Kuhn-Tucker (****) cu ε=1
(în problemele de maxim, ε=−1) şi

y T H x [ ϕ(x*,λ,µ ) ] y > 0

cu H x [ ϕ(x,λ,µ ) ] = H [ f ( x) ] + ∑ µi H [ g i (x) ] + ∑ λ i H [ h i (x) ]
i∈I i =1

{
şi y∈Y unde Y = y y, ∇gi (x* ) = 0,i ∈ I; y, ∇h k (x* ) = 0,k = 1, ℓ }
atunci x* este punct de minim local tare al lui f pe S.
3.2.1. CondiŃii diferenŃiale de extrem
CondiŃii suficiente de extrem
 T7. Fie f, g, h funcŃiile din problema precedentă care au
derivate de ordinul unu continue. Dacă în x*∈S este
îndeplinită condiŃia (****) cu ε=1 şi µTg(x*)=0 şi dacă
funcŃia sintetică ϕ(x,λ λ,µ
µ) este pseudo-convexă pe S,
atunci x* este punct de minim al funcŃiei f pe S.
 ObservaŃii:
 CondiŃia suficientă de minim global nu implică derivatele de ordin
2, ci condiŃii de convexitate
 un minim local într-o problemă convexă este şi minim global
3.2.2. CondiŃii de extrem fără
diferenŃiabilitate
 CondiŃiile de optimalitate nediferenŃiale - condiŃii de tip şea
 Se consideră lagrangeanul

ϕ(x, µ) = f (x) + µ, g(x)

în care multiplicatorii µ sunt variabile duale variabilelor x


Spunem că (x*,µ µ*) este un punct şea pentru ϕ(x,µ µ) relativ
la S dacă pentru orice x∈S⊂Rn şi orice µ∈Rm şi µ≥0 avem:

ϕ(x , µ ) ≤ ϕ( x , µ ) ≤ ϕ(x, µ )
* * * *

Cu alte cuvinte, ϕ(x,µ


µ*) are un minim pe S în x*, iar ϕ(x*,µ
µ)
are un maxim în µ* pentru µ ≥ 0.
3.2.2. CondiŃii de extrem fără
diferenŃiabilitate
CondiŃii suficiente de minim
 T8: Dacă (x*,µ µ*) este punct de tip şea pentru ϕ relativ la S,
atunci x* este punct de minim în problema cu restricŃii
inegalitate şi este satisfăcută condiŃia
*T
µ g (x* ) = 0

 T9. Se consideră problema cu restricŃii mixte şi


λ*,µ
lagrangeanul asociat. Dacă (x*,λ µ*) este un punct şea
pentru ϕ relativ la S, adică
φ( x* , λ , µ ) ≤ φ( x* , λ * , µ* ) ≤ φ( x, λ * , µ* )
pentru orice x∈S⊂Rn, λ∈Rℓ, , atunci x* este punct de
minim pentru f(x) pe S (definit de g(x)≤0 şi h(x)=0)
Tehnici de optimizare
- note de curs -

Ş.l.dr.ing. Florin Ostafi


fostafi@ac.tuiasi.ro
www.ac.tuiasi.ro/~fostafi
METODE NUMERICE
PENTRU SOLUłIONAREA
PROBLEMELOR DE
OPTIMIZARE STAłIONARĂ
CU RESTRICłII
2. METODE NUMERICE DE REZOLVARE A
PROBL. DE OPT. STAł. CU RESTRICłII

 Se consideră problemele de forma

{ }
min f (x) h i (x) = 0,i = 1, l , l ≤ n, g j (x) ≤ 0, j = 1, m
x

 RestricŃiile de tip egalitate şi inegalitate definesc domeniul


admisibil S pe care trebuie căutată soluŃia problemei
2. METODE NUMERICE DE REZOLVARE A
PROBL. DE OPT. STAł. CU RESTRICłII
Clasificare
 Metode de căutare – pornesc de la o iniŃializare oarecare şi
urmăresc ameliorarea iterativă a soluŃiei găsite la o
anumită etapă
 Căutarea se face pe direcŃii admisibile; în plus, trebuie asigurată şi
menŃinerea în domeniul S
 Pasul de deplasare pe o astfel de direcŃie trebuie astfel ales încât
deplasarea să fie efectiv admisibilă şi să asigure menŃinerea în
domeniul admisibil S
 Cele mai răspândite tehnici din această categorie
• Metode de tip gradient redus (proiectat)
• Tehnici de lagrangean proiectat
• au unele puncte comune cu cele de gradient proiectat
• realizează o anumită aproximare secvenŃială a funcŃiei şi a restricŃiilor
2. METODE NUMERICE DE REZOLVARE A
PROBL. DE OPT. STAł. CU RESTRICłII
 Metode bazate pe transformări care conduc la probleme
fără restricŃii
 Tehnici bazate pe funcŃii de penalizare
 Tehnici de lagrangean augmentat
 Proceduri specifice pentru anumite clase de probleme
 Programare liniară
 Programare pătratică
 Programare geometrică
 Programare convexă
 ObservaŃii
 la multe din procedurile de căutare, deplasările se efectuează, de
regulă, pe frontiera domeniului S
 De dată mai recentă sunt metodele de tip punct interior, în care
deplasările succesive folosesc puncte interioare ale domeniului S
4.1 Metode bazate pe transformări în
probleme fără restricŃii
4.1.1. Metode bazate pe funcŃii de penalizare
 Principiu – se înlocuieşte minimizarea funcŃiei f(x) cu
restricŃiile gi(x)≤0, i=1,...m, (şi eventual hi(x)=0, i=1,...,ℓ) cu
o problemă în care se cere minimizarea funcŃiei F(x)
 F(x) se construieşte a.î. să fie foarte apropiată sau chiar egală cu
f(x) atunci când x ∈ S (domeniul admisibil definit de restricŃii) şi să
aibă valori mult mai mari când x ∉ S
 Minimul funcŃiei se va afla în S şi va fi foarte apropiat (în caz ideal
va coincide) de punctul de minim x* al problemei originale
 FuncŃiile F(x) se numesc de penalizare deoarece ele sunt astfel
concepute încât penalizează încălcarea restricŃiilor
 FuncŃiile de penalizare
• diferenŃiabile
• nediferenŃiabile
 FuncŃiile de penalizare sunt dependente de un parametru (ρ), a
cărui alegere este foarte importantă în evoluŃia algoritmilor şi în
precizia estimării soluŃiei x*
4.1.1. Metode bazate pe funcŃii de
penalizare
Exemple de funcŃii de penalizare
m l
F ( x , ρ ) = f ( x ) + ρ ∑ max [ gi ( x ), 0] + ρ ∑ hi2 ( x ), ρ > 0, α ≥ 1
α

i =1 i =1

 Termenii suplimentari intervin cu valori pozitive numai în punctele


în care restricŃiile nu sunt satisfăcute
 Deoarece trebuie minimizată funcŃia F(x), soluŃia va tinde spre o
situaŃie în care toŃi termenii au o valoare cât mai mică, adică spre
minimul lui f(x) şi spre respectarea restricŃiilor, când contribuŃia
termenilor suplimentari este nulă
4.1.1. Metode bazate pe funcŃii de
penalizare
Exemple de funcŃii de penalizare
m
−1
F ( x, ρ ) = f ( x ) + ρ ∑ , ρ ≥0
i =1 g i ( x )

 Se consideră că x este un punct interior domeniului admisibil S ⇒


⇒ termenul suplimentar este pozitiv
 La apropierea de oricare din restricŃii, numitorul se apropie de zero
şi termenul suplimentar creşte mult ⇒ evoluŃia căutării este
menŃinută mereu la o oarecare depărtare de frontieră
• se spune că termenul suplimentar introduce o barieră

 Se poate folosi şi o barieră logaritmică sub forma


m
F ( x , ρ ) = f ( x ) − ρ ∑ ln gi ( x )
i =1
4.1.1. Metode bazate pe funcŃii de
penalizare
Exemple de funcŃii de penalizare

 În cazul problemelor cu restricŃii mixte se consideră


m l
F ( x, ρ ) = f ( x ) + ρ ∑ max(0,gi ( x )) + ρ ∑ hi ( x )
i=1 ι=1

 Se demonstrează că pentru ρ mai mare decât o valoare de prag,


x* este minim pentru F ⇒ această formă se mai numeşte funcŃie
de penalizare exactă
4.1.1. Metode bazate pe funcŃii de
penalizare
ObservaŃii
 Dacă se consideră că xɶ i* este minimul pentru funcŃia F ( x , ρi ) fără
restricŃii, în condiŃii destul de largi, se poate găsi xɶ i* → x * , unde x*
este soluŃia problemei originale
 Apropierea de x* se obŃine dând valori tot mai mari parametrului ρ
• De regulă, la limită (ρ → ∞) nu se atinge x* ⇒ trebuie aleasă o valoare
foarte mare pentru ρ, dar finită
• La valori mari ale lui ρ, metodele de estimare a minimului funcŃiei
F(x,ρ) vor fi afectate de erori apreciabile
 Nu există o recomandare generală privind modalitatea de alegere
a parametrului ρ ⇒ nu se poate conta pe o precizie ridicată în
cazul metodelor de penalizare şi atunci acestea se folosesc:
• în cazurile în care este acceptabilă o estimaŃie grosieră pentru x*
• când estimaŃia este utilizată ca iniŃializare pentru o procedură mai
exactă
4.1.1. Metode bazate pe funcŃii de
penalizare
Algoritm
1. IniŃializare: se precizează x0, ρ0 şi se pune k=0
2. Criteriu de stop:
 procedura se încheie dacă este satisfăcut un test de convergenŃă
sau dacă s-a depăşit o anumită valoare prestabilită pentru k
(pentru a proteja procedura în caz de eşec, când unele variabile
pot creşte nemărginit)
 în caz contrar, se trece la (3)
3. Minimizarea funcŃiei de penalizare F(x,ρ), pornind din
punctul xk şi reŃinând xk+1 ca fiind cea mai bună
aproximaŃie care rezultă din rezolvarea acestei probleme
4. Actualizare: se creşte k cu o unitate, se creşte valoarea lui
ρ şi se revine la (2)
4.2. Metode bazate pe direcŃii admisibile
pentru probleme cu restricŃii liniare
 DirecŃiile de deplasare admisibile:
 asigură descreşterea valorii funcŃiei obiectiv şi
 menŃin punctului curent în domeniul S definit de restricŃii
 Căutările au loc pe frontiera domeniului S
 RestricŃii active - restricŃii inegalitate care definesc
frontiera pe care se află x*
 dificultate majoră - nu se cunosc aprioric restricŃiile active ⇒
căutările au loc pe diverse frontiere ale lui S
• metode ale mulŃimilor active; mai exact - mulŃimi de lucru considerate
la anumite iteraŃii
 Tehnicile de gradient proiectat (redus) - cele mai folosite
 Se utilizează un vector care reprezintă proiecŃia pe un anumit
subspaŃiu al vectorului gradient al funcŃiei obiectiv
 Se combină procedurile numerice de căutare din cazul
problemelor fără restricŃii cu rezultatele metodelor analitice
din cazul problemelor cu restricŃii
4.2. Metode bazate pe direcŃii admisibile
pentru probleme cu restricŃii liniare
Principiul metodelor bazate pe direcŃii admisibile
 Cazul specific - minimul se află pe frontiera domeniului
admisibil ⇒ metodele de căutare conŃin două faze majore:
 determinarea punctului iniŃial x0 din care demarează căutarea şi
care trebuie să se afle în interiorul sau pe frontiera domeniului S
 căutarea propriu-zisă - se fac deplasări succesive prin puncte
interioare sau pe frontieră
• metodele de gradient redus folosesc deplasări pe frontieră
 Căutările pe frontieră se desfăşoară până la
 îndeplinirea unui criteriu de stop care atestă apropierea de x* sau
 atingerea unei alte frontiere, căutarea continuând în acelaşi mod
 Deplasările se efectuează pe direcŃii admisibile
 exemplu: deplasarea se face pe o direcŃie h dată de proiecŃia
vectorului -∇f(x) pe frontiera în cauză
4.2. Metode bazate pe direcŃii admisibile
pentru probleme cu restricŃii liniare
Principiul metodelor bazate pe direcŃii admisibile

−∇f ( x )
C G
A
1
B −∇f ( x )
h x 2
f(x) = ct.
x
S
S g(x) =0
a b
4.2.1. Metoda de gradient proiectat
pentru pb. cu restricŃii inegalităŃi liniare
Principiu
 RestricŃiile se pot exprima sub forma Ax − b ≤ 0, A ∈ R mxn , b ∈ R m
cu m>n şi rang(A)=n ⇒ restricŃiile sunt liniar independente
 { }
Fie I = i1 ,i 2 ,.......i p , p < m mulŃimea indicilor restricŃiilor active
 Fie submatricea AI, formată cu liniile i1,.... ip din A
• Se presupune că fiecare submatrice AI a matricei A are rangul maxim
posibil p ⇒ AIAIT nesingulară
 ProiecŃia vectorului gradient pe un subspaŃiu corespunzător
frontierei considerate se determină cu
∆x = PI∇f (x) (1)
• PI este matricea operatorului de proiecŃie ortogonală din Rn pe
subspaŃiul liniar { x: AIx=0 }
PI = I n − A TI ( A I A TI ) −1 A I (2)
• subspaŃiul este paralel cu poliedrul dat de intersecŃia suprafeŃelor
g i (x) = 0, i ∈ I
4.2.1. Metoda de gradient proiectat
pentru pb. cu restricŃii inegalităŃi liniare

 Dacă ∆x≠0, ne vom deplasa pe direcŃia - ∆x cu un pas θ admisibil


• θ nu trebuie să depăşească valoarea maximă θm = {θ : x − θ∆x ∈ S}
• se poate alege un pas optim cu restricŃia θ*≤θm adică
min f (x − θ∆x) = f (x − θ∗ ∆x) (3)
0≤θ≤θm

• nu se recomandă calcularea pasului optim ca la problemele fără


restricŃii, urmată de eventuala limitare la valoarea θm, deoarece se
efectuează un mare număr evaluări inutile ale funcŃiei
Se stabileşte noul punct x′ = x − θ ∆x
∗ (4)

• dacă θ*<θm , mulŃimea de lucru nu se schimbă
• dacă θ*=θm ⇒ apar noi restricŃii active
• o nouă restricŃie activă implică g j ( x′) = 0, j ∉ I
• introducerea indicelui j în mulŃimea indicilor restricŃiilor active
presupune modificarea mulŃimii I, a submatricei AI şi a operatorului de
protecŃie PI
4.2.1. Metoda de gradient proiectat
pentru pb. cu restricŃii inegalităŃi liniare
 Dacă ∆x=0 ⇒ gradientul se proiectează chiar în punctul x al
planului ce aparŃine frontierei ⇒ acest plan este tangent la
suprafaŃa f(x)=const ce trece prin x ⇒ este posibil ca x să fie chiar
punctul de minim căutat
• se verifică dacă funcŃia nu poate fi micşorată în continuare printr-o
deplasare strict admisibilă în raport cu restricŃiile, deci se studiază
semnul multiplicatorilor Lagrange

}
}
(5) µ = −( A I A TI ) −1 A I∇ f ( x) ∈ R p
⇒ A TI µ = ( PI − I n )∇f ( x)
PI = I n − A TI ( A I A TI ) −1 A I
⇒ ∇f ( x ) + A TI µ = 0
∆x = 0, ∇ f ( x) ≠ 0
∆x = PI∇f (x) } ⇒ PI = 0
4.2.1. Metoda de gradient proiectat
pentru pb. cu restricŃii inegalităŃi liniare

∇f ( x ) + ATI µ = 0 ⇔ ∇f ( x ) + µ T∇gi ( x ) = 0, i ∈ I
• Dacă toate componentele vectorului µ sunt nenegative ⇒ s-a stabilit
soluŃia problemei conform condiŃiei necesare de extrem Kuhn–Tucker
• Dacă există cel puŃin un µi<0 înseamnă că funcŃia f(x) mai poate fi
micşorată printr-o deplasare admisibilă în raport cu restricŃia i ⇒
restricŃia i nu este activă şi trebuie scoasă din mulŃimea indicilor I
• Dacă există mai mulŃi multiplicatori negativi, se va elimina doar
restricŃia ce corespunde celui mai negativ µi
• Nu se recomandă eliminarea simultană a mai multor restricŃii,
deoarece, în astfel de cazuri, de multe ori se întâmplă ca o parte din
restricŃii să fie necesar a fi reintroduse în mulŃimea restricŃiilor active
4.2.1. Metoda de gradient proiectat
pentru pb. cu restricŃii inegalităŃi liniare
Algoritm
1. Pentru punctul considerat x se stabileşte mulŃimea indicilor
restricŃiilor active I, apoi AI şi se calculează PI cu (2) şi ∆x cu (1).
2. Dacă ∆x≠0, se determină pasul maxim admisibil şi apoi se
stabileşte pasul θ* din condiŃia (3). Se calculează noul punct x’ cu
(4).
 Dacă θ* < θm se repetă (2) din noul punct x’.
 Dacă θ* = θm se introduce o nouă restricŃie în mulŃimea celor active şi
se revine la pasul 1.
3. Dacă ∆x=0, se determină µ cu (5). Dacă toate componentele µi≥0,
STOP - punctul determinat x este punctul de minim.
4. Dacă există componente µi<0, se elimină din mulŃimea restricŃiilor
active cea care corespunde valorii µi celei mai mici şi se revine la
pasul 1.
4.2.1. Metoda de gradient proiectat
pentru pb. cu restricŃii inegalităŃi liniare
ObservaŃii
 MulŃimea I a indicilor restricŃiilor active şi, drept consecinŃă,
matricele AI şi PI, se modifică atunci când
• este introdusă o nouă restricŃie: decizia apare la atingerea unei noi
frontiere, când s-a utilizat un pas θ* = θm
• este scoasă una din restricŃii: decizia este luată în baza semnului
multiplicatorilor Lagrange – Kuhn – Tucker
 Algoritmul descris trebuie precedat de o procedură de stabilire a
punctului de start care să se afle pe frontiera domeniului S
• această subproblemă se poate reformula ca una de optim:

f ( x ) = ∑ ( aTj x − b j ),
j∈J

J reprezintă mulŃimea indicilor restricŃiilor nesatisfăcute într-un punct x


• f ( x ) = 0 în orice punct admisibil şi f ( x ) > 0 în orice punct neadmisibil
• Se poate determina un punct admisibil rezolvând problema
{ }
min f ( x ) a Tj x − b j ≤ 0, ∀j ∉ J
4.3. Proceduri bazate pe direcŃii
admisibile pentru pb. cu restricŃii neliniare
Aspecte generale
 Probleme cu restricŃii egalitate (PREN)

min { f (x) gˆ i (x) = 0, i = 1,..., l} (1)


x

 Probleme cu restricŃii inegalitate (PRIN)


min { f (x) gˆ i (x) ≤ 0, i = 1,..., m} (2)
x

 MulŃimea indicilor restricŃiilor active


 PREN: I (x) = {1,..., l}
 PRIN: în fiecare punct doar anumite restricŃii sunt active – se
sintetizează în vectorul gˆ (x) , cu componentele gˆ i ( x) , i ∈ I ( x) .
 Probleme mixte: restricŃiile de tip egalitate se introduc permanent în
mulŃimea de lucru considerată
4.3. Proceduri bazate pe direcŃii
admisibile pentru pb. cu restricŃii neliniare
 Toate funcŃiile care intervin au derivate de ordinul doi
continue
 NotaŃii: ai (x) = ∇gi (x) , G i (x) = ∇ 2 g i (x)
A(x) ∈ R m ×n - matricea jacobian a funcŃiei vectoriale g(x), cu liniile a i (x)T

 NotaŃii similare se vor folosi şi pentru funcŃiile gˆ i ( x)


 Presupunem că x* este punct de minim şi că în acest punct
sunt îndeplinite condiŃiile de regularitate a restricŃiilor, adică
ˆ ( x* ) are liniile liniar independente
A
 Conform teoremei L-K-T, există multiplicatorii λi* , i ∈ I ( x* ) a.î.
r ( x) + A
ˆ ( x)T λ = 0, pt. x = x* , λ = λ * (3)

 În cazul PRIN apare în plus condiŃia λi* > 0 , i∈ I.


4.3. Proceduri bazate pe direcŃii
admisibile pentru pb. cu restricŃii neliniare
 CondiŃia suficientă de extrem se rescrie sub forma
Z(x* )T Hϕ (x* , λ * )Z(x* ) > 0 (4)

 Hϕ(.) este matricea hessian în raport cu x pentru funcŃia sintetică


Lagrange
ϕ (x, λ ) = f (x) + λ T gˆ (x)
 Z(x*) este o matrice ale cărei coloane formează o bază pentru
ˆ ( x* )
mulŃimea vectorilor ortogonali pe liniile lui A
ˆ ( x* ) Z ( x* ) = 0
A
r (x) + A ˆ ( x )T λ = 0 } ⇒ Z(x* )T r (x* ) = 0 (5)

 Vectorul Zr din (5) reprezintă un gradient proiectat, iar matricea din


(4) este o matrice hessian proiectat
4.3. Proceduri bazate pe direcŃii
admisibile pentru pb. cu restricŃii neliniare
 Toate relaŃiile anterioare sunt valabile în punctul x* şi sunt
îndeplinite cu o foarte bună precizie într-o mică vecinătate a
acestui punct.
 Într-un punct ceva mai depărtat, toate elementele r, A, Z,
Hϕ se modifică, întrucât sunt dependente de x.
 O posibilă cale de rezolvare - realizarea de liniarizări
succesive ale neliniarităŃilor.
 În cazul restricŃiilor liniare, matricea A este constantă ⇒
sunt constante toate submatricele  şi matricele Z asociate.
 La problemele cu restricŃii liniare, condiŃia suficientă de
minim se referea la hessianul H(x) al funcŃiei f(x) şi nu la
hessianul Hϕ al funcŃiei sintetice deoarece, în acest caz,
H ( x) = Hϕ ( x)
4.3. Proceduri bazate pe direcŃii
admisibile pentru pb. cu restricŃii neliniare
 Există metode de soluŃionare a PRN bazate pe liniarizări
ale restricŃiilor şi utilizarea de direcŃii admisibile pentru
căutare
 se extind tehnicile de la problemele cu restricŃii liniare
 cele mai folosite astfel de tehnici sunt cele de gradient proiectat şi
extinderile acestora prin folosirea unor rezultate din algebra liniară
 La PRN se efectuează calcule suplimentare deoarece se
modifică o serie de matrice la fiecare iteraŃie
 în astfel de situaŃii nu sunt posibile nici actualizări ale unor matrice
 În rezolvarea unei probleme care admite soluŃie se poate
ajunge la o subproblemă fără soluŃie
 uneori este dificil de apreciat validitatea unei probleme sau
subprobleme
 din acest motiv este indicat ca programele de calcul să prevadă
oprirea la depăşirea unui număr prestabilit de iteraŃii
4.3. Proceduri bazate pe direcŃii
admisibile pentru pb. cu restricŃii neliniare
Principiul tehnicilor de tip gradient proiectat
 Se realizează căutări pe frontiere ale domeniului S, definit de restricŃii,
• se consideră mereu subprobleme cu restricŃii egalitate pe anumite mulŃimi
de lucru
 Deplasarea pe frontieră se face prin două deplasări de bază, în lungul
unor drepte:
• o primă deplasare se face într-un plan tangent la frontieră în punctul de
start al căutării la iteraŃia respectivă; direcŃia de deplasare corespunde
proiecŃiei gradientului pe planul respectiv sau este în strânsă legătură cu
aceasta
• o a doua deplasare este necesară pentru a readuce punctul pe frontiera
domeniului, având în vedere că, de regulă, deplasarea anterioară
conduce la un punct situat în afara domeniului S
 Procedura prevede decizii de continuare sau modificare a mulŃimii de
lucru; introducerea sau scoaterea unei restricŃii se face în baza unor
criterii de acelaşi tip ca la restricŃii liniare:
• atingerea unei noi frontiere,
• multiplicator Lagrange negativ
4.4. Metode bazate pe liniarizări
secvenŃiale ale restricŃiilor
 Se apelează la subprobleme cu restricŃii liniare, obŃinute în
urma liniarizării restricŃiilor neliniare
 Se utilizează uneori şi anumite idei de bază întâlnite la
tehnicile de tip gradient redus, folosind proiectarea
gradientului funcŃiei care se minimizează în cadrul
subproblemei
 Nu se minimizează funcŃia obiectiv f(x), ci o funcŃie φ(x)
care să conducă spre aceeaşi soluŃie x*
 Este posibil ca φ(x) să se modifice la fiecare iteraŃie k, în funcŃie de
restricŃiile din mulŃimea de lucru şi de modificările unor elemente
care apar în urma liniarizărilor în diverse puncte
 Metodele din această categorie pot să evolueze convenabil
către soluŃie şi prezintă avantaje în cadrul problemelor de
mari dimensiuni
4.4. Metode bazate pe liniarizări
secvenŃiale ale restricŃiilor
 Fie x k +1 = x k + p; p - deplasarea care urmează a se efectua
 FuncŃia de minimizat se va exprima în raport cu p: φk(p)
 Algoritm:
1. IniŃializare: se pune k = 0, se alege punctul de start x0 şi valorile
unor parametri care intervin
2. Se soluŃionează subpb. cu restricŃii liniare min φk (p), cu restricŃiile
p
obŃinute prin liniarizare
hi (x k ) + ∇hiT (x k )p = 0, i = 1,..., l
gi (x k ) + ∇g iT (x k )p ≤ 0, i = 1,..., m
şi eventuale condiŃii suplimentare
3. Se stabileşte noul punct xk+1
4. Dacă p ≤ ε se reŃine soluŃia găsită. În caz contrar, se pune k=k+1
şi se revine la etapa 2.
4.4. Metode bazate pe liniarizări
secvenŃiale ale restricŃiilor
 Etapa 2 – partea principală a algoritmului – diferă prin:
 modul în care se alege funcŃia φk(x)
 procedura de soluŃionare a subproblemei
 condiŃiile suplimentare care se impun

Alegerea funcŃiei φk(x)


 Aproximarea liniară a funcŃiei f: φk (p ) = ∇ f ( x )p
T k

 Avantaj: trebuie soluŃionată o problemă de programare liniară (PL),


pentru care există algoritmi foarte eficienŃi
 Apar probleme legate de convergenŃa procedurii: este posibil ca,
dacă iniŃializarea x0 este relativ depărtată de x*, şirul {xk} să nu se
apropie de x*
• algoritmii trebuie să introducă o serie de condiŃii suplimentare menite
să asigure convergenŃa procedurii
4.4. Metode bazate pe liniarizări
secvenŃiale ale restricŃiilor
1 T
Aproximarea pătratică a funcŃiei f : φk (p) = ∇f (x )p + p H k p
T k

2
 Matricea Hk poate fi:
• matricea unitate
• matricea hessian pentru f(xk)
• o aproximare a hessianului Hϕ a funcŃiei sintetice Lagrange
 Subproblema este de programare pătratică, pentru care există
algoritmi eficienŃi
 Alegând direcŃii de deplasare Newton, viteza de convergenŃă este
ridicată
 Deşi convergenta este ameliorată faŃă de cazul anterior, se
recomandă şi în acest caz apelarea la condiŃii suplimentare care
să asigure apropierea de soluŃie
4.4. Metode bazate pe liniarizări
secvenŃiale ale restricŃiilor
 φk(x) - oarecare, legată de funcŃia sintetică Lagrange
ϕ (x, λ ) = f (x) + λ T gˆ (x)
gˆ (x) - restricŃiile din mulŃimea de lucru considerată
 Procedurile din această categorie se mai numesc de lagrangean
proiectat
 Cel mai frecvent sunt întâlnite sub denumirea de tehnici secvenŃiale
sau recursive:
• SLP (sequential linear programming)
• SQP (sequential quadratic programming)

Procedura de soluŃionare a subproblemei de la etapa 2


 Poate fi folosită oricare din tehnicile pentru PRIL (incluzând
şi probleme cu restricŃii mixte)
 Pentru problemele SLP şi SQP se pot folosi tehnici
generale, dar şi tehnici specifice problemelor PL şi PP
4.4. Metode bazate pe liniarizări
secvenŃiale ale restricŃiilor
CondiŃii suplimentare - asigură convergenŃa procedurii

 limitarea, sub o anumită formă a lungimii pasului;


• de multe ori aceasta se realizează apelând la o tehnică a regiunii de
încredere
 introducerea unor funcŃii de penalizare de tipul celor prezentate în
subcapitolul 4.1
• se asigură astfel admisibilitatea în raport cu restricŃiile şi o apropiere
suficientă de x*, astfel încât procedura să fie convergentă
 utilizarea unor tehnici de „filtrare”
• reprezintă proceduri de optimizare multicriterială, prin care se
urmăreşte evoluŃia descendentă a funcŃiei şi păstrarea admisibilităŃii,
fără a utiliza funcŃii de penalizare
Tehnici de optimizare
- note de curs -

Ş.l.dr.ing. Florin Ostafi


fostafi@ac.tuiasi.ro
www.ac.tuiasi.ro/~fostafi
TEHNICI PENTRU
PROBLEME DE
OPTIMIZARE
DINAMICĂ
1. PREZENTAREA GENERALĂ A
PROBLEMELOR DE OPTIMIZARE DINAMICĂ
 Elemente ce definesc problemele de optimizare dinamică:
 sistemul dinamic
 indicele de calitate
 diverse restricŃii
 condiŃii etc.
 Elementele unei probleme de optimizare dinamică
 elemente de bază - intervin în formularea oricărei probleme de
optimizare şi nu sunt reductibile între ele
• sistemul dinamic
• condiŃiile iniŃiale şi finale
• mulŃimea mărimilor de intrare (comenzilor) şi de stare admisibile
• criteriul de optimizare
 elemente secundare - apar numai în anumite probleme de
optimizare şi sunt reductibile la elementele de bază
1. PREZENTAREA GENERALĂ A
PROBLEMELOR DE OPTIMIZARE DINAMICĂ
1.1. Elementele de bază ale problemelor de
optimizare dinamică
 Sistemul dinamic
xɺ (t ) = f ( x (t ), u(t ), t ) (1)
y (t ) = g ( x (t ), u(t ), t )
x (t ) = [ x1 (t )...xn (t )]T ∈ X ⊂ R n
y (t ) = [ y1 (t )... y p (t )]T ∈ Y ⊂ R p
u(t ) = [u1 (t )...um (t )]T ∈ U ⊂ R m

 f şi g sunt funcŃii vectoriale, care, în general, vor fi presupuse


continue şi cu derivate până la un anumit ordin continue
 În expresiile funcŃiilor f şi g se pun în evidenŃă uneori şi mărimile
perturbatoare z (t ) ⊂ R
r
1.1. Elementele de bază ale
problemelor de optimizare dinamică
CondiŃiile terminale (de capăt)
 CondiŃiile iniŃiale
 Momentul iniŃial t0
• fixat la o valoare iniŃială t0∈T
• liber în T (urmează a se determina prin rezolvarea problemei)
 Starea iniŃială x0 = x(t0) ∈ X
• fixată într-un punct al spaŃiului X
• liberă pe o submulŃime X0 ⊂ X
• complet liberă în X şi – dacă este necesar – urmează a se determina
prin rezolvarea problemei

Cel mai frecvent, condiŃiile iniŃiale sunt precizate ( t0 şi x0 sunt fixate)


1.1. Elementele de bază ale
problemelor de optimizare dinamică

 CondiŃiile finale
 Momentul final tf > t0
• fixat la o valoare dată finită tf < ∞
• infinit
• liber în T (urmează a se determina prin rezolvarea problemei)
 Starea finală xf = x(tf) ∈ X
• fixată într-un punct al spaŃiului X
• liberă pe o submulŃime Xf ⊂ X
• complet liberă în X şi – dacă este necesar – urmează a se determina
prin rezolvarea problemei
1.1. Elementele de bază ale
problemelor de optimizare dinamică
RestricŃiile impuse variabilelor de comandă şi de stare
 RestricŃii impuse variabilelor de comandă
 Comenzi admisibile - satisfac anumite restricŃii U
• Aceste comenzi trebuie să asigure transferul din condiŃiile iniŃiale în
condiŃiile finale precizate ⇒ sistemul trebuie să satisfacă condiŃii de
controlabilitate şi tangibilitate
 D.p.d.v. al restricŃiilor impuse mărimilor de comandă
• Probleme fără restricŃii
• mulŃimea U este deschisă – de obicei coincide cu Rm; se consideră de
regulă comenzi uj(t), j=1,...,m continue şi derivabile în intervalul [t0,tf]⊂T
• Probleme cu restricŃii
• mulŃimea U este închisă
• în problemele de optimizare comenzile uj(t) sunt netede pe porŃiuni în
intervalul [t0,tf], cu excepŃia eventuală a unui număr finit de puncte în care
funcŃiile sau derivatele au discontinuităŃi finite (de speŃa I-a)
1.1. Elementele de bază ale
problemelor de optimizare dinamică
 În cazuri mai generale se admit şi funcŃii uj(t) cărora li se impune
doar să fie măsurabile pe [t0,tf],
• Se admit şi funcŃii generalizate
• distribuŃia Dirac şi derivatele ei

 RestricŃiile impuse variabilelor de stare


 Probleme fără restricŃii - mulŃimea X poate acoperi întregul spaŃiul
Rn
 Probleme cu restricŃii - X este o mulŃime închisă sau deschisă,
inclusă în Rn
1.1. Elementele de bază ale
problemelor de optimizare dinamică
Criteriul de optimizare
 Elementele precizate determină o familie de traiectorii admisibile
x (t ) = ϕ ( x 0 , t0 , u(t ), t ), soluŃii ale ecuaŃiei sistemului, cu u∈U
 Fiecărei traiectorii i se poate ataşa un număr, un indice de performanŃă
(calitate) (criteriu)
tf
I0 = ∫ 0
L ( x (t ), u (t ), t ) dt + M (t
0 0 , x 0
, t f , x f
) (2)
t0

 Indicele I0 ia o anumită valoare numerică, funcŃie de traiectorie


 Dacă I0 admite pe U unul sau mai multe extreme, atunci se poate formula
corect o problemă de optimizare
 FuncŃiile L0 şi M0 - continue şi derivabile în raport cu toate argumentele
 Clasificare
• probleme de tip Lagrange (de tip L) pentru L0 ≡/ 0 şi M 0 ≡ 0
• probleme de tip Mayer (de tip M) pentru L0 ≡ 0 şi M 0 ≡/ 0
• probleme de tip Bolza (de tip B) pentru L0 ≡/ 0 şi M 0 ≡/ 0
1.2. Formularea problemelor

 Varietatea mare a elementelor de bază → număr mare de


probleme de optimizare
 Exemple de combinaŃii imposibile
 problemele cu condiŃii iniŃiale şi finale fixate nu sunt compatibile cu
indici de performanŃă de tip M sau B
 condiŃia finală cu tf = ∞ şi xf liber pe o submulŃime sau complet liber
nu poate interveni în probleme de tip L sau B
• pentru xf fixat într-un punct trebuie introduse condiŃii care asigură
convergenŃa integralei din criteriu
 pentru L0 ≡ 1 şi M0 ≡ 0 (sau echivalent, L0 ≡ 0, M0 = tf - t0) avem o
problemă de timp minim
• admite soluŃii numai dacă se impun restricŃii asupra variabilelor de
comandă sau de stare
1.2. Formularea problemelor

 Traiectoria depinde de comanda u(t) ⇒ I 0 = J ( x 0 , u(t ))


 Dacă x0 este fixat ⇒ I 0 = J ( u)
 Într-o problemă de optimizare se cere determinarea
comenzilor u*(t) care extremizează indicele de performanŃă
I0=J(u) pe mulŃimea U
 în problemele de minim se cere comanda u* pentru care

I 0* = I 0 (u* ) ≤ I 0 (u), ∀u ∈U
 în problemele de maxim se cere comanda u* pentru care

I 0* = I 0 (u* ) ≥ I 0 (u), ∀u ∈U
 o problemă de maxim poate fi transformată într-una de minim
adoptând -I0 în loc de I0
1.2. Formularea problemelor
 Aspect fundamental - existenŃa şi unicitatea soluŃiilor
 Formularea unor condiŃii generale de existenŃă şi unicitate pentru
soluŃiile optime este extrem de dificilă ⇒ se urmăresc astfel de condiŃii
pentru clase de probleme
 Majoritatea metodelor conduc de obicei către extreme locale
 se utilizează apoi procedee de stabilire a extremului absolut
 În funcŃie de cerinŃele problemei sau de metodele de rezolvare
comanda optimă u* se obŃine în una din formele
 comandă optimală în circuit deschis - u*(t)
• probleme de comandă optimală, sau probleme de optimizare în circuit
deschis
 comandă optimală în circuit închis - u*(t)=v*(x*(t),t) sau u*(t)=w*(y*(t),t)
• probleme de comandă optimală în circuit închis sau de conducere optimală
(control optimal)
• problema deducerii unei astfel de comenzi se mai numeşte de sinteză
optimală
1.2. Formularea problemelor

Formularea generală a problemei de optimizare dinamică

Să se determine comanda optimă în circuit deschis u*(t)


sau în circuit închis u*(t)=v*(x*(t),t) sau u*(t)=w*(y*(t),t),
care transferă sistemul (1) din condiŃiile iniŃiale în condiŃiile
finale precizate, cu respectarea restricŃiilor asupra
variabilelor de comandă şi de stare, astfel încât să fie
extremizat indicele de performanŃă (2).
1.3.Elemente secundare în pb. de opt.
şi reducerea lor la elemente de bază
Legături şi restricŃii funcŃionale
 RestricŃii perimetrice I k ≤ 0, k = 1,..., r , (3)
 Legăturile izoperimetrice I k = 0, k = r + 1,..., s, (4)
tf
Ik = ∫ k + ), k = 1,..., s
0 f
L ( x (t ), u(t ), t ) dt M (t
k 0 , x , t f , x (5)
t0

 funcŃiile Lk şi Mk - continue şi derivabile

 ObservaŃie
 condiŃiile perimetrice Ik şi criteriul I0 sunt duale - oricare funcŃională
Ik, sau combinaŃii liniare ale acestora pot lua locul lui I0, care devine
condiŃie izoperimetrică
1.3.Elemente secundare în pb. de opt.
şi reducerea lor la elemente de bază
 Reducerea la elementele de bază
t
xn+ k (t ) = ∫ Lk ( x (τ ), u(τ ),τ )dτ , k = 1,..., s ⇒ (6)
t0
⇒ xɺ n+ k (t ) = Lk ( x (t ), u(t ), t ) (7)

cu condiŃiile iniŃiale xn+ k (t0 ) = 0, k = 1,..., s (8)

şi finale xn+ k (t f ) ≤ − M k (t0 , x 0 , t f , x f ), k = 1,..., r (9)

xn+ k (t f ) = − M k (t0 , x 0 , t f , x f ), k = r + 1,..., s (10)

 condiŃiile (8) sunt cu stare iniŃială fixată şi cu moment iniŃial fixat sau
liber
 condiŃiile finale (9) sunt cu stare finală liberă pe o submulŃime
 condiŃiile finale (10) sunt de acelaşi tip cu condiŃiile finale de bază
1.3.Elemente secundare în pb. de opt.
şi reducerea lor la elemente de bază
Legături şi restricŃii de tip funcŃie

hk ( x (t ), u(t ), t ) = 0, k = 1,..., p (11)

hk ( x (t ), u(t ), t ) ≤ 0, k = p + 1,..., q (12)

hk : X × U × T → R - funcŃii presupuse continuu derivabile


în raport cu toate argumentele

 Dacă în (11) şi (12) vectorii u şi x sunt separabili, atunci


condiŃiile respective sunt reductibile la restricŃii de tipul
celor menŃionate în subcapitolul 1.1
1.3.Elemente secundare în pb. de opt.
şi reducerea lor la elemente de bază
CondiŃii parametrice
 Elementele de bază sau secundare pot fi afectate de
parametrii w = [ w1....w p ]T ∈ W ⊂ R p
 Parametrii rămân neschimbaŃi pe [t0, tf]
 au rolul unor elemente de acordare iniŃială a sistemului
 Fiecărui parametru w∈W îi corespunde
 o comandă optimă u*(w,t)
 o traiectorie optimă x*(w,t)
 o valoare optimă a indicelui de performanŃă I*(w)

I ** = min I * ( w ) = I * ( w * ) (13)
w∈W

 Parametrii w au rolul unor comenzi în W


wi = um +i (t ) = const., ∀t ∈ [t0 , t f ], i = 1,..., p (14)
1.3.Elemente secundare în pb. de opt.
şi reducerea lor la elemente de bază
 Parametrii wi pot fi interpretaŃi şi ca noi variabile de stare,
pentru care se formează ecuaŃiile diferenŃiale
wɺ i (t ) = 0, i = 1,..., p (15)

 Problema parametrică este întotdeauna cu condiŃii iniŃiale


şi finale libere, cel puŃin în raport cu w
 aceste condiŃii de capăt se determină din condiŃiile specifice de
optimalitate
 Parametrii w rămân constanŃi în intervalul de optimizare,
dar depind de acest interval
 dacă optimizarea se face pe subintervale, parametrii w se pot
modifica de la un subinterval la altul ⇒ o porŃiune dintr-o
traiectorie optimală nu este neapărat optimală
1.4. Reducerea şi echivalenŃa
problemelor de optimizare
Reducerea problemelor tip L şi B la probleme tip M
 Problemă de tip Lagrange - se introduce variabila de stare
t
x0 (t ) = ∫ L( x (τ ), u(τ ),τ )dτ ⇒ xɺ0 (t ) = L( x (t ), u(t ), t )
x0 (t0 ) = x00 = 0, x0 (t f ) = x0f
t0

Problema constă în extremizarea noii stări finale I = min x0 care


* f

este o problemă de tip M, cu M = x0f

 Problemă de tip Bolza - noua funcŃie M este

M B = M L + M = x0f + M (t0 , x 0 , t f , x f )
1.4. Reducerea şi echivalenŃa
problemelor de optimizare
Reducerea problemelor de tip M şi B la probleme de tip L
 Problemă de tip Mayer - se introduc o nouă variabilă de
stare şi una de comandă
xn+1 (t0 ) = 0
xɺn +1 (t ) = um+1 (t )
xn+1 (t f ) = M (t0 , x 0 , t f , x f )
tf

Criteriul se poate scrie I= ∫ um+1 (t )dt


t0

 Problemă de tip Bolza


tf
I= ∫  L ( x (t ), u(t ), t ) + um+1 (t )  dt
t0
1.4. Reducerea şi echivalenŃa
problemelor de optimizare
Reducerea problemelor de tip L la problema timpului
minim
 Problema timpului minim: se impune minimizarea diferenŃei

t f − t0

 O problemă de tip Lagrange poate fi redusă la problema


timpului minim, înlocuind variabila t prin
dτ = L ( x (t ), u(t ), t ) dt ⇒

tf τf
⇒ I= ∫ L ( x (t ), u(t ), t ) dt = ∫ dτ = τ f − τ 0
t0 τ0
1.4. Reducerea şi echivalenŃa
problemelor de optimizare
Alte reduceri posibile
 Reducerea problemelor variante la probleme invariante -
se poate realiza prin introducerea unei noi variabile de
stare xn +1 (t ) = t
 Reducerea problemelor de moment final liber la probleme
cu moment final fixat
 Reducerea mulŃimii U la mulŃimea X şi invers, a mulŃimii X
la U, prin parametrizări corespunzătoare
 cea de a doua reducere transformă problema de optimizare
dinamică într-o problemă de programare matematică
1.5. Probleme uzuale de optimizare

Problema timpului minim


 Se impune minimizarea timpului de transfer tf-t0 a
sistemului (1) din starea iniŃială x0 în starea finală xf
tf tf
I = M (t 0 , t f ) = t f − t 0 sau I= ∫ L( x, u)dt = ∫ dt = t f − t0
t0 t0

 ObservaŃii referitoare la condiŃiile de capăt


 t0 < tf < ∞ şi cel puŃin unul din momentele t0 şi tf (de obicei tf) este
liber
 starea iniŃială x0 şi finală xf pot fi fixate sau libere pe mulŃimi închise
X0, respectiv Xf
1.5. Probleme uzuale de optimizare

 În formularea problemei trebuie impuse restricŃii comenzii


sau stării
 Dacă nu se impun restricŃii asupra variabilelor de stare, mulŃimea U
este cu necesitate închisă
 Problema are sens dacă există cel puŃin o comandă admisibilă
u(t)∈U care asigură tangibilitatea stării finale xf din starea iniŃială x0
 Forme de închidere pentru mulŃimea U
 paralelipipedul: ai≤ ui(t) ≤bi, i=1,…m
• în particular, pentru ai=-bi=b se obŃine un cub în jurul originii, cu
muchiile paralele cu axele de coordonate şi egale cu 2b
 sfera: u ≤ r > 0
 cilindrul - combinaŃie de restricŃii paralelipipedice şi sferice de
variabile separate t f
µ
 restricŃii de forma ∫ u(t ) dt ≤ m > 0
t0
1.5. Probleme uzuale de optimizare

Problema consumului minim de combustibil


 Se cere determinarea comenzilor u(t) care transferă
sistemul din x0 în xf cu un consum minim de combustibil
 Se pot impune sau nu restricŃii asupra comenzii sau stării
 De regulă, se introduc restricŃii asupra variabilelor de comandă
tf

 Criteriul de performanŃă este de forma I = ∫ ϕ (t )dt


t0
ϕ (t ) = ψ (u1 (t ),..., um (t )) ≥ 0 - consumul în unitatea de timp

 Pentru o mare varietate de consumatori:


m
µ
ϕ (t ) = ∑ c j u j (t ) sau ϕ (t ) = c u(t ) , c > 0, µ > 0
j =1
(cj>0 – semnificaŃia de consum specific) (µ=2 - criteriu de energie minimă)
1.5. Probleme uzuale de optimizare

 Stările iniŃiale şi finale pot fi fixate sau libere pe submulŃimi


închise din X
 ObservaŃii referitoare la momentele t0 şi tf
 pentru t0 dat, momentul final tf este liber şi valoarea sa tf* urmează
a se determina din condiŃia de minim pentru indicele de calitate;
 momentul final poate avea o valoare finită tf ≥ tf*;
 momentul final trebuie să fie mai mic decât o valoare de referinŃă
tf0 ≥ tf*;
 se minimizează tf din condiŃiile limitării consumului de combustibil;
 se minimizează un indice de calitate combinat
tf
I= ∫ ( K + ϕ (t ))dt
t0

unde K > 0 exprimă ponderea timpului minim în comparaŃie cu


consumul de combustibil minim.
1.5. Probleme uzuale de optimizare

Problema erorii medii minime


 Se consideră un sistem automat monovariabil, pentru care
se defineşte eroarea ε (t ) = yi − y (t )
ε(t) ε(t)

t t


I = ∫ ε (t ) dt (16)
0
1.5. Probleme uzuale de optimizare

 În loc de (16) se folosesc indici de forma


∞ ∞
I = ∫ ε (t ) dt sau I = ∫ ε 2 (t )dt (17)
0 0
 Valoarea indicilor (17) este influenŃată mai ales de comportarea
sistemului în perioada iniŃială a regimului tranzitoriu
 Pentru a egaliza cât mai mult influenŃele perioadelor
regimului tranzitoriu, se introduce o pondere în timp (de
obicei liniară sau pătratică)
∞ ∞
I = ∫ tε 2 (t )dt sau I = ∫ t 2ε 2 (t )dt (18)
0 0
 În cazul sistemelor multivariabile
∞ ∞
I = ∫ ε T (t )Q (t )ε (t )dt sau I = ∫ x T (t )Q (t ) x (t )dt (19)
0 0
1.5. Probleme uzuale de optimizare
Problema cons. minim de energie şi a erorii medii minime
 Se consideră un consumator alimentat de la o reŃea
electrică, care absoarbe un curent u(t)
tf
(20)
I= ∫ (t )dt
2
u
t0
 Pentru sisteme cu mai multe variabile de comandă

I = ∫ uT (t ) P (t )u(t )dt (21)
0
 Forma generală a indicelui de calitate
tf
1 T 1
I= x (t f ) Sx (t f ) + ∫ [ xT (t )Q (t ) x (t ) + uT (t ) P (t )u(t ) +
2 2t
0
+ x (t ) N (t )u(t ) + u (t ) N T (t ) x (t )]dt ,
T T
1.5. Probleme uzuale de optimizare

Problema controlului terminal - problemă de tip Mayer care


include
 problema controlului iniŃial I = M (t 0 , x 0
)
 problema controlului final I = M (t f , x f )
 problemă de control terminal I = M (t0 , x , t f , x )
0 f

 O problemă de tip Bolza conŃine o problemă de control


terminal
 De obicei apar restricŃii asupra variabilelor de comandă şi,
uneori, asupra variabilelor de stare
 În unele probleme apar şi restricŃii suplimentare de tip
funcŃie sau funcŃionale, de exemplu, de tipul limitării
consumului de combustibil sau energie
1.5. Probleme uzuale de optimizare

Probleme de minimizare a cheltuielilor


 Se impune ca funcŃionarea unui proces să se desfăşoare
de aşa manieră a.î. cheltuielile de funcŃionare şi exploatare
să fie minime (sau beneficiul să fie maxim)
 Indicele de calitate (funcŃia de cost) Ńine seama în mod
global de mai mulŃi factori care intervin în valoarea
cheltuielilor totale, el având forma generală (2)
 În astfel de cazuri, considerarea unui singur indice
particular, de tipul celor prezentaŃi, nu este suficientă din
punct de vedere economic
1.5. Probleme uzuale de optimizare

 Pentru stabilirea funcŃiei de cost a unei instalaŃii, se pot lua


în considerare următoarele aspecte:
 productivitatea instalaŃiei este cu atât mai mare cu cât procesul se
desfăşoară mai rapid ⇒ timpii corespunzători diferitelor etape de
lucru sunt mai mici, iar încărcările în diferite regimuri de lucru sunt
mai mari
 uzura instalaŃiei, deci şi cheltuielile de exploatare cresc odată cu
viteza de desfăşurare a procesului şi cu gradul de încărcare a
instalaŃiei (cerinŃă evident contradictorie cu prima), cum se întâmplă
la maşinile unelte, laminoare etc.
 fiecărui mod de desfăşurare a procesului îi este specific un anumit
consum energetic
Pentru funcŃionarea optimă se poate considera o funcŃie de cost
care sumează cheltuielile corespunzătoare fiecăruia din factorii
menŃionaŃi
Tehnici de optimizare
- note de curs -

Ş.l.dr.ing. Florin Ostafi


fostafi@ac.tuiasi.ro
www.ac.tuiasi.ro/~fostafi
METODE
VARIAłIONALE
CLASICE
2. METODE VARIAłIONALE CLASICE

 Metodele clasice de rezolvare a problemelor de optimizare


au la bază algoritmul Euler – Lagrange pentru problemele
variaŃionale
 Algoritmul Euler – Lagrange poate fi utilizat în rezolvarea
problemelor de optimizare
 aplicarea este, în general, dificilă în cazul problemelor cu restricŃii
 în cazul problemelor cu restricŃii sunt mai utile metodele variaŃionale
moderne
• au la bază principiul minimului şi principiul optimalităŃii - metode strâns
legate de rezultatele obŃinute în cadrul calculului variaŃional, fiind o
extindere a acestora
2.1. Metode pentru rezolvarea
problemelor variaŃionale
 Se cere determinarea funcŃiei x(t) care extremizează
integrala
tf
dx
I= ∫ L( x (t ), xɺ (t ), t )dt , xɺ = dt
(1)
t0

 Se consideră iniŃial că funcŃia L depinde de o singură


variabilă dependentă, adică x(t ) ∈ R
 L are derivate de ordinul al doilea continue în raport cu
x(t ) este continuă în intervalul [t0 , t f ]
toate argumentele, iar ɺɺ
2.1.1. Mărimi variaŃionale

 Fie δ x variaŃia lui x(t ) - creşterea lui x pentru t fixat


δ x = εη (t ), δ xɺ = εηɺ (t ) (2)

d d dx(t )
(δ x) = εη (t ) = εη (t ) = δ
ɺ - operatorii δ şi d/dt comută (3)
dt dt dt
 Se pune problema determinării modificării funcŃiei L, dar mai ales
a funcŃionalei I atunci când x variază cu δx
x + δ x = x + εη (t )
 Creşterea funcŃionalei I este
tf tf
∆I (ε ) = I (ε ) − I = ∫ L( x + εη , xɺ + εηɺ, t )dt − ∫ L( x, xɺ, t )dt (4)
t0 t0
dI (ε ) ε 2 d 2 I (ε )
 Se dezvoltă în serie Taylor ∆I (ε ) = ε + + ... (5)
d ε ε =0 2! d ε ε =0 2
2.1.1. Mărimi variaŃionale

 Se notează
dI (ε )
- prima variaŃie a funcŃionalei δ I (ε ) = ε (6)
d ε ε =0
ε d I (ε )
2 2
- a doua variaŃie a funcŃionalei δ 2 I (ε ) = (7)
2! d ε 2 ε =0
⇒ ∆I (ε ) = δ I (ε ) + δ 2 I (ε ) + ... (8)

 Pentru ε foarte mic ⇒ ∆I (ε ) ≅ δ I (ε ) (9)


 Dacă pentru un anumit x(t) funcŃionala I atinge minimul la ε = 0
atunci, într-o vecinătate, creşterea trebuie să fie pozitivă
dI (ε )
⇒ ε ≥0
d ε ε =0
dI (ε )
 CondiŃia necesară de minim = 0 sau δ I (ε ) = 0 (10)
d ε ε =0
2.1.2. Algoritmul Euler – Lagrange

 Se consideră problema anterioară cu condiŃii de capăt fixate


δ x = εη tf
x x(t ) = x* + εη I (ε ) = ∫ L ( x *
+ εη , x
ɺ *
+ εηɺ , t )dt
η (t0 ) = η (t f ) t0

* tf
x (t )
t dI  ∂L ∂L 
=∫ * η+ ηɺ dt
d ε t  ∂ ( x + εη ) ∂ ( xɺ + εηɺ ) 
*
0
tf
dI  ∂L( x* , xɺ* , t ) ∂L( x* , xɺ* , t ) 
x* (t ) extremală ⇒ = ∫ η+ ηɺ dt = 0
dε ε =0 t0 
∂x *
∂xɺ *

tf tf tf tf
∂L ∂L d ∂L d ∂L
∫ ηɺ dt = η − ∫ η dt = − ∫ η dt ⇒
t0
∂xɺ* ∂xɺ* t0 t dt ∂xɺ* t
dt ∂xɺ *
0 0
tf
dI  ∂L d ∂L 
⇒ δI = = ∫ * − *
η (t )dt = 0
∂ε ε =0 t0  ∂x
dt ∂xɺ 
2.1.2. Algoritmul Euler – Lagrange

Lema fundamentală a calculului variaŃional

Fie f (t ) o funcŃie diferenŃiabilă pe [t0 , t f ] şi η (t ) o funcŃie continuă pe


acelaşi interval, cu

η (t0 ) = η (t f ) = 0
tf
Dacă I = ∫ f (t )η (t )dt = 0 pentru orice η (t ) atunci f (t ) ≡ 0
t0

pe intervalul [t0 , t f ]
2.1.2. Algoritmul Euler – Lagrange
tf
dI  ∂L d ∂L 
δI = = ∫ * − *
η (t )dt = 0 pentru orice η (t )
∂ε ε =0 t0  ∂x
dt ∂xɺ 

∂L( x, xɺ , t ) d ∂L( x, xɺ , t )
− = 0 - condiŃia necesară de extrem (Euler) (11)
∂x dt ∂xɺ

∂2L ∂2L ∂ 2 L ∂L
x (t ) +
ɺɺ xɺ (t ) + − =0 (12)
∂xɺ∂xɺ ∂xɺ∂x ∂xɺ∂t ∂x

EcuaŃia Euler se generalizează şi pentru


• integrale cu mai multe variabile independente
• integrale care conŃin derivate de ordin superior
• integrale cu mai multe variabile dependente
2.1.2. Probleme cu legături. Multiplicatori
Lagrange
Legături de tip funcŃie
 Se consideră problema minimizării funcŃionalei (1) cu condiŃiile de
capăt fixate şi în plus

h(t , x (t )) = 0, h ∈ R p , p < n (13)

 Se construieşte funcŃia sintetică

F ( x , xɺ , λ , t ) = L( x , xɺ , t ) + λT (t ) h( x , t ) (14)

 CondiŃia necesară de extrem Euler – Lagrange


∂F d ∂F
− =0
∂x dt ∂xɺ
* *

• ecuaŃie de aceeaşi formă cu (11), scrisă însă pentru F


• ecuaŃia Euler – Lagrange a funcŃiei F în raport cu variabila λ conduce la
legăturile (13)
2.1.2. Probleme cu legături. Multiplicatori
Lagrange
Legături izoperimetrice
 Se consideră problema minimizării funcŃionalei (1) cu condiŃiile de
capăt fixate şi în plus
tf

∫ f ( x , xɺ , t )dt = k , k ∈ R p , f ∈ R p (15)
t0

 Problema poate fi redusă la cea cu legături de tip funcŃie prin


introducerea variabilei p-dimensionale
tf
x0 (t ) = ∫ f ( x, xɺ , t )dt , x0 (t ) ∈ R p ⇔ xɺ 0 (t ) = f ( x , xɺ , t ) (16)
t0
 Formăm funcŃia sintetică

F ( x, xɺ , λ, t ) = L( x, xɺ , t ) + λT [ f ( x, xɺ , t ) − xɺ 0 (t )] (17)
2.1.2. Probleme cu legături. Multiplicatori
Lagrange
 EcuaŃia Euler – Lagrange pentru funcŃia sintetică F în raport cu
variabila x
∂F d ∂F ∂L ∂f d  ∂L ∂f 
− = + T λ−  + T λ = 0 (18)
∂x dt ∂xɺ ∂x ∂x dt  ∂xɺ ∂xɺ 
 EcuaŃia Euler – Lagrange pentru funcŃia sintetică F în raport cu
variabila x0

d
λ(t ) = 0 ⇔ λ(t ) = const. (19)
dt
 EcuaŃia Euler – Lagrange în raport cu variabila x0 oferă doar (19)
⇒ se poate renunŃa la x0 din expresia lui F, obŃinând astfel o altă
funcŃie sintetică
H ( x , xɺ , λ, t ) = L( x , xɺ , t ) + λT f ( x , xɺ , t )
(20)
funcŃia sintetică a lui Hamilton (Hamiltonian)
2.2. Probleme de conducere optimală
cu condiŃii terminale fixate
 Se consideră sistemul
xɺ (t ) = f ( x (t ), u(t ), t ), x ∈ R n , u ∈ R n , t ∈ [t0 , t f ] ⊂ R (21)

Se cere să se determine comanda u(t) care minimizează


indicele de performanŃă
tf
I= ∫ L( x (t ), u(t ), t )dt , (22)
t0

variabilele x(t) şi u(t) fiind legate prin ecuaŃia (21) a sistemului,


condiŃiile iniŃiale şi respectiv finale fiind fixate
 problema se poate reformula ca o cerinŃă de minimizare a
funcŃionalei (22) cu legătura suplimentară (21) impusă de sistem
h( x , xɺ , u, t ) = xɺ − f ( x , u, t ) = 0 (23)
2.2. Probleme de conducere optimală
cu condiŃii terminale fixate
 Se formează funcŃia sintetică
F ( x, xɺ , λ, u, t ) = L( x, u, t ) + λT (t )[ f ( x, u, t ) − xɺ ], λ ∈ R n (24)

t
 Obs.: (21) ⇒ x (t ) = ∫ f ( x (τ ), u(τ ),τ )dτ ⇒ se putea formula problema
t0
ca una de extremizare a funcŃionalei (40) cu o condiŃie izoperimetrică

 Se introduce hamiltonianul

H ( x , u, λ, t ) = L ( x , u, t ) + λT f ( x , u, t ) (25)

(24)+(25) ⇒ F ( x , xɺ , u, λ, t ) = H ( x , u, λ, t ) − λT (t ) xɺ (t ) (26)
2.2. Probleme de conducere optimală
cu condiŃii terminale fixate
 EcuaŃiile E–L pentru funcŃia sintetică F în raport cu u, x şi λ

∂F d ∂F ∂H
− =0 ⇒ = 0 - condiŃia necesarǎ de extrem (27)
∂u dt ∂u
ɺ ∂u*

}
∂F d ∂F ∂H
− =0 ⇒ = − ɺ* (t )
λ (28)
∂x dt ∂xɺ ∂x* - ecuaŃiile canonice
ale lui Hamilton

∂F d ∂F ∂H
− =0 ⇒ = x
ɺ *
(t ) (29)
∂λ dt ∂λ
ɺ ∂λ*
2.2. Probleme de conducere optimală
cu condiŃii terminale fixate
dH ∂H ∂H ∂H ɺ ∂H
= T x+ T u+ T λ+
ɺ ɺ (30)
dt ∂x ∂u ∂λ ∂t
dH ∂H
 Pe traiectoria extremalǎ = (31)
dt ∂t
dH
 Pentru problemele invariante =0 ⇒ (32)
dt
⇒ H ( x , u, λ) este constantă pe traiectoria extremală

 Modalitate de rezolvare a ecuaŃiilor (27)-(29) ?


2.3. Probleme de conducere optimală cu
condiŃii terminale libere şi semilibere
2.3.1. Probleme cu condiŃii finale libere
 Se cere determinarea comenzii optimale u* (t ) , care transferă
sistemul
xɺ (t ) = f ( x (t ), u(t ), t ), x ∈ R n , u ∈ R m (33)

din condiŃiile iniŃiale x (t0 ) fixate într-o stare finală x = x (t f ) liberă


f

în R n , cu t f > t0 liber, astfel încât să se minimizeze criteriul


tf
I = M (t f , x f ) + ∫ L( x(t ), u(t ), t )dt (34)
t0

Nu se impun restricŃii asupra stării şi comenzii


2.3.1. Probleme cu condiŃii finale libere
tf
I = M (t f , x f ) + ∫ [ H ( x , u, λ, t ) − λT (t ) xɺ (t )]dt (35)
t0
tf tf
tf
I = M (t f , x ) + ∫ H ( x, u, λ, t )dt − λ (t ) x (t ) + ∫
f T
λɺT (t ) x (t )dt (36)
t0
t0 t0

 Se consideră o variaŃie δu faŃă de comanda optimală u*(t) ⇒


variaŃiile δx, δλ
λ, δtf, δxf, δI (δt0=0, δx0=0)
 Se impune condiŃia necesară de extrem δI=0 şi având în vedere
că tf şi xf sunt oarecare rezultă:
 satisfacerea ecuaŃiilor lui Hamilton (27, 28, 29)
 satisfacerea condiŃiilor de transversalitate
∂M (t f , x f ) (37)
= λ* (t f )
∂x f
∂M (t f , x f )
+ H ( x* (t f ), u* (t f ), λ* (t f ), t f ) = 0 (38)
∂t f
2.3.2. Probleme cu stări terminale libere
pe o submulŃime
Starea finală pe o traiectorie dată

 Se consideră problema de la 2.3.1 dar se impune ca

x f = g (t f ) (39)

 CondiŃiile de transversalitate (37), (38) sunt înlocuite de

T
∂M (t f , x )
f  ∂M (t , x f
) * 
+ H [ x (t f ), u (t f ), λ (t f ), t f ] +  − λ (t f ) gɺ (t f ) = 0 (40)
* * * f
∂t f  ∂x
f

2.3.2. Probleme cu stări terminale libere
pe o submulŃime
Stările terminale libere pe suprafeŃe date
 Se consideră problema de la 2.3.1. dar se impune ca x(t0)∈X0 şi
x(tf)∈Xf
X 0 definit de ϕ I ( x , t ) = 0; ϕ I are dim. q0 (41)

X f definit de ϕ F ( x , t ) = 0; ϕ F are dim. q1 (42)


tf
I ' = I − µTϕ I ( x, t ) + νTϕ F ( x, t ) = ∫ L( x, u, t )dt + M '(t0 , x0 , t f , x f ) (43)
t =t0 t =t f
t0
M '(t0 , x , t f , x ) = M (t0 , x , t f , x ) − µT ϕ I ( x , t )
0 f 0 f
+ νT ϕ F ( x, t ) (44)
t = t0 t =t f

}
∂M ∂ϕ I
λ (t0 ) =
*
+ T ⋅ µ* (45)
∂x *
x , t0 ∂x *
x , t0
condiŃiile de transversalitate
∂M ∂ϕ F
λ (t f ) =
*
+ T ⋅ ν* (46)
∂x *
x ,tf ∂x *
x ,tf
2.3.3. ObservaŃii privind condiŃiile
terminale în problemele de optimizare
1. În problemele cu condiŃii terminale fixate nu apar condiŃii de
transversalitate
2. În problemele cu momente terminale t0 şi tf libere şi stări terminale x0
şi xf fixate apar condiŃii de transversalitate referitoare la aceste
momente (relaŃia (38) şi similară acesteia pentru t0)
3. În problemele cu momente terminale t0 şi tf fixate şi stări terminale x0
şi xf libere apar condiŃii de transversalitate referitoare la aceste stări
(relaŃia (37) şi similara acesteia pentru x0)
4. În problemele cu momente şi stări terminale libere apar ambele tipuri
de condiŃii de transversalitate precizate la 2. şi 3.
5. În problemele cu t0 şi x0 fixaŃi, tf liber şi xf fixat pe o curbă, condiŃia de
transversalitate este (40); o condiŃie similară se poate scrie şi pentru
capătul iniŃial
6. În problemele cu t0 şi tf fixaŃi, x0 şi xf libere pe anumite suprafeŃe,
condiŃiile de transversalitate sunt de forma (45) şi (46)
2.3.3. ObservaŃii privind condiŃiile
terminale în problemele de optimizare
 La capătul unde starea x(t) este liberă, costarea λ(t) este
fixată, iar la capătul unde starea x(t) este fixată, costarea λ(t)
este liberă
 Această situaŃie poate să apară doar în legătură cu anumite
variabile de stare, fără să se extindă asupra întregului vector de
stare x(t)
 Specific în astfel de probleme este faptul că
 unele variabile se pot fixa la ambele capete ale traiectoriei şi
atunci se spune că avem o problemă bilocală în raport cu
aceste variabile
 alte variabile nu se fixează la nici un capăt, ceea ce determină
fixarea multiplicatorilor la capete şi avem o problemă bilocală
în raport cu aceşti multiplicatori
2.4. CondiŃii necesare şi suficiente de
extrem
 Satisfacerea ecuaŃiilor Euler – Lagrange nu asigură în mod obligatoriu
extremizarea funcŃionalei
 EcuaŃiile şi condiŃiile de transversalitate
 nu admit nici o soluŃie
 admit o soluŃie
 admit mai multe soluŃii în mulŃimea comenzilor admisibile
 Nu orice soluŃie a acestor ecuaŃii determină o traiectorie extremală
 din mulŃimea traiectoriilor extremale trebuie aleasă cea optimă, care
asigură minimul global
 În general problema existenŃei şi unicităŃii extremalei este dificilă
 uneori, considerente fizice conduc la concluzia că problema admite o
singură extremală şi că aceasta reprezintă traiectoria optimă căutată
 CondiŃiile suficiente de extrem se referă la extreme locale, deci nu
garantează că extremul obŃinut este absolut
 cunoscând toate extremele de pe mulŃimea traiectoriilor admise, separarea
extremului absolut nu prezintă dificultăŃi deosebite
 Calculul variaŃional clasic oferă o serie de condiŃii necesare de extrem,
toate acestea la un loc formând condiŃia suficientă de extrem
2.4. CondiŃii necesare şi suficiente de
extrem
a) CondiŃii Euler – Lagrange - subcapitolul 2.1 pentru problemele
variaŃionale şi 2.2 pentru problemele de comandă optimală
b) CondiŃii de transversalitate subcapitolul 2.3 problemele de comandă
optimală
c) CondiŃia Legendre
 probleme variaŃionale cu condiŃii de capăt fixate

x∈R : ∂2L
≥0 (47)
∂xɺ 2

 ∂2L ∂2L 
 ⋯ 
∂ x
ɺ
 1 1 ∂xɺ ∂ x
ɺ ∂ x
ɺ
1 n
∂ 2
L
x ∈ Rn : = ⋯ ⋯ ⋯ ≥0 (48)
∂xɺ ∂xɺ T
 2 
 ∂ L ⋯ ∂ L 
2

 ∂xɺ ∂xɺ ∂xɺn ∂xɺn 


 n 1
2.4. CondiŃii necesare şi suficiente de
extrem
 probleme de conducere optimală de tip Bolza cu condiŃii iniŃiale fixate
*
 ∂H 
(i )   =0
 ∂u 
*
 ∂2H 
(ii )  2  > 0
 ∂u 
 ∂2H ∂2H 
 2  (49)
∂x ∂u ∂x
(iii )  ≥0
∂ H ∂ H 
2 2
 2 
 ∂x ∂u ∂u 
∂2H
(iv) ≥0
∂x 2

∂2M
≥0
∂x f2
2.4. CondiŃii necesare şi suficiente de
extrem
d) CondiŃia suficientă Jacobi-Legendre
e) CondiŃia Weierstrass
f) CondiŃia Erdman-Weierstrass

ObservaŃii:
 CondiŃiile de extrem (a)...(f) sunt toate condiŃii necesare. Ansamblul
acestor condiŃii oferă condiŃia suficientă de extrem
 În anumite probleme nu trebuie considerate toate condiŃiile (a...f) pentru a
verifica suficienŃa
 Pentru verificarea suficienŃei trebuie utilizate toate cele şase condiŃii de
extrem numai în cazul folosirii formelor mai puŃin restrictive ale acestora
 Se pot folosi în afară de (a) doar condiŃiile Jacobi şi Legendre, dacă
aceasta din urmă este verificată strict
 În problemele de conducere optimală se poate apela doar la condiŃia
Legendre extinsă sub forma relaŃiilor (49)
Tehnici de optimizare
- note de curs -

Ş.l.dr.ing. Florin Ostafi


fostafi@ac.tuiasi.ro
www.ac.tuiasi.ro/~fostafi
METODE
VARIAłIONALE
CLASICE
2.5. Metode variaŃionale clasice de
optimizare în cazul discret

 Forma discretă a metodelor variaŃionale este importantă


deoarece permite
 tratarea problemelor de optimizare în cazul discret
 o abordare numerică a acestor probleme în cazul sistemelor
continue discretizate

 Ca şi în cazul continuu, se vor prezenta iniŃial problemele


variaŃionale propriu-zise, iar apoi cele de control optimal
2.5. Metode variaŃionale clasice de
optimizare în cazul discret
2.5.1. Algoritmul Euler – Lagrange discret
 Se consideră echivalentul discret al funcŃionalei din cazul
continuu
k f −1 k f −1
I= ∑ L( x (k ), x (k + 1), k ) = ∑ Lk (1)
k = k0 k = k0

x ( k ) = x (tk ), x ( k0 ) = x (t0 ), x ( k f ) = x (t f )

tk - valorile discrete ale timpului

 Se consideră cuantificarea în timp cu pas constant, deci


x(k ) = x(kT )
T - perioada de eşantionare
2.5.1. Algoritmul Euler – Lagrange
discret
 Se pleacă de la variaŃiile funcŃiei faŃă de traiectoria extremală x*

x ( k ) = x * ( k ) + ε ηx ( k )
(2)
x (k + 1) = x (k + 1) + ε ηx ( k +1)
*

δ x (k ) = ε ηx ( k )

δ x ( k + 1) = ε ηx ( k +1)

η x ( k0 ) = η x ( k f ) = 0 (3)

 CondiŃiile (3) sunt impuse de fixarea valorilor funcŃiei x la capetele


intervalului
x ( k0 ) = x 0
x (k f ) = x f
2.5.1. Algoritmul Euler – Lagrange
discret
 CondiŃia de extrem
k f −1
∂I  ∂Lk ∂Lk 
(4) δ I = 0 sau = 0 ⇒ ∑  * , ηx(k) + * , ηx(k+1)  = 0 ⋅ ε (5)
∂ε ε =0 k =k0  ∂x (k) ∂x (k +1) 
k f −1
 T ∂Lk ∂Lk 
⇒ δ I = ∑ δ x ( k )
∂x ( k )
*
+ δ x T
( k + 1) =0
∂x (k + 1) 
*
(6)
k = k0 
k f −1 kf
k → m – 1 ⇒ ∑δ xT (k +1) k
∂L (x(k), x(k +1), k) ∂L(x(m−1), x(m), m−1)
= ∑ δ xT (m)
k=k0 ∂x(k +1) m=k0+1 ∂x(m)
 Se revine la notaŃia k, punând m = k şi reŃinând în cadrul sumei numai
termenii între k0 şi kf-1 ⇒
k f −1 k −1
∂L f
∂L( x (k − 1), x (k ), k − 1)
∑ δ x (k + 1) ∂x (k + 1) = ∑ δ x (k )
T T
∂x (k )
+
k = k0 k = k0 (7)
k =k f
∂L( x (k − 1), x (k ), k − 1)
+δ x (k )T
∂x (k ) k =k 0
2.5.1. Algoritmul Euler – Lagrange
discret
 (6) + (7) ⇒
k f −1
 ∂L( x ( k ), x (k + 1), k ) ∂L( x (k − 1), x (k ), k − 1) 
∑ δ x (k ) 
T
∂x (k )
+
∂x (k ) 

+
k = k0
(8)
k =k f
∂L( x (k − 1), x ( k ), k − 1)
+δ xT (k ) =0
∂x (k ) k =k
0

 Termenul al doilea din (8) se anulează conform condiŃiilor (3), sau, în


problemele în care aceste condiŃii nu sunt îndeplinite, anularea ⇒ lui
conduce la condiŃiile de transversalitate
 Primul termen din (8) se anulează pentru δx(k) oarecare dacă

∂L( x (k ), x (k + 1), k ) ∂L( x (k − 1), x (k ), k − 1)


+ =0 ecuaŃia (9)
∂x (k ) ∂x (k ) Euler – Lagrange
2.5. Metode variaŃionale clasice de
optimizare în cazul discret
2.5.2. CondiŃii de extrem în problemele de conducere
optimală discretă
 Sistemul
x (k + 1) = f ( x ( k ), u(k ), k ), k = k0 ,..., k f − 1, x (k ) ∈ R n , u(k ) ∈ R m (10)

 CondiŃii iniŃiale şi finale libere


 Indicele de calitate
k f −1
k =k f
I =M ( x ( k ), k ) k = k
0
+ ∑ L( x (k ), u(k ), k ), (11)
k = k0

 Hamiltonianul
H ( x (k ), u(k ), λ( k + 1), k ) =
= L( x (k ), u(k ), k ) + λT (k + 1) f ( x (k ), u(k ), k ), λ(k ) ∈ R n (12)
2.5.2. CondiŃii de extrem în problemele
de optimizare dinamică discretă
 Pentru simplificare se consideră problemele invariante
k f −1
k =k f
I =M ( x(k )) k =k
0
+ ∑ [ H ( x ( k ), u( k ), λ( k + 1)) − λT
(k + 1) f ( x(k ), u(k ))] (13)
k =k0
 Se consideră că o variaŃie δ u( k ) = ε ν ( k ) faŃă de comanda optimală
produce variaŃiile
δ x (k ) = ε η(k ), δ x (k + 1) = ε η(k + 1), δλ (k + 1) = ερ (k + 1)
faŃă de starea optimală şi costarea optimală şi, în final, variaŃia
indicelui de calitate δ I
 (4) +(13) ⇒
k f −1
∂M (k f ) ∂M (k0 ) ∂H (k ) T ∂H (k )
ηT (k f ) − ηT (k0 ) + ∑ [ηT (k ) +ν (k ) +

∂x(k f ) ∂x(k0 ) k =k0 ∂x(k ) ∂u(k )
k −1
∂H (k ) f (14)
+ ρ (k +1)
T
] − ∑ [ λT (k +1)η(k + 1) + ρT (k +1) x(k +1)] = 0
∂λ(k + 1) k =k0
2.5.2. CondiŃii de extrem în problemele
de optimizare dinamică discretă
k f −1 kf

∑ λT ( k + 1)η(k + 1) = ∑ λT (k )η(k ) =
k = k0 k = k0 +1 (15)
k f −1
= λT (k f )η(k f ) − λT ( k0 )η(k0 ) + ∑ λT (k )η(k )
k = k0
 (14) + (15) ⇒
 ∂M (k f )  T  ∂M (k0 ) 
T
η (k f )  − λ( k f )  − η ( k0 )  − λ( k0 )  +
 ∂x (k )   ∂x (k0 ) 
 f 
k f −1 k f −1
 ∂H ( k )  ∂H (k )
+ ∑ ηT (k )  − λ( k )  + ∑ ν T ( k ) + (16)
k = k0  ∂x ( k )  k = k0 ∂u(k )
k f −1
 ∂H (k ) 
+ ∑ ρT (k + 1)  − x ( k + 1)  = 0
k = k0  ∂λ(k + 1) 
2.5.2. CondiŃii de extrem în problemele
de optimizare dinamică discretă
 (16) ⇒
∂H ( x* (k ), u* (k ), λ* (k + 1))
=0 (17)
∂u ( k )
*

∂H ( x* (k ), u* ( k ), λ* (k + 1)) condiŃiile Hamilton


= λ*
(k ) pentru cazul discret (18)
∂x (k )
*

∂H ( x * (k ), u* (k ), λ* (k + 1))
= x *
(k + 1) (19)
∂λ ( k + 1)
*

}
∂M ( x (k0 )) *
− λ ( k0 ) = 0 (20)
∂x (k0 ) condiŃiile de transversalitate
în raport cu capetele traiectoriei
∂M ( x (k f ))
− λ* (k f ) = 0 (21)
∂x (k f )
2.5.2. CondiŃii de extrem în problemele
de optimizare dinamică discretă
ObservaŃii
 relaŃiile (17)-(21) se generalizează şi pentru cazul variant

 în cazul problemelor cu momente terminale libere apare şi condiŃia


de transversalitate în raport cu acestea
 de exemplu, pentru kf liber, condiŃia de transversalitate este
∂M ( x* (k f ), k f )
+ H ( x* (k f ), u* (k f ) λ* (k f ), k f ) = 0 (22)
∂k f
 CondiŃia suficientă pentru ca extremul să fie un minim rezultă şi
acum din δ 2 I ≥ 0
∂2H
≥0 (23)
∂u2 u = u*
 Pentru celelalte condiŃii necesare şi suficiente de extrem există
extinderi similare în cazul discret
2.5. Metode variaŃionale clasice de
optimizare în cazul discret
2.5.3. ComparaŃie între cazul continuu şi cel discret

 Atât în cazul continuu cât şi în cel discret, comanda


optimală se obŃine din condiŃia de minim a hamiltonianului
 CondiŃiile de extrem stabilite în cele două cazuri sunt
asemănătoare
 Se pune problema dacă condiŃiile de minim pentru un
sistem discret conduc întru totul la aceleaşi rezultate ca şi
în cazul discretizării aceloraşi condiŃii din cazul continuu
 Răspunsul nu este afirmativ, coincidenŃa (în general aproximativă)
putându-se obŃine în anumite condiŃii
2.5.3. ComparaŃie între cazul continuu şi
cel discret
 Se consideră sistemul continuu şi indicele de calitate
x (t0 ) = x 0 , t0 , t f , x − fixate
f
xɺ = f ( x, u, t ), cu x ∈ R , n
(24)
tf
I= ∫ L( x, u, t )dt (25)
t0

H ( x , u, λ, t ) = L ( x , u, t ) + λT f ( x , u, t ) (26)

∂H ∂L( x , u, t ) T ∂f ( x, u, t )
=0⇒ + λ (t ) =0 (27)
∂u ∂u ∂u
∂H ∂L( x, u, t ) T ∂f ( x , u, t )
= −λ ⇒
ɺ + λ (t ) = − λɺ(t ) (28)
∂x ∂x ∂x
∂M ( x f )
= λ(t f ) ⇒ λ(t f ) = 0 (29)
∂x f
2.5.3. ComparaŃie între cazul continuu şi
cel discret
 Se apelează la discretizarea
x ((k + 1)T ) − x ( kT )
xɺ kT = (30)
T
λ((k + 1)T ) − λ(kT )
λɺ kT = (31)
T
(24)+(30)+(31) ⇒ x (k + 1) = x (k ) + Tf ( x (k ), u(k ), k ), x (k0 ) = x
0
 (32)

 (27)+(28)+(29)+(30)+(31) ⇒
∂L( x (k ), u(k ), k ) ∂f ( x (k ), u(k ), k )
+ λ( k ) = 0 (33)
∂u(k ) ∂u (k )
T

∂L( x (k ), u(k ), k ) ∂f ( x (k ), u(k ), k )


λ(k + 1) = λ(k ) − T −T λ( k ) (34)
∂x ( k ) ∂x (k )
T

λ( k f ) = 0 (35)
2.5.3. ComparaŃie între cazul continuu şi
cel discret
 Se consideră acum sistemul discretizat

x (k + 1) = x (k ) + Tf ( x (k ), u(k ), k ), x (k0 ) = x 0 (36)

şi criteriul discret corespunzător lui (25)


k f −1
I =T ∑ L( x (k ), u(k ), k ) (37)
k = k0

 Hamiltonianul este
H ( k ) = TL( x ( k ), u( k ), k ) + λT ( k + 1)[ x ( k ) + Tf ( x ( k ), u( k ), k )] (38)
∂H (k ) ∂L( x ( k ), u(k ), t ) ∂f
=0⇒ + T λ(k + 1) = 0 (39)
∂u( k ) ∂u(k ) ∂u ( k )
∂H (k ) ∂L( x (k ), u(k ), k )  ∂f 
= λ( k ) ⇒ T +  In + T T  λ(k + 1) = λ(k ) (40)
∂x (k ) ∂x (k )  ∂x (k ) 
2.5.3. ComparaŃie între cazul continuu şi
cel discret
 În cele două variante, rezolvarea problemei se face pe baza
seturilor de relaŃii (32...35) şi respectiv (32, 35, 39, 40)
 Evident, aceste relaŃii nu coincid întru totul
 Dacă variabila adjunctă nu variază prea mult de la un pas de
discretizare la altul, deosebirea între (33) şi (39) nu este prea mare
• acest lucru poate fi acceptat pentru T suficient de mic
 O deosebire mai mare apare între (34) şi (40)
• relaŃia (40) se mai scrie
−1
 ∂f ( x (k ), u(k ), k )   ∂L( x (k ), u( k ), k ) 
λ(k + 1) =  I n + T   λ ( k ) − T  (41)
 ∂ x T
( k )   ∂x (k ) 

• dacă se dezvoltă primul factor în serie Taylor după T, reŃinând doar


termenul de ordinul întâi, se obŃine (34)
 Prin urmare, rezultatele în cele două variante sunt destul de
apropiate dacă perioada de eşantionare T este suficient de mică
Tehnici de optimizare
- note de curs -

Ş.l.dr.ing. Florin Ostafi


fostafi@ac.tuiasi.ro
www.ac.tuiasi.ro/~fostafi
PROBLEMA DE
OPTIMIZARE LINIAR
PĂTRATICĂ
 Problema de optimizare liniar pătratică
(LQ – Linear Quadratic)
 sistem liniar
 criteriu pătratic
 Utilizarea frecventă a acestei probleme se explică prin
 forma modelului matematic - se adoptă pentru foarte multe procese
 importanŃa criteriului
• asigură erori mici pentru sistemul automat, în condiŃiile unui consum de
energie redus
 Datorită formei particulare a sistemului şi criteriului,
aspectele de calcul au putut fi rezolvate într-un caz
general, care nu s-a obŃinut în alte probleme de optimizare
3.1. Problema liniar pătratică cu timp
final finit
3.1.1. Formularea problemei

x (t ) = A(t ) x (t ) + B (t )u(t ), x ∈ R n , u ∈ R m (1)


tf
1 1
I = xT (t f ) Sx (t f ) + ∫  xT (t )Q (t ) x (t ) + uT (t ) P (t ) u(t ) dt (2)
2 2t
0

S ≥ 0, Q (t ) ≥ 0, P (t ) > 0
t0 , t f - fixaŃi x 0 (t0 ) = x 0 - fixată x (t f ) - liberă

 Nu se impun restricŃii asupra stării şi comenzii


 Se cere determinarea comenzii optimale în circuit închis u*(t)=u*(x(t)) care
transferă sistemul (1) din condiŃiile iniŃiale în cele finale precizate, astfel încât
să se minimizeze criteriul (2)
3.1.1. Formularea problemei

 SemnificaŃia problemei este de eroare medie minimă (x(t) reprezintă


abaterea faŃă de o stare dorită) şi de consum minim de energie
 Criteriul (2) penalizează
 abaterile tranzitorii mari faŃă de starea de referinŃă x(t)=0
 abaterile mari la momentul final
 valorile mari ale comenzii u(t)
 ObservaŃii referitoare la matricele criteriului
 S, Q şi P sunt dependente de t atunci când se doreşte o ponderare în timp a
influenŃelor componentelor respective în diverse perioade ale intervalului de
optimizare [t0,tf]
 P nu poate fi nulă, căci indicele de calitate nu ar mai depinde de comandă
 Una din matricele S sau Q poate fi nulă, dar nu ambele, căci problema de
optimizare ar admite în acest caz soluŃia trivială u(t)≡0
 În general S, Q şi P sunt diagonale
• sunt şi probleme în care ele apar ca matrice simetrice nediagonale, cel mai des
în urma unor transformări aplicate variabilelor de stare
3.1.2. SoluŃia problemei
1 T 1
H= x (t )Q (t ) x (t ) + uT (t ) P (t )u(t ) + λT (t )[ A(t ) x (t ) + B (t )u(t )] (3)
2 2
∂H
= − λɺ(t ) ⇒ λɺ(t ) = −Q (t ) x (t ) − AT (t ) λ(t ) (4)
∂x
∂H
= 0 ⇒ P (t ) u(t ) + BT (t ) λ(t ) = 0 ⇒ u(t ) = − P −1 (t ) BT (t ) λ(t ) (5)
∂u
∂M
= λ(t f ) ⇒ λ(t f ) = Sx (t f ) (6)

}
∂x f

∂2H ∂2 H
= P (t ) > 0 = Q (t ) ≥ 0
∂u 2 ∂x 2

 ∂2 H ∂2 H 
 2  Q (t ) ⇒ extremul este un minim
∂x ∂ u ∂x 0 
∂ M
2
 =  ≥0
=S ≥0 ∂ H ∂ H   0
2 2 P (t ) 
∂x f
2
 
 ∂x∂u ∂u 2 
3.1.2. SoluŃia problemei

 Se caută o dependenŃă de forma λ(t ) = R (t ) x (t ) (7)


 (6) + (7) ⇒ R (t f ) = S (8)
 (7) + (1) + (5) ⇒ λɺ(t ) = R
ɺ (t ) x (t ) + R(t ) A(t ) x (t ) − R(t ) N (t ) λ(t ) (9)

N (t ) = B (t ) P −1 (t ) BT (t ) (10)
 (9) + (4) + (7) ⇒
ɺ (t ) − R(t ) N (t ) R(t ) + R(t ) A(t ) + AT (t ) R(t ) + Q(t )]x(t ) = 0, ∀t ∈[t , t ] (11)
⇒ [R 0 f
 RelaŃia (11) trebuie să fie satisfăcută pentru orice x(t) ⇒
⇒ Rɺ (t ) = R (t ) N (t ) R (t ) − R (t ) A(t ) − AT (t ) R (t ) − Q (t ) (12)
(EcuaŃie Matriceală DiferenŃială Riccati - EMDR, cu condiŃia finală (8))
 (1) + (5) + (7) ⇒ traiectoria extremală satisface ecuaŃia omogenă
xɺ (t ) = [ A(t ) − N (t ) R(t )] x (t ) (13)

cu condiŃia iniŃială x (t0 ) = x


0
3.1.3. ObservaŃii privind soluŃia
problemei
i. Există o soluŃie globală a ecuaŃiei (12) pe [t0, tf]
ii. Matricea R(t), soluŃie a EMDR cu R(t f ) = S este simetrică
iii. Este posibilă o factorizare a matricei R(t)
(1) + (5) + (4) ⇒ xɺ (t ) = A(t ) x (t ) − N (t ) λ(t ) (14)
λɺ(t ) = −Q (t ) x (t ) − AT (t ) λ(t )
 Sistemului vectorial (14) îi corespunde sistemul canonic matriceal
Xɺ (t ) = A(t ) X (t ) − N (t ) Λ(t )
(15)
Λɺ (t ) = −Q (t ) X (t ) − AT (t ) Λ(t )
pentru care se consideră condiŃiile de capăt X (t f ) = I n , Λ(t f ) = S (16)
 Matricele X(t) şi Λ(t) - matricele fundamentale (14)
 Se demonstrează că, dacă X(t) nesingulară atunci
R (t ) = Λ(t ) X −1 (t ) (17)
 Dacă S ≥ 0, Q ≥ 0, P > 0 ⇒ X(t) nesingulară
3.1.3. ObservaŃii privind soluŃia
problemei
iv. Dacă există comanda optimală, ea este unică şi este dată de

u(t ) = − P −1 (t ) BT (t ) R(t ) x (t ) (18)

v. Fie I* minimul funcŃionalei I(x(t),t). Se demonstrează că


1 T
I * ( x (t ), t ) = x (t ) R(t ) x (t ) (19)
2
În cazul în care comanda optimală u(t ) ≠ 0 pentru orice stare, atunci
R(t) este o matrice pozitiv definită pentru t0 ≤ t < t f şi R (t f ) = S - pozitiv
semidefinită

iv. Valoarea minimă a indicelui de calitate este


1 T
I* = x (t0 ) R(t0 ) x (t0 ) (20)
2
3.1.4. Structura sistemului optimal

x (t 0 )

u (t ) + xɺ (t ) x (t )
−P B −1 T
B ∫
+
A
λ (t ) R(t ) x

matricea regulatorului optimal - K (t ) = − P −1 (t ) BT (t ) R(t ) (21)

F (t ) = A(t ) − B (t ) P −1 (t ) BT (t ) R(t ) = A(t ) − N (t ) R(t ) (22)

matricea sistemului închis


3.2. Problema de optimizare liniar
pătratică cu timp final infinit - PLPI
xɺ (t ) = Ax (t ) + Bu(t ), x (t ) ∈ R n , u(t ) ∈ R m , x (0) = x 0 (23)

1
I ∞ = ∫ [ xT (t )Qx (t ) +uT (t ) Pu(t )]dt (24)
20
 Q şi P – matrice constante, simetrice, Q ≥ 0, P ≥ 0
 Integrala (24) este convergenta numai în cazul în care lim x (t ) = 0
t →∞
 Sistemul optimal închis trebuie să fie stabil, deci perechea (A,B) să fie
stabilizabilă (eventual, se poate impune ca ea să fie complet
controlabilă)
 Dacă este îndeplinită această condiŃie, se poate căuta o comandă
depinzând liniar de x (t )

u(t ) = Kx (t ) (K – matrice constantă) (25)

astfel încât sistemul închis să fie stabil, iar I ∞ este mărginit


3.2. Problema de optimizare liniar
pătratică
t
cu timp final infinit
f
1
 Fie I t
f
= ∫ [ xT (t )Qx (t ) + uT (t ) Pu(t )]dt (26)
20

 Să consideră EMDR (12) corespunzătoare acestei probleme


 În acest caz R (t f ) = 0 (27)
ProprietăŃi
i. Dacă perechea (A, B) este stabilizabilă, atunci lim R(t , t f , 0) = R (28)
t f →∞
există şi R ≥ 0
ii. În condiŃiile de la (i), R definită de (28) este soluŃie a ecuaŃiei matriceale
algebrice Riccati (EMAR)
RBP −1BT R − RA − AT R − Q = 0
(29)

iii. În condiŃiile de la (i), legea de comandă u(t ) = − P −1BT Rx (t ) (30)


este o soluŃie în c.î. a PLPI, iar valoarea optimă a criteriului (24) este
1 0T 0
I ∞* = x Rx (31)
2
3.2. Problema de optimizare liniar
pătratică cu timp final infinit
ObservaŃie. ProprietăŃile anterioare nu garantează că lim x (t ) este finită,
t →∞
chiar în condiŃiile în care valoarea optimă a criteriului este finită

xɺ = x + u 1
Exemplu: I ∞ = ∫ u 2 dt
20
 se constată că R = 0 ⇒ u(t) = 0 este comandă optimală (∀)x 0 ⇒ I ∞* = 0
traiectoriile optimale sunt x (t ) = e x ⇒ lim x (t ) = ∞
t 0

t →∞

iv. Dacă perechea (A,B) este stabilizabilă, iar perechea ( Q , A) este


detectabilă, legea de comandă (optimală) (30) este stabilizatoare
ObservaŃie: în condiŃiile de la (iv), o soluŃie simetrică R a EMAR este
stabilizatoare dacă şi numai dacă este pozitiv semidefinită
v. În condiŃiile (iv), soluŃia R a EMAR este unica soluŃie pozitiv semidefinită
3.2. Problema de optimizare liniar
pătratică cu timp final infinit
Teoremă: fie problema de optimizare liniar pătratică (cu timp final infinit)
referitoare la sistemul invariant (23) cu (A,B) stabilizabilă şi criteriul
(24), în care P > 0, Q ≥ 0 . Atunci:
 are loc relaŃia lim R(t , t f , 0) = R ≥ 0 în care R (t , t f , 0) este soluŃia
t f →∞

(pozitiv definită) a EMDR (12) corespunzătoare problemei cu sistemul (23)


şi criteriul (24), cu R (t f ) = 0
−1 T
R verifică EMAR RBP B R − RA − A R − Q = 0
T
 limita

 legea de conducere optimală în circuit închis este u(t) = −P−1BT Rx(t ) = Kx(t )
0T

*
valoarea minimă a indicelui de calitate este I ∞ = x Rx 0 , unde x 0 = x (0)
−1 T
Dacă în plus perechea ( Q , A) este detectabilă, matricea K = − P B R şi
comanda corespunzătoare u(t ) = Kx (t ) sunt stabilizatoare şi matricea R
este unica soluŃie pozitiv semidefinită a EMAR (29)
3.3. SoluŃionarea ecuaŃiilor matriceale
Riccati
 SoluŃionarea PLP cu timp final finit / infinit impune rezolvarea unei
ecuaŃii matriceale Riccati diferenŃiale / algebrice
 Pentru EMDR nu există soluŃii exprimabile prin formule analitice de
calcul,
 şi în cazul scalar, în general, soluŃia ecuaŃiei diferenŃiale Riccati se poate
stabili numai dacă se cunoaşte o soluŃie particulară a ecuaŃiei
 EMAR se reduce în cazul scalar la o ecuaŃie algebrică de gradul 2
 În cazul matriceal EMAR echivalează cu un sistem de n(n+1)/2 ecuaŃii
algebrice neliniare de grad 2
 pentru n ≥ 3 devine practic nerezolvabil pe cale analitică
 chiar metodele numerice care abordează această cale sunt deosebit de
laborioase
3.3.1. Rezolvarea EMDR
a) SoluŃia EMDR se poate determina prin aproximaŃii succesive din şirul
R0 (t ), R1 (t ),..., Ri (t ),...,
care se poate demonstra că este convergent către soluŃia R(t) a EMDR
şi ale cărui elemente se calculează cu
t
Ri (t) = S + ∫ [Ri−1(θ )N(θ )Ri−1(θ ) − Ri−1(θ ) A(θ ) − AT (θ )Ri−1(θ ) − Q(θ )]dθ, i =1,2,...
tf

 IniŃializarea R0 (t ) > 0 poate fi oarecare, dar influenŃează eficienŃa procedurii


 La fiecare iteraŃie se calculează matricea Ri la momentele kh, h = const.
 ConvergenŃa este destul de lentă, iar h trebuie ales destul de mic pentru a
se asigura stabilitatea procesului de calcul
 Un procedeu oarecum echivalent constă în aproximarea derivatei
Rɺ (t ) ≅ [ R(t + ∆) − R(t )] / ∆
(12) ⇒ R (t + ∆ ) = R(t ) + ∆[ R (t ) N (t ) R(t ) − R (t ) A(t ) − AT (t ) R(t ) − Q (t )]
 EcuaŃia se rezolvă în timp invers pentru ∆ negativ, pornind de la
condiŃia de capăt R (t f ) = S
3.3.1. Rezolvarea EMDR

b) Un alt procedeu iterativ calculează pe rând aproximaŃiile succesive


R0 (t ), R1 (t ),..., Rk (t ),...,
obŃinute ca soluŃii ale ecuaŃiilor diferenŃiale liniare

Rɺ0 =−R0 A(t) − AT (t)R0 −Q(t), R0(t f ) = S


Rɺ =−R [A(t) − N(t)R (t)] −[AT (t) − R (t)N(t)]R − R (t)N(t)R (t) −Q(t),
1 1 0 0 1 0 0 (32)
R1(t f ) = S cu N(t) dat de (10)
....................
Rɺk =−Rk[A(t) − N(t)Rk−1(t)] −[AT (t) − Rk−1(t)N(t)]Rk − Rk−1(t)N(t)Rk−1(t) −Q(t),
Rk (t f ) = S.
Se poate arăta că pentru R0 (t ) ≥ 0, ∀t ∈ [t0 , t f ] derivabilă în raport cu t,
există relaŃia Rk (t ) ≤ Rk −1 (t ) iar şirul de matrice { Rk (t )} converge
uniform către soluŃia EMDR (12)
3.3.1. Rezolvarea EMDR

c) O altă cale de stabilire a soluŃiei EMDR se bazează pe factorizarea


matricei R(t) prezentată în 3.1.3
Sistemul (15) se poate scrie

Xɺ (t) X(t)  A(t) −N(t) 


Λ  = H(t) , H(t) =  T 
, N (t ) = B(t ) P −1 (t ) BT (t ) (33)
ɺ
 (t)   Λ(t)  −Q(t) −A (t)
0 − In 
JHJ = H , cu J = 
T

 In 0 

Ω (t , t f ) - matricea de tranziŃie corespunzătoare lui H(t)

 X (t )   X (t f )   In   Ω11 (t , t f ) Ω12 (t , t f ) 
 Λ(t )  = Ω (t , t f )  Λ(t )  = Ω (t , t f )  S  , Ω (t , t f ) =  Ω (t , t ) Ω (t , t ) 
   f     21 f 22 f 

R(t ) = [ Ω21 (t , t f ) + Ω22 (t , t f ) S ][ Ω11 (t , t f ) + Ω12 (t , t f ) S ]−1 (34)


3.3.2. Rezolvarea EMAR
a) Dacă perechea (A, B) este stabilizabilă, soluŃia EMAR se obŃine ca
limită a soluŃiei EMDR pentru t f → ∞
Algoritm:
1. Se testează stabilizabilitatea perechii (A,B)
2. Se calculează soluŃia EMDR corespunzătoare cu condiŃia de capăt R(t f ) = 0
3. Se repetă (2) cu tf luând valori crescătoare până când diferenŃele dintre
două soluŃii obŃinute la etapa (2°) sunt mai mici decât o valoare impusă;
ultima soluŃie determinată se adoptă ca soluŃie EMAR
 Procedeu de calcul al soluŃiei EMAR eficient
 Pentru a asigura stabilitatea procesului de calcul, la stabilirea soluŃiei EMDR se
adoptă de obicei un pas mic ⇒ metodă mai puŃin eficientă
 De asemenea, pentru valori mari ale lui tf, unele proceduri de calcul ale EMDR
pot conduce la numere foarte mari în expresiile unor matrice, ceea ce poate
determina eşuarea programului
 Pentru aprecierea valorilor tf care trebuie considerate în etapa (3), se poate
considera că o valoare a lui tf mai mare de 5...10 ori decât cea mai mare
constantă de timp a procesului conduce la un răspuns apropiat de cel oferit de
EMAR
3.3.2. Rezolvarea EMAR
b) O clasă de metode se bazează pe construirea unei matrice de tip
Hamilton asociate şi pe proprietăŃile speciale ale acestei matrice
c) O altă clasă de metode pentru rezolvarea EMAR o formează o serie de
proceduri iterative, care, în linii generale, apelează la algoritmi de tip
Newton – Raphson
Tehnici de optimizare
- note de curs -

Ş.l.dr.ing. Florin Ostafi


fostafi@ac.tuiasi.ro
www.ac.tuiasi.ro/~fostafi
PROBLEMA DE
OPTIMIZARE LINIAR
PĂTRATICĂ
3.4. Problema de optimizare liniar
pătratică discretă
x (k +1) = A(k ) x (k ) + B (k )u(k ), x (0) = x 0 (1)

x (k ) ∈ R n , u(k ) ∈ R m , x (k ) = x (tk ) = x (kT )


k f −1
1 1
I = xT (k f ) Sx (k f ) +
2 2
∑ [ xT (k )Q(k ) x (k ) + uT (k ) P (k )u(k )] (2)
k =0
S ≥ 0, Q ≥ 0, P > 0
1 1
H k = xT (k )Qx (k ) + uT (k ) Pu( k ) + λ T (k +1)[ Ax (k ) + Bu(k )] (3)
2 2
∂H k
= λ (k ) ⇒ Qx (k ) + AT λ (k +1) = λ (k ) (4)
∂x (k )
∂H k
= 0 ⇒ Pu(k ) + BT λ (k +1) = 0 sau u(k ) = − P −1 BT λ (k +1) (5)
∂u( k )
∂Mx (k f )
= λ (k f ) ⇒ Sx (k f ) = λ (k f ) (6)
∂x (k f )
3.4. Problema de optimizare liniar
pătratică discretă
 Se caută o dependenŃă liniară între λ(k) şi x(k): λ ( k ) = R ( k ) x ( k ) (7)
 (5) + (1) ⇒ x ( k +1) = Ax ( k ) − BP −1 BT λ ( k +1) (8)
 Se introduce (7) în (4) şi (8)
x (k +1) = Ax (k ) − BP −1 BT R( k +1) x (k +1)
(9)
R(k ) x ( k ) = Qx (k ) + A R(k +1) x (k +1)
T

 Explicitând x(k+1) din prima relaŃie şi introducând în a doua, găsim


R(k ) x (k ) = Qx (k ) + AT R(k +1)( I n + BP −1BT R(k +1))−1 Ax (k ) (10)
care este satisfăcută pentru orice x(k) dacă
R(k ) = Q + AT R(k +1)( I n + BP −1BT R(k +1))−1 A (11)
sau
R(k ) = Q + AT ( R −1 (k +1) + BP −1BT )−1 A (12)
3.4. Problema de optimizare liniar
pătratică discretă
 Din (6) şi (7) ⇒ R(k f ) = S (13)
 EcuaŃia (11) sau (12) reprezintă ecuaŃia matriceală cu diferenŃe Riccati
 Se rezolvă în timp invers, iterativ, pornind de la k=kf până la k=0
 Se obŃin astfel „amplificările” regulatorului optimal la momentele kT
 Principalele proprietăŃi ale acestui regulator şi ale soluŃiei problemei din
cazul continuu îşi găsesc corespondent şi în cazul discret
 Se demonstrează că
( R−1(k +1) + BP −1BT )−1 = R(k +1) − R(k +1)B(BT R(k +1)B + P)−1 BT R(k +1)

şi atunci relaŃia (12) devine

R(k) = Q + AT R(k +1) A − AT R(k +1)B(BT R(k +1)B + P)−1 BT R(k +1) A (14)

 Formula de calcul iterativ (14) este avantajoasă când m<<n, deoarece


trebuie calculată inversa unei matrice de ordin mai mic decât cea din
relaŃiile (11)
3.5. Alte tipuri de probleme de optimizare
liniar pătratică

 În paragrafele anterioare s-a discutat exclusiv problema


reglării optimale a stării

 Într-un număr important de cazuri se formulează însă şi alte


probleme de optimizare, care necesită o extindere a
rezultatelor de la reglarea stării
 problema reglării mărimii de ieşire
 problema urmăririi optimale
3.5.1. Problema reglării optimale a
mărimii de ieşire
 Se consideră sistemul complet observabil

xɺ (t ) = A(t ) x (t ) + B (t )u(t ), x (t0 ) = x 0 , x ∈ R n , u ∈ R m


(15)
y (t ) = C (t ) x (t ), y ∈ R p

 Indicele de calitate referitor la ieşirea y(t)


tf
1 T 1
I= y (t f ) Sy (t f ) + ∫ [ yT (t )Q (t ) y (t ) + uT (t ) P (t )u(t )]dt (16)
2 2t
0

S ≥ 0, Q (t ) ≥ 0, P (t ) > 0 (17)
3.5.1. Problema reglării optimale a
mărimii de ieşire
 Dacă sistemul este complet observabil şi dacă S ≥ 0, Q(t) ≥0, atunci

C T (t f ) SC (t f ) ≥ 0, C T (t )Q (t )C (t ) ≥ 0 (18)

 sistem complet observabil ⇒ C(t)≠0 ∀ t ∈ [t0 , t f ]


T T
 matricele S şi Q(t) simetrice ⇒ C (t f ) SC (t f ), C (t )Q (t )C (t ) simetrice
⇒ y (t )Q (t ) y (t ) ≥ 0, ∀y (t )
}
Q (t ) ≥ 0 T


y (t ) = C (t ) x (t )

⇒ xT (t )C T (t )Q (t )C (t ) x (t ) ≥ 0, ∀ C (t ) x (t ) (19)
 sistem complet observabil ⇒ fiecare ieşire y(t) este generată de o stare
unică x(t), deci inegalitatea (19) este adevărată pentru orice x(t) ⇒

Q ' (t ) = C T (t )Q (t )C (t ) ≥ 0
 Similar se demonstrează că S ' = C T (t f ) SC (t f ) ≥ 0
3.5.1. Problema reglării optimale a
mărimii de ieşire
 Rezultatele din 3.1 se pot transpune pentru această problemă
(deoarece sunt îndeplinite condiŃiile impuse în problema respectivă
pentru noile matrice Q ' şi S ')

u(t ) = − P −1BT R(t ) x (t ) (20)

Rɺ (t ) = R(t )B(t ) P −1(t )BT (t ) R(t ) − R(t ) A(t ) − AT (t ) R(t ) − CT (t )Q(t )C (t ) (21)
R (t f ) = C (t f ) SC (t f ) (22)

xɺ (t ) = [ A(t ) − B (t ) P −1 (t ) BT (t ) R(t )] x (t ), x (t0 ) precizat (23)

1 T
I* = x (t0 ) R(t0 ) x (t0 ) (24)
2
3.5.1. Problema reglării optimale a
mărimii de ieşire
ObservaŃii
 Deşi problema este formulată în legătură cu mărimea de ieşire y(t),
regulatorul optimal este realizat cu reacŃie după stare, presupusă
accesibilă şi măsurabilă
 Dacă stările nu sunt accesibile şi măsurabile, pentru rezolvarea
problemei trebuie introdus un estimator
 Există şi posibilitatea de a utiliza reacŃia după ieşirea y şi în acest caz,
în relaŃiile de calcul intervine pseudoinversa matricei C
3.5.2. Problema urmăririi optimale

 Se consideră sistemul complet observabil (15) şi z(t) ieşirea dorită


 Obiectivul conducerii optimale este de a face ca y(t) să fie cât mai
apropiat de z(t), dar fără un consum exagerat de energie
 În acest scop se consideră eroarea e (t ) = z (t ) − y (t ) (25)
şi se introduce criteriul
tf
1 1
I = eT (t f ) Se (t f ) + ∫ [eT (t )Q (t )e (t ) + uT (t ) P (t ) u(t )]dt (26)
2 2t
0

 Eroarea se poate exprima şi în funcŃie de stare e (t ) = z (t ) − C (t ) x (t )


şi atunci criteriul I se rescrie corespunzător
3.5.2. Problema urmăririi optimale

1 1 1
H = ( z − Cx )T Q ( z − Cx ) + uT Pu + λT ( Ax + Bu ) (27)
2 2 2
∂H
= 0 ⇒ u(t ) = − P −1BT λ(t ) (28)
∂u
ɺλ(t ) = − ∂H ⇒ λɺ(t ) = −C T QCx − AT λ + C T Qz (29)
∂x
∂M
λ(t f ) = − ⇒ λ(t f ) = C T (t f ) SC (t f ) x (t f ) − C T (t f ) Sz (t f ) (30)
∂x (t f )

Se notează BP −1BT = N , C QC = Q , CTQ = W


T 1 (31)

 xɺ (t )   A(t ) − N (t )   x (t )   0 
(15) + (29) ⇒
 λɺ(t )  =  1   +  z (t ) (32)
  −Q (t ) − A (t )   λ(t )  W (t ) 
T

3.5.2. Problema urmăririi optimale

 Sistemul (32) nefiind omogen, nu putem impune o relaŃie între x(t) şi


λ(t) de aceeaşi formă ca în subcapitolul 3.1, aşa că se va considera
λ(t ) = R(t ) x (t ) − g (t ) (33)

λɺ(t ) = Rɺ (t ) x (t ) + R(t ) xɺ (t ) − gɺ (t ) (34)

 Din (32), (28), (34) se găseşte o relaŃie care este satisfăcută pentru
orice x(t) şi z(t) dacă
Rɺ (t ) = R (t ) N (t ) R(t ) − R(t ) A(t ) − AT (t ) R(t ) − Q1 (t ) (35)

şi gɺ (t ) = [ R(t ) N (t ) − AT (t )] g (t ) − W (t ) z (t ) (36)

 Din (33) se deduce condiŃia de capăt λ(t f ) = R(t f ) x (t f ) − g (t f ) (37)


 (30) + (33) ⇒ R(t f ) = C T (t f ) SC (t f ) (38)

g (t f ) = C T (t f ) Sz (t f ) (39)
3.5.2. Problema urmăririi optimale
Etape în rezolvarea problemei
(1°) Rezolvarea ecuaŃiei matriceale diferenŃiale Riccati (35), cu condiŃia de
capăt (38)
 Se poate demonstra că C (t f ) SC (t f ) ≥ 0, Q (t ) = C (t )Q (t )C (t ) ≥ 0
T 1 T

deci sunt îndeplinite aceleaşi condiŃii ca la EMDR din 3.1


 Această etapă presupune introducerea unei reacŃii după stare, cu matricea
sistemului închis
F (t ) = A(t ) + B(t ) K (t ) = A(t ) − B(t ) P −1(t ) BT (t ) R(t ) = A(t ) − N (t ) R(t ) (40)

(2°) SoluŃionarea ecuaŃiei (36) cu condiŃia de capăt (39); soluŃia este


tf
g (t ) = Φ (t , t f ) g (t f ) + ∫ Φ (t ,τ )W (τ ) z (τ )dτ (41)
t
Φ - matricea de tranziŃie pentru [ A(t ) − N (t ) R(t )]
T

Înlocuind t=t0 în (41), se poate determina g(t0), deci soluŃia se poate


stabili în funcŃie de condiŃia iniŃială g(t0) (exprimabilă, de fapt, în funcŃie
de g(tf))
3.5.2. Problema urmăririi optimale
ObservaŃii
 Determinarea lui g din (41) presupune cunoaşterea apriorică a valorii
dorite z(t) pe întreg intervalul [t0,tf], astfel încât g(t) să fie calculabil din
(41) în timpul desfăşurării procesului de optimizare
 Dacă variaŃia dorită z(t) este dinainte cunoscută, problema este
rezolvabilă
 În caz contrar, sistemul optimal este irealizabil
 Irealizabilitatea derivă din formularea problemei, care impune condiŃii
excesiv de pretenŃioase:
• se cere minimizarea criteriului (26), adică urmărirea cât mai fidelă a traiectoriei
z(t), fără a se cunoaşte această traiectorie
• o urmărire aproximativă este principial posibilă, folosind informaŃiile momentane
asupra lui z(t), dar indicele (26) nu va mai fi la fel de bun ca în cazul cunoaşterii
apriorice a lui z(t), deci nu se poate atinge minimul criteriului (26) dacă nu se
cunoaşte dinainte z(t)
3.5.2. Problema urmăririi optimale
 Pentru cazurile când z(t) este necunoscut aprioric, s-au propus soluŃii
suboptimale, bazate pe
 introducerea unor corecŃii predictive, care apelează la rezultatele
măsurărilor anterioare sau curente asupra traiectoriei z(t)
 reformularea problemei, în esenŃă deterministă, ca una stochastică

 Comanda optimală este


u(t ) = − P −1BT [ R (t ) x (t ) − g (t )] = K (t ) x (t ) + r (t ) (42)

 prima componentă este obŃinută prin reacŃia de stare întâlnită şi în celelalte


probleme de optimizare liniar pătratice şi este independentă de z(t)
 a doua componentă reprezintă o intrare r(t) impusă de valoarea dorită z(t),
dar şi de sistemul închis (40)
3.5.2. Problema urmăririi optimale

g (t0 ) x (t0 )
z (t ) - g (t ) −1 + x (t ) y (t )
∫ ∫
T T
C Q BP B C
- +

F T (t ) F (t )
3.5.3. Problema urmăririi modelului de
referinŃă
 O cale atractivă de a realiza proiectarea unui sistem automat este de a
impune de la început comportarea în regim dinamic, în sensul unei
apropieri cât mai mari de comportarea unui model impus
 Modelul poate exista fizic sau poate fi luat în considerare un model
implicit
xɺ (t ) = Ax (t ) + Bu(t ) + w (t ); x (t0 ) = x 0
(43)
y (t ) = Cx (t )

 Scopul este de a face ca dinamica procesului să fie cât mai apropiată


de cea a unui model
 Pentru aceasta, se poate introduce un criteriu care să conŃină termeni de
forma yɺ (t ) − Ly (t ) sau xɺ (t ) − Lx (t ) unde L este matricea modelului
• În prima variantă, ordinul modelului este limitat la numărul de ieşiri şi atunci
există mai puŃine posibilităŃi în proiectare
• În ambele cazuri se are în vedere doar răspunsul liber al sistemului, nefiind
incluse informaŃii despre influenŃele perturbaŃiilor şi ale comenzii
3.5.3. Problema urmăririi modelului de
referinŃă
 Pentru a elimina aceste inconveniente se introduce un termen de forma
xɺ (t ) − Lx (t ) − Bu(t ) − w (t ) (44)

1
J = [ x(t f ) − xd ]T S[ x(t f ) − xd ] +
2
tf
1
+ ∫ {[ xɺ (t ) − Lx(t ) − Bu(t ) − w(t )]T Q1[ xɺ (t ) − Lx(t ) − Bu(t ) − w(t )] + (45)
2t
0
+ [ x(t ) − xd ]T Q2[ x(t ) − xd ] + uT (t ) P (t )u(t )}dt

1
J = [ x (t f ) − xd ]T S[ x (t f ) − xd ] +
2
tf (46)
1
+ ∫ { xT (t )Qˆ1 x (t ) + [ x (t ) − xd ]T Q2 [ x (t ) − xd ] + uT (t ) P (t )u(t )}dt
2t
0

Qˆ1 = Aˆ T Q1 Aˆ , Aˆ = A − L
Tehnici de optimizare
- note de curs -

Ş.l.dr.ing. Florin Ostafi


fostafi@ac.tuiasi.ro
www.ac.tuiasi.ro/~fostafi
PROBLEME DE
OPTIMIZARE
DINAMICĂ CU
RESTRICłII
PROBLEME DE OPTIMIZARE
DINAMICĂ CU RESTRICłII
 Metodele variaŃionale clasice, bazate pe algoritmul Euler – Lagrange,
respectiv pe ecuaŃiile lui Hamilton, oferă un instrument util de rezolvare
a problemelor de optimizare dinamică fără restricŃii
 Când apar restricŃii în legătură cu variabilele de comandă sau de stare,
aceste metode conduc la soluŃii care se obŃin într-o formă complicată,
chiar şi în cazul unor probleme relativ simple
 Este dificilă atât prelucrarea condiŃiilor necesare cât şi verificarea condiŃiilor
suficiente de extrem
 SoluŃiile problemelor de optimizare cu restricŃii se obŃin mai uşor cu
ajutorul metodelor variaŃionale moderne
 principiul minimului
 programarea dinamică
 În problemele de optimizare dinamică cu restricŃii, comanda optimală
nu mai rezultă, în general, ca o funcŃie continuă; în cele ce urmează, ea
va apare mai ales ca o funcŃie continuă pe porŃiuni
 Aceasta face ca rezultatele calculului variaŃional să nu mai fie aplicabile,
deoarece ele presupun că funcŃiile care intervin sunt suficient de netede
4. PRINCIPIUL MINIMULUI
 Principiul minimului are o formulare asemănătoare cu cea rezultată din
metodele variaŃionale clasice, exprimându-se tot cu ajutorul
hamiltonianului
 În acest caz nu mai poate fi însă utilizată condiŃia ∂H / ∂u = 0 , deoarece,
din cauza discontinuităŃilor lui u(t), nu mai are sens calcularea derivatei
respective
 CondiŃia menŃionată se înlocuieşte cu una mai generală, care se referă la
determinarea comenzii optimale u(t) astfel încât H să atingă un minim, sau
– într-o formulare uşor modificată – un maxim
4.1. EnunŃul principiului minimului
 Se consideră o problemă de tip Bolza variantǎ, cu starea iniŃială fixată,
cu sistemul
xɺ (t ) = f ( x (t ), u(t ), t ), x (t0 ) = x 0 , x ∈ R n (1)
şi indicele de calitate de forma
tf
I= ∫ L( x (t ), u(t ), t )dt + M ( x (t f )) (2)
t0

Asupra variabilelor de stare nu se impun restricŃii


Asupra comenzii se impun restricŃii u(t ) ∈ U ⊂ R
m (3)
restricŃiile sunt exprimate de obicei sub forma unor inegalităŃi
 Vom considera în continuare drept comenzi admisibile comenzile care
se încadrează în (3) şi sunt mărginite şi continue pe porŃiuni, admiŃând
un număr finit de discontinuităŃi de speŃa întâi
 Variabila x(t) este continuă, iar funcŃiile f şi M se consideră continue şi
satisfăcând condiŃiile Lipschitz
4.1. EnunŃul principiului minimului
 Se construieşte hamiltonianul
H ( x , p, u, t ) = L( x , u, t ) + pT f ( x , u, t ) (4)

p(t ) ∈ R n - vectorul variabilelor adjuncte, sau de costare (continue)


∂H ∂H
 EcuaŃiile canonice Hamilton p(t ) = −
ɺ ; x (t ) =
ɺ (5)
∂x ∂p
∂M ( x (t f ))
 CondiŃia de transversalitate p(t f ) = (6)
∂x (t f )
 Problema se transformă într-o problemă de tip Mayer
t
x0 (t ) = ∫ L( x (t ), u(t ), t )dt (7)
t0

xɺ0 (t ) = L( x (t ), u(t ), t ) (8)

x0 (t0 ) = 0, 0 f
x (t ) = x0
f
(9)
4.1. EnunŃul principiului minimului
 Se introduc vectorii n + 1 – dimensionali
 x0  ɶ  f 0 
xɶ =   ; f =   , f 0 ≡ L (10)
x f
 Se consideră sistemul xɺɶ (t ) = fɶ ( xɶ , u, t ) (11)
şi indicele de calitate I = Mɶ ( xɶ (t f )) = M ( x (t f )) + x0 (t f ) (12)

Hɶ ( xɶ , pɶ , u, t ) = pɶ T (t ) fɶ ( xɶ , u, t ),
pɶ = [ p0 p]T (13)
∂Hɶ ɺ ∂Hɶ
 EcuaŃiile (5) şi (6) devin pɶ = −
ɺ ; xɶ = (14)
∂xɶ ∂pɶ
∂M ( x (t f ))
pɶ (t f ) = (15)
∂x (t f )

Hɶ ( xɶ , pɶ , u, t ) = p0 f 0 + pT (t ) f ( xɶ , u, t ) ⇒ (16)

⇒ Hɶ nu depinde de x0 ⇒ p ɺ 0 = −∂Hɶ / ∂x0 = 0 ⇒ p0 = const. (17)


4.1. EnunŃul principiului minimului
 Expresia hamiltonianului Hɶ este aceeaşi ca şi în calculul variaŃional
dacă p0 = 1
 În mod obişnuit se atribuie valoarea 1 scalarului p0

 Principiul minimului
Fiind dat sistemul (11) şi indicele de calitate (12), condiŃia necesară ca
u*(t) să fie comanda extremală, iar x*(t) - traiectoria extremală
respectivă este ca să existe un vector adjunct nenul pɶ (t ) dat de ecuaŃia
(14), cu condiŃia de capăt (15) şi cu Hɶ dat de (13), astfel încât să se
minimizeze valoarea hamiltonianului

Hɶ * = Hɶ ( xɶ * , pɶ * , u* , t ) = min Hɶ ( xɶ * , pɶ * , u, t ) (18)
u∈U

 În problemele invariante Hɶ * = 0 (19)


4.1. EnunŃul principiului minimului
 Se consideră problema iniŃială de tip Bolza, pentru sistemul (1) şi
criteriul (2)
 se formează hamiltonianul (4)
 principiul minimului se enunŃă:

condiŃia necesară de extrem este să existe o soluŃie nenulă p(t) pentru


ecuaŃiile canonice (5), astfel ca

p0 L( x* , u* , t ) + p*T (t ) f ( x* , u* , t ) ≤ p0 L( x* , u, t ) + p*T (t ) f ( x* , u, t ) (20)

cu p0 = const. > 0 (uzual p0 = 1)


4.1. EnunŃul principiului minimului
CondiŃiile de transversalitate
 Printre condiŃiile necesare de extrem, intervin şi cele de
transversalitate, care se formulează la fel ca şi în problemele fără
restricŃii
 Se reiau aceste condiŃii pentru probleme de tip Bolza numai în raport cu
momentul şi starea finală, pentru momentul şi starea iniŃială ele fiind
similare
 În problemele cu momentul final liber

∂M (t f , x f )
+ H ( x* (t f ), p* (t f ), u* (t f ), t f ) = 0, x f = x (t f ) (21)
∂t f
 În problemele cu stare finală liberă

∂M (t f , x f )
= p* (t f ) (22)
∂x f
4.1. EnunŃul principiului minimului
CondiŃiile de transversalitate
În problemele cu stare finală liberă pe o mulŃime X ⊂ X de obicei este
f

vorba de suprafeŃele finale specificate prin ecuaŃii de forma

ϕ F ( x ) = 0, ϕ F = [ϕ F1 ( x )...ϕ Fq1 ( x )]T (23)

∂M (t f , x f ) ∂ϕ F
p* (t f ) = + ⋅ ν * , ν = const. (24)
∂x *
∂x x* ,t f
x ,t f

 În cazul problemelor de tip Lagrange


 În problemele cu stare finală liberă în X
p* (t f ) = 0 (25)
 În problemele cu stare finală liberă pe o submulŃime Xf ⊂X
∂ϕ F
p (t f ) =
*
⋅ ν* (26)
∂x *
x ,t f
4.1. EnunŃul principiului minimului
CondiŃiile de transversalitate

 În problemele cu stare finală fixată

x (t f ) = x f şi p(t f ) - liber (27)

 Dacă intervalul [t0 , t f ] este liber, atunci

H ( x* (ti ), u* (ti ), p* (ti ), ti ) = 0, ti = {t0 , t f } (28)


4.2. Algoritmul bazat pe principiul minimului

a) Se formează hamiltonianul problemei de optimizare dinamică (4) şi


ecuaŃiile canonice (adjuncte) (5)
b) Se formulează condiŃiile de transversalitate corespunzătoare problemei
c) Se determină comanda u*(t) care minimizează hamiltonianul
(exprimată, în general, în funcŃie de x şi p)
d) Cu u* astfel exprimat, se integrează ecuaŃiile canonice, cu condiŃiile de
capăt precizate în problemă sau derivate din condiŃiile de
transversalitate
e) Se revine la (c) înlocuind în u* soluŃiile x* şi p* determinate la punctul
(d) şi, cu aceasta, comanda optimală este complet precizată
4.2. Algoritmul bazat pe principiul minimului

ObservaŃii
 Algoritmul se poate prezenta şi în raport cu problema transformată
pentru hamiltonianul Hɶ
 În acest caz p0 este neprecizat şi, dacă se adoptă p0=1, rezultă pentru
problema netransformată hamiltonianul (4)
 În multe probleme de optimizare dinamică, comanda şi starea sunt
separabile atât în sistem, cât şi în criteriu
 De exemplu, în cazul invariant avem
xɺ (t ) = f ( x ) + h( u) (29)
L( x, u) = f 0 ( x ) + h0 ( u)
 În acest caz, se observă în expresia (4) a hamiltonianului că termenii care
conŃin comanda u(t) nu depind de x
• ca atare, din condiŃia de minim a hamiltonianului rezultă comanda u exprimată
funcŃie de vectorul p
• dacă se cunosc condiŃiile de capăt pentru p(t), acesta se poate determina prin
integrarea ecuaŃiei (5) şi se stabileşte astfel u*
4.2. Algoritmul bazat pe principiul minimului

 RestricŃionarea comenzilor la domeniul U impune adoptarea unor


mijloace specifice de minimizare a hamiltonianului. Se pot întâlni
următoarele cazuri mai importante:
 extremul căutat u* se află în interiorul domeniului U
• dacă funcŃiile care intervin sunt derivabile în raport cu u, atunci condiŃia
necesară de extrem este
∂H / ∂u u= u* = 0
• dacă în plus ∂ 2 H / ∂u 2 >0 este îndeplinită condiŃia de minim local al
funcŃiei H(u) u = u*

H
problemă invariantă
comanda scalară este restricŃionată
u la domeniul [um , uM ]
um u* uM
4.2. Algoritmul bazat pe principiul minimului
 dacă extremul u* se află pe frontiera domeniului U sau
într-un punct interior în care H nu este derivabilă în raport cu u,
minimizarea hamiltonianului se face prin studiul funcŃiei H pentru x* şi p*
fixaŃi
H H

u* u* u u
um uM um u* uM

 extremul căutat nu este un punct izolat (cazul normal sau regular), ci un


domeniu care aparŃine mulŃimii U (caz singular)

u* u
um u* uM
4.2. Algoritmul bazat pe principiul minimului
 Etapa (d) a algoritmului prezentat se rezolvă în funcŃie de tipul
problemei respective, mai exact în funcŃie de tipul condiŃiilor terminale
 EnunŃul principiului minimului şi algoritmul corespunzător oferă
posibilitatea determinării comenzii optimale u(t) în circuit deschis;
 pentru conducerea proceselor tehnologice interesează însă cu precădere
obŃinerea comenzii optimale în circuit închis, deci realizarea sintezei
optimale în funcŃie de starea u(x(t))
 În principiu, această problemă de sinteză se rezolvă construind (în sens
invers) traiectoriile care pleacă din xf
 Pentru o reŃea suficient de deasă de astfel de traiectorii, se pot memora
comenzile pentru diverse situaŃii din spaŃiul stărilor
 De obicei comenzile optimale sunt continue pe porŃiuni, suferind nişte
salturi (comutări) în anumite puncte din spaŃiul stărilor
• Aceste puncte nu sunt de regulă izolate, formând anumite suprafeŃe de
comutare
• Dacă se pot stabili ecuaŃiile acestor suprafeŃe de comutare, atunci se pot
preciza legile de variaŃie u(x) ale comenzii pentru fiecare domeniu din spaŃiul
stărilor şi sinteza este astfel rezolvată
 Rezolvarea pe cale analitică a problemei sintezei optimale pornind de la
principiul minimului este practic posibilă numai pentru sisteme de ordin cel
mult 2
5. PROGRAMAREA DINAMICĂ
 Programare dinamică - abordare a problemelor de optimizare bazată pe
principiul optimalităŃii: orice segment final al unui proces de
conducere optimal constituie el însuşi un proces de conducere optimal
 Cu alte cuvinte, segmentul din traiectoria optimală situat între starea
intermediară x(τ) şi starea finală x(tf) este el însuşi o traiectorie optimală,
pentru un proces care pleacă din starea x(τ)

Γ0 x (τ )
x (t0 )
Γ1
Γ 1' x (t f )
5. PROGRAMAREA DINAMICĂ
 Se poate spune că la fiecare moment τ al unui proces de conducere
optimal, comanda se determină operativ în funcŃie de starea curentă
x(τ) a sistemului condus, Ńinând cont de întreaga evoluŃie viitoare,
predictată de sistem
 În mod obişnuit, stabilirea traiectoriei optimale pe baza programării
dinamice se face retrospectiv, pornind de la starea finală şi
determinând pe rând segmentele optimale până la starea iniŃială
 Un avantaj deosebit al programării dinamice este acela că oferă direct
soluŃia problemei de sinteză optimală (de conducere optimală în circuit
închis), fiind de altfel singurul procedeu general cunoscut în prezent de
sinteză a legii de comandă în circuit închis şi sursa majorităŃii
procedurilor practice de calcul a acestei legi
 În condiŃii destul de largi ecuaŃiile stabilite în cadrul programării
dinamice oferă atât condiŃii necesare, cât şi suficiente de optim
5. PROGRAMAREA DINAMICĂ
 Programarea dinamică se formulează mai ales în legătură cu probleme
de tip Lagrange, dar poate fi extinsă fără dificultăŃi şi la alte tipuri de
probleme
 Dezavantajul metodei este acela că, odată cu creşterea ordinului n al
sistemului, creşte foarte mult volumul de calcule (creşterea este
exponenŃială).
 Bellman, care a enunŃat principiul optimalităŃii şi a fundamentat metoda
programării dinamice, a denumit acest aspect „blestemul dimensionalităŃii”
 Metoda programării dinamice se aplică atât sistemelor continue cât şi
celor discrete, cu menŃiunea că în cazul celor dintâi, obŃinerea unor
soluŃii analitice este dificilă chiar şi în cazurile simple
 Din acest motiv, de cele mai multe ori, în cazul sistemelor continue se
procedează la o discretizare, astfel că programarea dinamică se utilizează
de cele mai multe ori pentru cazul discret
5.1. PROGRAMAREA DINAMICĂ
DISCRETĂ
 Se consideră o problemă de tip Bolza pentru un sistem continuu care
se discretizează
∆t = (t f − t0 ) / N (1)

 EcuaŃia diferenŃială a sistemului xɺ = f ( x , u) se aproximează prin

xk +1 − xk
≅ f ( xk , uk ) (2)
∆t
xk = x (k ∆t ), uk = u( k ∆t ) (3)

xk +1 = xk + f ( xk , uk )∆t , k = 0,..., N − 1 (4)

x (t0 ) = x0 , x (t f ) = x N − oarecare
N −1
I = M ( x N ) + ∑ L( xk , uk )∆t (5)
k =0
5.1. PROGRAMAREA DINAMICĂ
DISCRETĂ
 Vom presupune că s-au determinat comenzile u0 , u1 ,..., uN − 2 şi a
rămas de stabilit numai comanda uN −1 pe ultimul interval
 Conform principiului optimalităŃii, uN −1 nu depinde de preistoria
procesului, ci numai de starea x N −1
 Se consideră ultima sumă parŃială din (5):
I N −1 = M ( x N ) + L( x N −1, uN −1 ) ∆t (6)
 (3) → x N = x N −1 + f ( x N −1 , uN −1 )∆t (7)
Trebuie determinat uN −1 ∈U care minimizează (6) şi satisface (7)
*

*
 Ultimul segment al traiectoriei este optimal dacă pleacă din x N −1

{
S N −1 ( x*N −1 ) = min I N −1 = min M ( x N ) + L( x*N −1 , uN −1 )∆t =
uN −1∈U u N −1
}
(8)
{
= min M [ x*N −1 + f ( x*N −1 , uN −1 )∆t ] + L( x*N −1 , uN −1 )∆t
uN −1
}
 Prin determinarea acestui minim, se obŃin u*N −1 şi S N −1 (, x*N −1 )
5.1. PROGRAMAREA DINAMICĂ
DISCRETĂ
 Să luăm acum în considerare şi penultimul segment al traiectoriei

I N − 2 = I N −1 + L( x N − 2 , uN − 2 )∆t =
(9)
= M ( x N ) + L( x N −1 , uN −1 )∆t + L( x N − 2 , uN − 2 ) ∆t

x N −1 = x N − 2 + f ( x N −2 , uN − 2 )∆t (10)

S N − 2 ( x*N − 2 ) = min I N − 2 = min


uN − 2 ∈U uN − 2 ∈U
{ I N −1 + L( x N −2 , uN − 2 )∆t} =
uN −1∈U uN −1∈U

= min
u ∈U
N −2
{ L( x*N −2 , uN −2 )∆t} =
S N −1 ( x*N −1 ) + (11)

= min {S N −1[ x*N − 2 + f ( x*N − 2 , uN −2 )∆t ] + L( x*N −2 , uN − 2 )∆t}


u ∈U
N −2

 Ca rezultat al acestei minimizări se obŃine u*N −2 şi S N −2 ( x*N −2 )


5.1. PROGRAMAREA DINAMICĂ
DISCRETĂ
 Repetând procedeul pentru ultimele k segmente, se găseşte

{
SN −k ( x*N −k ) = min SN −k +1  x*N −k + f ( x*N −k , uN −k )∆t  + L( x*N −k , uN −k )∆t (12)
uN −k ∈U
}
S N − k ( x *N − k ) = min I N − k (13)
uN − k ∈U

N
I N −k = M ( x N ) + ∑ L( xi , ui )∆t = I N −k +1 + L( xN −k , uN −k )∆t, k = 1,..., N (14)
i = N −k

x N − k +1 = x N −k + f ( x N −k , uN − k )∆t (15)

 EcuaŃia (12) - ecuaŃia de recurenŃă a lui Bellman - condiŃia necesară


de optim
 În condiŃii destul de largi pentru mulŃimile X şi U, aceasta reprezintă şi o
condiŃie suficientă de optim
5.1. PROGRAMAREA DINAMICĂ
DISCRETĂ
ObservaŃii
* *
 Faptul că uN − k depinde numai de x N − k indică posibilitatea realizării
unei reacŃii după stare
 Această comandă poate fi elaborată de procesor pe baza relaŃiei de
recurenŃă (12)
 Acest fapt constituie un avantaj deosebit al metodei, întrucât, spre
deosebire de alte proceduri, oferă direct soluŃia în circuit închis a
problemei de conducere optimală
 Algoritmul este structurat, în principal, pe trei cicluri, interioare unul
altuia
 în cadrul ciclului exterior se modifică valoarea lui k, deci se calculează
soluŃiile la diverse momente de timp;
• în interiorul acestuia este un ciclu în care se baleiază toate valorile posibile
pentru vectorul x N − k , ceea ce presupune să se atribuie, pe rând, toate valorile
posibile pentru fiecare dintre componentele acestui vector n-dimensional
• în sfârşit, în ciclul interior, pentru fiecare vector x N − k se baleiază în acelaşi mod
toate valorile posibile ale vectorului uN − k şi de fiecare dată se calculează valoarea
*
criteriului, selectându-se acea comandă pentru care se obŃine minimul S N − k ( x N − k )
5.1. PROGRAMAREA DINAMICĂ
DISCRETĂ
 Volumul de calcule creşte foarte mult (exponenŃial) cu dimensiunea
vectorilor de stare şi de comandă
 Pentru atingerea unor precizii rezonabile, se ajunge la un număr enorm de
operaŃii pentru sisteme de ordin patru sau cinci, ceea ce constituie un
dezavantaj major al metodei
 Problema de optim se rezolvă similar şi în cazul în care starea finală
este impusă, de exemplu x N = 0
 în acest caz, în expresia (5) a indicelui de calitate se ia M ( x N ) = 0
*
 comanda uN −1 la începutul ultimului segment al traiectoriei este dată de
ecuaŃia (7) a traiectoriei, care se poate scrie
1 *
f ( x*N −1 , u*N −1 ) = − x N −1 ⇒ u*N −1 = φ ( x*N −1 )
∆t
 valoarea minimă a indicelui de calitate pe ultimul segment este

S N −1 ( x*N −1 ) = L( x*N −1 ,φ ( x*N −1 ))∆t


 În continuare, calculul se desfăşoară conform formulei de recurenŃă (12)
5.1. PROGRAMAREA DINAMICĂ
DISCRETĂ
 În legătură cu restricŃiile asupra variabilelor de stare nu apar deosebiri
esenŃiale între cazul problemelor cu şi fără restricŃii
 În problemele fără restricŃii, se va considera că x evoluează în domeniul
determinat de mulŃimea de accesibilitate a stării iniŃiale (mulŃimea
punctelor care pot fi atinse din x0 prin comenzi admisibile)
 În cazul problemelor cu restricŃii, când se impune ca x ∈ X , se va lua în
considerare intersecŃia dintre X şi mulŃimea de accesibilitate
Conducerea optimală a unui sistem de electric de poziŃionare
Vom considera un sistem de urmărire cu servomotor de c.c. cu excitaŃie separată (modele
matematice similare se întâlnesc şi în cazul utilizării altor tipuri de servomotoare, de exemplu –
brushless d.c. sau sincron cu magneŃi permanenŃi). Pentru simplificare, vom considera curentul
rotoric drept mărime de comandă şi nu tensiunea rotorică; alegerea este justificată în cazurile în care
se asigură o variaŃie foarte rapidă a curentului, cum sunt structurile care folosesc o buclă interioară
de reglare a curentului.
EcuaŃia de mişcare a sistemului este
d Ω(t )
km ΦI (t ) = J + M (t ) , (1)
dt
în care Φ este fluxul de excitaŃie, I – curentul rotoric, J – momentul de inerŃie, Ω – viteza de
rotaŃie, M – cuplul rezistent, iar km – constantă. Introducem mărimile relative (normalizate), prin
raportarea la valorile nominale (marcate cu indicele N)
i = I / N N , ϕ = Φ / Φ N , ω = Ω / Ω N , m = M / M N ,τ = t / TN , (2)

unde TN = J Ω N / M N este constanta de timp nominală.


EcuaŃia de regim staŃionar pentru valorile nominale este
M N = km Φ N I N . (3)
ÎmpărŃind (1) prin (3) şi având în vedere relaŃiile (2), rezultă

i= +m. (4)

Valoarea impusă a deplasării se precizează printr-o condiŃie izoperimetrică şi anume,
reprezentând unghiul de rotaŃie normalizat pe intervalul [0, T] prin
T
α = ∫ ω (τ )dτ , (5)
0

care rezultă prin raportarea unghiului de rotaŃie efectuat la unghiul nominal ΩNTN.
Vom introduce, de asemenea, şi energia disipată normalizată, prin raportarea pierderii de
energie la energia nominală RN I N2 TN :
T
w = ∫ i 2 (τ )dτ . (6)
0

Să mai observăm că T se poate exprima şi sub forma


T
T = ∫ dτ . (7)
0

Se formulează următoarele probleme de optimizare:


(a1). problemă de consum minim de energie: să se determine comanda i (τ ) şi starea ω (τ )
care asigură o deplasare unghiulară α 0 dată prin (5) într-un timp fixat T, astfel încât să se minimizeze
consumul de energie disipată pe rotor (6), ω (0) şi ω (T ) fiind fixaŃi;
(a2). problemă de timp minim: să se determine i (τ ) şi ω (τ ) astfel încât să se minimizeze
funcŃionala (7), reprezentând timpul necesar transferului din starea iniŃială ω (0) în starea finală
ω (T ) pentru α (dat de (5)) şi w (dat de (6)) fixaŃi;
(a3). problemă de eficienŃă (stare finală) maximă: să se determine i (τ ) şi ω (τ ) astfel încât
să se obŃină o deplasare unghiulară α maximă, pentru T şi w daŃi, ω (0) şi ω (T ) fiind fixaŃi.
Să observăm că cele trei probleme sunt cu legături izoperimetrice:
- în problema (a1) funcŃionala este (6), iar legătura izoperimetrică este (5);
- în problema (a2) funcŃionala este (7), iar legăturile izoperimetrice sunt (5) şi (6);
- în problema (a3) funcŃionala este (5), iar legătura izoperimetrică este (6).
k
Formulăm funcŃiile sintetice F ( Fw = L0 + ∑ λi Li , k- numărul de legături, λi -
i =1
multiplicatori Lagrange) pentru cele trei probleme, eliminând i (τ ) conform relaŃiei (4):

Fw = (ωɺ + m) 2 + λ1ω , (8)

FT = 1 + λ2 (ωɺ + m)2 + λ2' ω , (9)

Fα = ω + λ3 (ωɺ + m) 2 . (10)
Aplicăm ecuaŃiile Euler – Lagrange acestor funcŃii sintetice (pentru m = const. ):
∂Fw d ∂Fw
− = 0 ⇒ λ1 − 2ωɺɺ = 0,
∂ω dt ∂ωɺ
∂FT d ∂FT
− = 0 ⇒ λ2' − 2λ2ωɺɺ = 0,
∂ω dt ∂ωɺ
∂Fα d ∂Fα
− = 0 ⇒ 1 − 2λ3ωɺɺ = 0.
∂ω dt ∂ωɺ
Să observăm că, notând λ = λ1 / 2; λ = λ2' / (2λ2 ); λ = 1/ (2λ3 ) , ultimele trei ecuaŃii capătă
aceeaşi formă
λ − ωɺɺ(τ ) = 0 , (11)
ceea ce arată că cele trei probleme se tratează similar.
Exemplul acesta ilustrează afirmaŃia referitoare la dualitatea dintre condiŃiile izoperimetrice
şi criteriul de performanŃă în problemele cu legături funcŃionale.
Vom rezolva în continuare simultan cele trei probleme, cu referire concretă la problema
(a1). Pentru aceasta, exprimăm soluŃia pentru (11):
τ2
ω (τ ) = c1 + c2τ + λ . (12)
2
De aici rezultă ω (0) = c1 şi pentru problema (a1) avem

T2
ω (T ) = ω (0) + c2T + λ
2
T2 T3
şi α 0 = ω (0)T + c2 +λ .
2 2
Din aceste relaŃii rezultă
6α 0 − 4ω (0)T − 2ω (T )T
c2 = ,
T2
12α 0 − 6T [ω (0) + ω (T )]
λ=− .
T3
Problema (a1) se referă, în principal, la cazul unui sistem de urmărire, când trebuie realizată
o deplasare α 0 dată, în condiŃiile impuse; cel mai frecvent apare cazul când ω (0) = ω (T ) = 0 şi
atunci se obŃine
c2 = 6α 0 / T şi λ = −12α 0 / T 3 .
Cu aceasta, din (12) rezultǎ

6α 0  τ 2 
ω (τ ) = τ −  , (13)
T 2  T 

iar din (4) se găseşte


6α 0 12α 0
i (τ ) = m + − 3 τ. (14)
T2 T
În figura următoare sunt reprezentate variaŃiile acestor mărimi pentru m = const. în
intervalul [0,T].


i(τ) ω(τ)

m=ct.
τ
T/2 T

Se poate calcula şi valoarea funcŃionalei

12α 2
T
w = ∫ i 2 (τ )dτ = m2T + .
o T3
Se verifică şi condiŃia suficientă de extrem Legendre:
∂2L
=2>0
∂ωɺ 2

SoluŃionarea celorlalte două probleme este similară, având în vedere echivalenŃa menŃionată
mai sus.