30
Metoda de optimizare monodimensionala Coordonator: conf. dr. ing Gavrilescu I. Masteranzi: Roman Igor Robu Dumitru

metoda de optimizare

  • Upload
    niutza

  • View
    675

  • Download
    3

Embed Size (px)

Citation preview

Page 1: metoda de optimizare

Metoda de optimizare monodimensionala

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

Page 2: metoda de optimizare

Cuprins:

IntroducereMetoda Dihotomică de căutareMetoda Fibonacci de căutareMetoda Secţiunii de aurMetoda de interpolare PătraticăMetoda de interpolare CubicaMetoda Davies, Swann, Campey

Page 3: metoda de optimizare

Introducere

Exista trei clase generale de probleme de optimizare neliniare: 1. Metode de optimizare monodimensionale fără restricţii2. Metode de optimizare multidimensionale fără restricţii3. Metode de optimizare multidimensionale cu restrictii

Probleme de prima clasa sunt cel mai uşor de rezolvat, cele din clasa a treiasunt 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.

Page 4: metoda de optimizare

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(α).

Page 5: metoda de optimizare

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.∈

Page 6: metoda de optimizare

Mai multe abordări al e metodei de optimizare monodimensională vor fi examinate în acestcapitol, după cum urmează :1.Metoda Dihotomică de căutare2. Metoda Fibonacci de căutare3. Metoda Secţiunii de aur4. Metoda de interpolare Pătratică5. Metoda de interpolare Cubica6. Metoda Davies, Swann, CampeyPrimele 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.

Page 7: metoda de optimizare

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 . 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 din intervalul , < < punctul x* este la fel de probabil să fie din intervalul la sau 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, şi , 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)

],[ UL xx

axLx ax Ux

Lx ax ax Ux

ax bx

Page 8: metoda de optimizare

Î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

Page 9: metoda de optimizare

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)

Page 10: metoda de optimizare

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 𝑰𝟎 = 𝒙𝑼 - 𝒙𝑳 .

Page 11: metoda de optimizare

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

Page 12: metoda de optimizare

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.

Page 13: metoda de optimizare
Page 14: metoda de optimizare

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 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:

Fibonacci (1170-1250)

Page 15: metoda de optimizare

Numerele Fibonacci sunt definite prin următoarea recurenţă:

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...

21

10 ,1,0

iii FFF

FF

Page 16: metoda de optimizare

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].

Page 17: metoda de optimizare

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.

Page 18: metoda de optimizare

Se cunosc mai multe variante de interpolare Patratica :in 2 sau 3 puncte, va vom prezenta algoritmul de cautarem prin interpolare in 3 puncte.

Page 19: metoda de optimizare

Fig. 3 Metoda de interpolare Patratica

Page 20: metoda de optimizare

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

33

221)( xaxaxaaxp o

Page 21: metoda de optimizare

Algoritmul Interpolarii Cubice1. Se considera 3 punce si o toleranta ε2. Se calculeaza β, γ, ψ dupa urmatoarele ecuatii: dupa ecuatiile:

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

Apoi se afla minimul

3. Se pun conditiile : daca atunci si 4. Se gaseste un m astfel incat f(m)= max (f1,f2,f3) , ,

Daca m=1 f’1=f’( ) se repeta de la punctul 3.

321 ,, xxx

321 ,, aaa

x

0xx xx * fxf )( *

xx 0xxm ffm

x

Page 22: metoda de optimizare

Fig. 4 O posibilitate de forma a graficului unui polinom de gradul 3

Page 23: metoda de optimizare

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 𝜺.

Page 24: metoda de optimizare

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 *.

Page 25: metoda de optimizare

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

Page 26: metoda de optimizare

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

Page 27: metoda de optimizare

Fig 5.1 Algoritmul Davies, Swann si Campey

Fig. 5.3 Reducerea intervalului de incertitudine

Fig. 5.2 Reducerea intervalului de incertitudine

Page 28: metoda de optimizare

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 si 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 unde K va fi o constanta in intervalul [0, 1]

kkx ,0 kkx ,0

kk K 1

Page 29: metoda de optimizare

Bibliografie :

Antoniu A. Practical Optimization 2006Wikipedia.orgNeculai Andrei Advanced Mathematical Optimization 1999

Page 30: metoda de optimizare