Sunteți pe pagina 1din 22

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
 Cele mai puternice metode
 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 ⇒ 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

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