Sunteți pe pagina 1din 30

Metoda de optimizare

monodimensionala

Coordonator: conf. dr. ing Gavrilescu I. Masteranzi: Roman Igor


Robu Dumitru
Cuprins:

Introducere
Metoda Dihotomică de căutare
Metoda Fibonacci de căutare
Metoda Secţiunii de aur
Metoda de interpolare Pătratică
Metoda de interpolare Cubica
Metoda Davies, Swann, Campey
Introducere

Exista trei clase generale de probleme de optimizare neliniare:


 
1. Metode de optimizare monodimensionale fără restricţii
2. Metode de optimizare multidimensionale fără restricţii
3. Metode de optimizare multidimensionale cu restrictii

Probleme de prima clasa sunt cel mai uşor de rezolvat, cele din clasa a treia
sunt cele mai dificile. În practică problemele de optimizare multidimensionale cu restrictii
se pot rezolva folosind subprobleme de optimizare multidimensionale fara restrictii care la
randul lor se rezolva folosind subprobleme de optimizare monodimensionale fara
restrictii.
 
Într-adevăr, cei mai multi algoritmi neliniari se bazeaza pe minimizarea funcţiilor la o
singură variabilă, fără restricitii. Prin urmare, eficienta algoritmilor de optimizare
monodimensionali sunt necesari, daca trebuie construirea eficienta a algoritmilor
multidimensionali liberi sau cu restrictii.
Problema de optimizare monodimensional este:
Minimizarea F = f(x);
Unde f(x) este o functie cu o variabila necunoscuta. Solutia acestei problemei este daca f(x)
va fi o functie unimadala(O funcţie f: R-> R este unimodală în cazul în care creşte la o valoare
maxima (minima), şi apoi scade (creste).

Teorema: Fie funcţia f:R→R şi intervalul [a,b] ⊂R. Dacă există α*∈[a,b]astfel încât ]abα f(α)
este strict descrescătoare pe [a, α*] şi strict crescătoare pe [α*,b] , atunci f(α) se numeşte
funcţie unimodală pe [a,b]. Intervalul [a,b]se numeşte interval de unimodalitate pentru
funcţia f(α).
Două metode generale de optimizare monodimensionale sunt folosite,
şi anume, metodele de căutare şi metode de aproximare.
Metodele de cautare in intervalul [] care contine o valoare , este stabilit şi apoi în
mod repetat redus pe baza evaluărilor funcţiei până la un interval redus [] , care
este suficient de mic.
Minimizarea poate presupune a fi centrul intervalului []. Aceste metodele pot fi
aplicate la orice funcţie şi nu este esenţiale ca functia f(x) sa fie derivabila.

În metoda de aproximare, o aproximare a funcţiei în forma a unui polinom de ordin


mic, de obicei, un al doilea sau al treilea-ordin al polinomului, este asumata.
Aceasta este apoi analizata cu ajutorul unui calcul elementar şi este dedus la o
valoare aproximativa. Intervalul [] este apoi redus şi procesul se repetă de mai
multe ori până la o valoare suficient de precisă a lui .
În aceste metode, f (x) este necesar să fie continuă şi derivabilă, de exemplu,
f (x) ∈ C1.
Mai multe abordări al e metodei de optimizare
monodimensională vor fi examinate în acest
capitol, după cum urmează :
1.Metoda Dihotomică de căutare
2. Metoda Fibonacci de căutare
3. Metoda Secţiunii de aur
4. Metoda de interpolare Pătratică
5. Metoda de interpolare Cubica
6. Metoda Davies, Swann, Campey
Primele trei sunt metode de căutare, a patra şi a cincea
sunt metode de aproximare,a şasea este o metodă practică
şi utilă, care combină o metoda de cautare cu o metodă de
aproximare.
Metoda Dihotomică de căutare

Se are in vedere o functie unimodala(o functie de o singura variabila) despre care se stie
ca are un minim în intervalul [ xL , xU ]. Acest interval este declarat a fi intervalul de
incertitudine. Minimizarea lui x* din functia f (x) poate fi localizata prin reducerea
progresivă a intervalului de incertitudine până la un interval suficient de mic.
 
În cazul în care valoarea functiei f (x) este cunoscuta intr-un singur punct xadin intervalul
xL xa laxa sauxU
x L xa , xU < < punctul x* este la fel de probabil să fie din intervalul
la după cum este descris în Fig. 1 (a).
 
Prin urmare, informaţiile disponibile nu sunt suficiente pentru a permite reducerea
intervalului de incertitudine. Cu toate acestea, în cazul în care valoarea functiei f (x) este
cunoscuta în două puncte, să zicem, xaşi x b , o reducere imediată este posibilă. Trei
posibilităţi pot apărea, şi anume:

(a) f(xa) < f(xb)


(b) f(xa) > f(xb)
(c) f(xa) = f(xb)
În cazul în care (a), 𝒙∗ pot fi amplasate în intervalul 𝒙𝑳 < 𝒙∗ <𝒙𝒂 sau 𝒙𝒂 <𝒙∗ <𝒙𝒃 , că
este, 𝒙𝑳 < 𝒙∗ <𝒙𝒃 , aşa cum este ilustrat în Fig. 1a. Posibilitatea ca 𝒙𝒃 <𝒙∗ <𝒙𝑼 este cu
siguranta exclusă deoarece aceasta ar implica faptul că f (x) are două minime: unul la
stânga de 𝒙𝒃 şi unul la dreapta de 𝒙𝒃 . În mod similar, pentru cazul (b), trebuie să avem
𝒙𝒂 <𝒙∗ <𝒙𝑼 ca în Fig. 1b. Pentru cazul (c), trebuie să avem 𝒙𝒂 <𝒙∗ <𝒙𝒃 , ca
amandoua inegalităţi 𝒙𝑳 < 𝒙∗ <𝒙𝒃 şi 𝒙𝒂 <𝒙∗ <𝒙𝑼 trebuie să fie îndeplinite ca şi în Fig.1c.

Fig. 1
b)

Reducerea intervalului de incertitudine:a) cazul (a)f(xa) < f(xb) b)cazul (b)


f(xa) > f(xb)

c)

Reducerea intervalului de incertitudine c) cazu (c) f(xa) = f(xb)


O strategie rudimentara pentru a reduce intervalul de incertitudine este aşa-numita metoda
𝜺
dihotomica de căutare. În această metodă, f (x) este evaluat la două puncte 𝒙𝒂 = 𝒙𝟏 − şi
𝟐
𝜺
𝒙𝒃 = 𝒙𝟏 + unde ε este un număr mic pozitiv. Apoi, în dependenţa de relatia f (𝒙𝒂) < f (𝒙𝒃 ) sau
𝟐
𝜺 𝜺
f (𝒙𝒂 ) > f (𝒙𝒃 ), atunci intervalul de la 𝒙𝑳 la 𝒙𝟏 + 𝟐 sau de la 𝒙𝟏 − 𝟐 la 𝒙𝑼 pot fi selectate chiar dacă
f (𝒙𝒂 ) = f (𝒙𝒃 ). Dacă presupunem că 𝒙𝟏 − 𝒙𝑳 = 𝒙𝑼 − 𝒙𝟏, de exemplu, 𝒙𝟏 = (𝒙𝑳 + 𝒙𝑼) / 2, regiunea de
incertitudine este imediat redus la jumătate. Aceeaşi procedură se poate repeta pentru
𝜺 𝜺
interval redus, f (x) poate fi evaluat la 𝒙𝟐 − 𝟐 şi 𝒙𝟐 + 𝟐 în cazul în care 𝒙𝟐 este situat în centrul
intervalului redus. De exemplu, în cazul în care căutarea dihotomica se aplică la funcţia reprezentata
𝟗 𝜺 𝟓 𝜺
in Fig. 2 intervalul de incertitudine va fi redus de la 𝟎 < 𝒙∗ < 𝟏 la + < 𝒙∗ < − în patru
𝟏𝟔 𝟐 𝟔 𝟐
iteraţii.

Fiecare iteratie reduce intervalul de incertitudine la jumătate şi, prin urmare, după k iteraţii,
intervalul de incertitudine se reduce la:

𝟏 𝒌
𝑰𝒌 = ൬൰𝑰𝟎
𝟐

unde 𝑰𝟎 = 𝒙𝑼 - 𝒙𝑳 .
De exemplu, după 7 iteraţii intervalul de incertitudine ar fi redus la mai puţin de 1%
din intervalul iniţial. Corespunzătoare efortului de calcul ar fi de 14 evaluări ale funcţiei
de vreme ce două evaluări sunt necesare pentru fiecare iteraţie.

Fig.2 Este reprezentata metoda Dihotomică de căutare


Metoda Sectiunii de aur

Secţiunea de aur (τ) este numărul iraţional dat de


(1+√5)/ 2≅1.618033989. Aceasta se mai numeşte încă
proporţia de aur, proporţia divină sau numărul de aur.
Structurile geometrice care respectă secţiunea de aur au o
anumită frumuseţe estetică, recunoscută încă din timpurile
antice, şi care sugerează un anumit echilibru între simetrie şi
asimetrie. Două cantităţi a şi b cu a > b sunt într-o proporţie
de aur dacă raportul dintre suma lor la cantitatea mai mare
este egal cu raportul dintre cantitatea mai mare la cea mică,
adică (a+b)/a=a/b.
O metoda foarte asemanatoare cu
metoda sectiunii de aur este metoda
Fibonacci pe care acesta a
prezentat-o in cartea sa Liber Abaci
scrisa in 1202 unde a discutat sirul
numerelor Fibonacci in legatura cu
inmultirea iepurilor. Principala
Fibonacci (1170-1250)
diferenta fata de metoda sectiunii
de aur consta in faptul ca in
metoda Fibonacci rata de reducere a lungimii
intervalului de incertitudine nu se defineste in
functie de sectiunea de aur data de τ = 0.618 ci in
functie de sirul numerelor Fibonacci. Cu alte
cuvinte, este reducerea lungimii intervalului de
incertitudine care variaza de la o iteratie la alta.
Ambele aceste metode au aceeasi rata de
convergenta, totusi intr-un anumit sens, metoda
Fibonacci este optima. se defineste sub forma:
Numerele Fibonacci sunt definite prin următoarea recurență:

F 0  0 , F 1  1,
F i  F i  1  F i  2

Astfel, fiecare număr Fibonacci este suma celor două numere Fibonacci anterioare,
rezultând secvența

Sirul lui Fibonacci este o secventa de numere in care fiecare numar se obtine din suma
precedentelor doua din sir.Astfel primele 10 numere ale sirului sunt:
0,1,1,2,3,5,8,13,21,34,55...
Metoda Fibonacci converge cu rata de convergenta τ . Din punctul de vedere al
numarului de puncte in care functia de minimizat trebuie evaluata, metoda Fibonacci
este optima, ea cerand cel mai mic numar de evaluari pentru a obtine un interval final
de lungime mai mica sau egala cu δ. In acest context si metoda sectiunii de aur este
aproximativ optima, dar ea cerand un numar de evaluari ceva mai mare. Totusi, fiind
mai simpla, metoda sectiunii de aur este mai cunoscuta si mai utilizata in algoritmii de
optimizare.

Metoda sectiunii de aur si a lui Fibonacci sunt metode de sectionare. Ideea acestor
metode de minimizare a functiilor unimodale pe intervalul [a, b] R este de a reduce
iterativ intervalul de incertitudine numai prin compararea valorilor functiei de minimizat.
De indata ce lungimea intervalului de incertitudine este mai mica decat un prag
prestabilit, atunci punctele din acest interval se pot considera aproximatii ale minimului
functiei in directia data. Aceasta clasa de metode utilizeaza numai valorile functiei §i
sunt utilizate in cadrul algoritmilor de optimizare, in special pentru probleme nenetede
sau a caror derivate a functiei de minimizat au expresii complicate [Gill, Murray §i
Wright, 1981].
Metoda de interpolare Patratica

Metodele de interpolare pentru minimizarea mono-


dimensionala, pentru determinarea lungimii pasului, sunt o
alternativa foarte serioasa la metodele sectiunii de aur si a lui
Fibonacci. Principiul acestei clase de metode consta in a
aproxima functia φ(α) = f (xk + αdk) printr-un polinom de
gradul doi sau trei,
care impreuna cu derivata acestuia ia aceleasi valori in
anumite puncte, si de a considera acea valoare a lui α care
minimizeaza acest polinom. In general cand functia are
proprietati bune de analiticitate, de exemplu este continuu
diferentiabila, atunci metodele de interpolare sunt superioare
metodei sectiunii de aur §i a lui Fibonacci. De obicei, in
algoritmii de optimizare, metodele de interpolare sunt mai des
utilizate decat metodele sectiunii de aur sau Fibonacci.
Se cunosc mai multe variante de interpolare Patratica :in 2 sau 3 puncte, va vom
prezenta algoritmul de cautarem prin interpolare in 3 puncte.
Fig. 3 Metoda de interpolare Patratica
Metoda de interpolare Cubica

Aceste metode aproximeaza functia de minimizat φ(a) printr-un


polinom cubic. Aceasta implica patru conditii de interpolare. Se
cunosc mai multe variante. De exemplu, se pot utiliza valorile
functiei in patru puncte, sau valorile functiei in trei puncte si
valoarea derivatei acesteia intr-un punct, sau valoarea functie si a
derivatei acesteia in doua puncte. In general, interpolarea cubica
are o rata de convergenta mai buna decat interpolarea patratica, dar
aceasta implica calculul derivatelor si deci computational este mai
costisitoare.
Aceasta metoda foloseste polinom de ordin 3

p ( x)  ao  a1 x  a2 x  a3 x 2 3
Algoritmul Interpolarii Cubice
1. Se considera 3 punce x , x , x si o toleranta ε
1 2 3
2. Se calculeaza β, γ, ψ dupa urmatoarele ecuatii:
a1 , a 2 , a3 dupa ecuatiile:

Se afla punctul extrem al functiei p(x) cu ajutorul ecuatiei

Apoi se afla minimul x

3. Se pun conditiile : daca x  x0   atunci x*  x si f ( x )  f


*

4. Se gaseste un m astfel incat f(m)= max (f1,f2,f3)


x  x , x  x , fm  f
0 m

Daca m=1 f’1=f’(x )


se repeta de la punctul 3.
Fig. 4 O posibilitate de forma a graficului unui polinom de gradul 3
Algoritmul Davies, Swann, Campey

Metodele descrise până în prezent sunt fie metode de căutare sau


metode de aproximare. Metoda Davies, Swann, şi Campey combină
metod de căutare cu metoda de aproximare. Metoda de căutare este
folosita pentru stabilirea şi menţinerea valorii lui x*, în timp ce
metoda de aproximare este utilizată pentru a genera estimării valorii
lui x *.
În această metodă, f (x) este evaluat pentru creşterea sau diminuarea
valorilor de x pana la x *. Apoi se utilizeaza formula de interpolare
patratica pentru puncte echidistante care este folosita pentru a stabili
punctul x *. Această procedură se repetă de mai multe ori până
suficientă acurateţe în soluţie este realizată, la fel ca în metodele
anterioare.
Intrarea in algoritm constă dintr-un punct iniţial 𝒙𝟎,𝟏 un increment
iniţial 𝜹𝟏 , constanta K, şi toleranţa de optimizarea 𝜺.
La repetare a k iteratii, un punct iniţial 𝒙𝟎,𝒌 şi o creştere iniţială δk
sunt disponibile, şi un nou punct iniţial 𝒙𝟎,𝒌+𝟏 precum şi o creştere de
nouă 𝜹𝟎,𝒌+𝟏 sunt necesare pentru urmatoarea iteratie.

Iniţial, f (x) este evaluat la punctele 𝒙𝟎,𝒌 - 𝜹𝒌 , 𝒙𝟎,𝒌 , şi 𝒙𝟎,𝒌 + 𝜹𝒌 . Trei


posibilităţi pot apărea, şi anume:
(a) f(x0,k − δk) > f(x0,k) > f(x0,k + δk)
(b) f(x0,k − δk) < f(x0,k) < f(x0,k + δk)
(c) f(x0,k − δk) ≥ f(x0,k) ≤ f(x0,k + δk)

În cazul în care (a), minimul functiei f (x) este situat în direcţia


pozitivă astfel încât f (x)
este evaluat pentru creşterea valorilor x până la o valoare de f (x) se
obţine, o valaore care
este mai mare decât cel precedenta. Dacă se întâmplă acest lucru
privind evaluareaa n funcţiei,
[𝒙𝟎𝒌 𝒙𝒏𝒌 ], intervalul este un suport pe x *.
Intervalul dintre punctele succesive creste geometric, şi astfel
această procedură va da o secvenţă de puncte:

Asa cum este aratat in fig 5.1.


Evident, intervalul cel mai recent este de două ori, atâta timp cât pe cea
anterioară , daca este împărţit în două sub-intervale egale la punctul

atunci se formeaza patru puncte echidistante. 


Dacă f (x) este evaluat la punctul Xm, k, atunci valorile funcţiei
Dacă 𝒇𝒎,𝒌 ≥ 𝒇𝒏−𝟏,𝒌 x* va fi situat în intervalul [𝒙𝒏−𝟐 , 𝒙𝒏,𝒌 ] (a
se vedea figura 5.2.)

În mod similar, în cazul în care Dacă 𝒇𝒎,𝒌 < 𝒇𝒏−𝟏,𝒌 x* va fi


situat în intervalul [𝒙𝒏−𝟏 , 𝒙𝒏,𝒌 ] (a se vedea figura 4.12.) (a se
vedea figura 5.3.), o estimare pentru x * va fi
Fig 5.1 Algoritmul Davies, Swann si
Campey Fig. 5.2 Reducerea intervalului de
incertitudine

Fig. 5.3 Reducerea intervalului de incertitudine


In cazul in care x* are directia negativa astefel incat x va avea pasii δk ,2δk … pana
la aflarea unui minim al funcitei f(x).
In cazul in care x* este determinat de punctele x0, k   k si x0, k   k
si daca se indeplineste si conditiile urmatoare :

atunci valoarea lu x* se va calcula dupa cum urmeaza:

Iar celor k iteratii li se vor atribui un nou icrement k1  Kk


unde K va fi o constanta in intervalul [0, 1]
Bibliografie :

Antoniu A. Practical Optimization 2006


Wikipedia.org
Neculai Andrei Advanced Mathematical Optimization 1999

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