VII. Metode numerice de rezolvare a problemelor de optimizare fără restricţii

Σχετικά έγγραφα
V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

Metode iterative pentru probleme neliniare - contractii

Curs 4 Serii de numere reale

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

Curs 1 Şiruri de numere reale

Curs 2 Şiruri de numere reale

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0

Asupra unei inegalităţi date la barajul OBMJ 2006

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

Sisteme diferenţiale liniare de ordinul 1

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

Metode de interpolare bazate pe diferenţe divizate

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

Integrala nedefinită (primitive)

Cursul Măsuri reale. D.Rusu, Teoria măsurii şi integrala Lebesgue 15

Laborator 6. Integrarea ecuaţiilor diferenţiale

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice

Criptosisteme cu cheie publică III

CURS VII-IX. Capitolul IV: Funcţii derivabile. Derivate şi diferenţiale. 1 Derivata unei funcţii. Interpretarea geometrică.

EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă

f(x) = l 0. Atunci f are local semnul lui l, adică, U 0 V(x 0 ) astfel încât sgnf(x) = sgnl, x U 0 D\{x 0 }. < f(x) < l +

Functii Breviar teoretic 8 ianuarie ianuarie 2011

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro

CURS 11. Rădăcină unei ecuatii: Cum se defineste o rădăcină aproximativă?

Lucrarea de laborator nr. 7

z a + c 0 + c 1 (z a)

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy

( ) ( ) ( ) Funcţii diferenţiabile. cos x cos x 2. Fie D R o mulţime deschisă f : D R şi x0 D. Funcţia f este

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)).

CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă.

Concurs MATE-INFO UBB, 1 aprilie 2017 Proba scrisă la MATEMATICĂ

6 n=1. cos 2n. 6 n=1. n=1. este CONV (fiind seria armonică pentru α = 6 > 1), rezultă

Examen AG. Student:... Grupa:... ianuarie 2011

SEMINARUL 3. Cap. II Serii de numere reale. asociat seriei. (3n 5)(3n 2) + 1. (3n 2)(3n+1) (3n 2) (3n + 1) = a

Criterii de comutativitate a grupurilor

Subiecte Clasa a VIII-a

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

Esalonul Redus pe Linii (ERL). Subspatii.

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

Conice - Câteva proprietǎţi elementare

Siruri de numere reale

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca

Lucrare. Varianta aprilie I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2. sau p b.

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1)

riptografie şi Securitate

1.3 Baza a unui spaţiu vectorial. Dimensiune

8 Intervale de încredere

O generalizare a unei probleme de algebră dată la Olimpiada de Matematică, faza judeţeană, 2013

Puncte de extrem pentru funcţii reale de mai multe variabile reale.

Principiul Inductiei Matematice.

Progresii aritmetice si geometrice. Progresia aritmetica.

Ecuatii trigonometrice

Rezolvarea ecuaţiilor şi sistemelor de ecuaţii diferenţiale ordinare. Cuprins. Prof.dr.ing. Gabriela Ciuprina

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2

Statisticǎ - curs 3. 1 Seria de distribuţie a statisticilor de eşantioane 2. 2 Teorema limitǎ centralǎ 5. 3 O aplicaţie a teoremei limitǎ centralǎ 7

III. Reprezentarea informaţiei în sistemele de calcul

I. Noţiuni introductive

1 Serii numerice Definiţii. Exemple... 45

riptografie şi Securitate

Capitolul 2. Integrala stochastică

MARCAREA REZISTOARELOR


Curs 2 DIODE. CIRCUITE DR

Funcţii Ciudate. Beniamin Bogoşel

Aplicaţii ale principiului I al termodinamicii la gazul ideal

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB

CONCURS DE ADMITERE, 17 iulie 2017 Proba scrisă la MATEMATICĂ

* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1

Capitolul 7 DERIVATE. DIFERENŢIALE

Seminar 5 Analiza stabilității sistemelor liniare

1. Scrieti in casetele numerele log 7 8 si ln 8 astfel incat inegalitatea obtinuta sa fie adevarata. <

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane

Noţiuni introductive

METODE NUMERICE: Laborator #5 Metode iterative pentru rezolvarea sistemelor: Jacobi, Gauss-Siedel, Suprarelaxare

Examen AG. Student:... Grupa: ianuarie 2016

J F (ρ, ϕ, θ) = cos ϕ ρ sin ϕ 0. Teoremă (a diferenţiabilităţii compuse) (legea lanţului) Fie F : D deschis

Profesor Blaga Mirela-Gabriela DREAPTA

Laborator 11. Mulţimi Julia. Temă

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3

Probleme pentru clasa a XI-a

a. 11 % b. 12 % c. 13 % d. 14 %

3. Vectori şi valori proprii

2 Transformări liniare între spaţii finit dimensionale

VII.2. PROBLEME REZOLVATE

BARAJ DE JUNIORI,,Euclid Cipru, 28 mai 2012 (barajul 3)

Toate subiectele sunt obligatorii. Timpul de lucru efectiv este de 3 ore. Se acordă din oficiu 10 puncte. SUBIECTUL I.

Problema a II - a (10 puncte) Diferite circuite electrice

Ecuaţia generală Probleme de tangenţă Sfera prin 4 puncte necoplanare. Elipsoidul Hiperboloizi Paraboloizi Conul Cilindrul. 1 Sfera.

Integrale cu parametru

Transcript:

Metode de Optimizare Curs 1 VII. Metode numerice de rezolvare a problemelor de optimizare fără restricţii Considerăm X o submulţime convexă deschisă a lui R n, f: X R o funcţie convexă diferenţiabilă şi problema de optimizare inf f (x) x X (P) Metodele iterative de rezolvare a problemei constau în construirea unui şir (x ) îndeplinind condiţia : f(x +1 ) < f(x ), pentru orice 0 (x 0 X dat). şi având un punct limită un x X care să fie punct staţionar pentru f (cu alte cuvinte şirul (x ) are un subşir ( x ) cu proprietatea că lim x = x X şi f( x ) = 0). Funcţia f fiind convexă, X fiind deschisă şi f( x ) = 0, rezultă că x este punct de minim global pentru f pe X (soluţie optimă a problemei studiate). Dacă f nu este convexă, atunci pentru a asigura că x este punct de minim local (soluţie optimă locală) ar trebui verificate condiţiile de ordinul (Hf( x ) pozitiv definită). Metodele iterative de rezolvare a problemelor de optimizare fără restricţii pot fi clasificate în - Metode de ordin 0: utilizează doar valorile funcţiei f în punctul x şi eventual în câteva puncte vecine (de explorare). - Metode de ordin 1: necesită calculul valorii funcţiei f precum şi al gradientului lui f în punctul x. Aceste metode realizează un compromis între simplitate (volum de calcul) şi eficienţă, fiind frecvent utilizate în practică - Metode de ordin : necesită atât valorile funcţiei f, a gradientului şi hessianei lui f în punctul x cât şi inversarea hessianei. Prin compensaţie 1

Mădălina Roxana Buneci Metode de Optimizare Curs - 007 cu volumul de calcul aceste metode asigură o viteză de convergenţă superioară. - Metode de ordin superior: volum de calcul sporit pentru evaluarea valorile derivatelor de ordin superior lui ale funcţiei f, fiind rar folosite în practică Vom prezenta in continuare metode de ordinul 1 şi denumite metode de căutare liniară ( linesearch methods ). Şirul construit are forma + 1 R = + n x x t v v t, t 0 pas de deplasare R direcţie de deplasare f(x +1 ) < f(x ), pentru orice 0. (LS) Definiţie 1. X o submulţime deschisă a lui R n, f: X R o funcţie diferenţiabilă şi x X. Un vector v R n se numeşte direcţie descendentă în x dacă <v, f(x)> < 0. Dacă v este direcţie descendentă în x atunci există λ >0 astfel încât pentru orice t (0, λ ), f(x + tv) < f(x). Într-adevăr, aplicând formula lui Taylor de ordinul 1, există δ 0 >0 astfel încât pentru orice δ R cu δ < δ 0 f(x+ δv) = f(x) + δ< f(x),v>v + o(δ), unde Există λ >0, λ δ 0 astfel încât pentru orice 0 < t < λ, urmare: 1 v avem o δ lim =0 δ 0 δ o( t) t f(x+ tv) = f(x) + t(< f(x),v>v + o( t) ) < f(x). t < - < f(x),v>v şi ca Pe de altă parte dacă pentru orice v R n avem <v, f(x)> 0, atunci x este punct de staţionar pentru f (iar dacă presupunem în plus, f convexă, atunci x este punct de minim pentru f). Într-adevăr, luând v = - f(x), rezultă -< f(x), f(x)> 0 sau echivalent f(x) = 0. Algoritmul generic pentru construcţia şirului (x ) care să aibă un punct limită x X care să fie punct staţionar pentru f este schiţat mai os. x 0 X dat

Metode de Optimizare Curs 1 cât timp f(x ) 0 execută pasul 1: *se determină o direcţie de deplasare v care să fie direcţie descendentă în x (dacă nu există o astfel de direcţie atunci STOP, x este soluţie optimă mai precis f(x ) = 0) pasul : *se determină pasul de deplasare t astfel încât f(x + t v ) < f(x ) pasul 3: x +1 = x + t v ; :=+1; La ieşire x cu proprietatea f(x ) = 0 este punct staţionar al lui f. În practică se dă ε > 0 (precizia cu care se identifică soluţia optimă) iar criteriul de oprire f(x ) 0 se înlocuieşte cu una din condiţiile a. f(x ) < ε (gradientul este suficient de mic ) b. x +1 - x < ε (cele două iteraţii succesive sunt suficient de apropiate ) c. f(x ) - f(x +1 ) < ε (micşorarea funcţiei obiectiv nu este semnificativă ) unde este o norma convenabil aleasă. În criteriile de oprire pot fi folosite valori relative, astfel de exemplu condiţia de la c poate fi înlocuită cu + 1 f ( x ) 1+ f ( x ) f x În cele ce urmează vom presupune că în etapa a algoritmului de mai sus a fost determinată o direcţie de deplasare v şi rămâne să determinăm pasul de deplasare t. Metodele de determinare a pasului t pot fi clasificate în 1. proceduri de alegere optimală a pasului (algoritmi de căutare liniară exactă). proceduri de alegere suboptimală a pasului (algoritmi de căutare liniară inexactă < ε VII.1. Proceduri de alegere optimală a pasului condiţia Procedurile de alegere optimală a pasului presupun determinarea lui t din f(x +t v ) = inf f(x + tv ) t 0 3

Mădălina Roxana Buneci Metode de Optimizare Curs - 007 (adică t este soluţie optimă a problemei inf f(x + tv )). Altfel spus procedurile t 0 de alegere optimală a pasului presupun minimizare funcţiei ϕ: [0, λ ) R, definită prin ϕ(t) = f(x +tv ), unde λ este ales astfel încât x +tv X pentru orice t [0, λ ) (ţinând cont că x X şi X este o mulţime deschisă, rezultă că există δ>0 astfel încât B(x,δ) X, λ = 1 v δ îndeplineşte condiţia cerută). Lema. X o mulţime convexă şi f: X R o funcţie convexă. Atunci funcţia ϕ: [0, λ ) R, definită prin ϕ(t) = f(x +tv ), este convexă, unde λ R este ales astfel încât x +tv X pentru orice t [0, λ ). Demonstraţie. Fie t 1, t [0, λ ) şi fie λ (0,1). Atunci ϕ(λt 1 + (1-λ)t ) = f(x + (λt 1 + (1-λ)t )v ) = f(λ(x + t 1 v )+(1-λ)(x + t v )) λ f(x + t 1 v )+ (1-λ)f(x + t v ) =λ ϕ(t 1 ) + (1-λ) ϕ(t ). f convexa Metodele de explorare directă pentru determinarea unui punct de minim al lui ϕ constau în identificarea în prealabil a unui interval [a 0, b 0 ] care conţine un punct de minim al lui ϕ. Lema 3. Fie I un interval de numere reale, ϕ : I R o funcţie convexă care admite un punct de minim. 1. Dacă t 1, t, t 3 I, t 1 < t < t 3, astfel încât ϕ(t 1 ) > ϕ(t ) ϕ(t 3 ). atunci există un punct de minim al lui ϕ în intervalul [t 1, t 3 ].. Dacă I = [a, λ ), λ R şi t (a, λ ) cu ϕ(t) ϕ(a), atunci există un punct de minim al lui ϕ în intervalul [a, t]. Demonstraţie. Fie t * un punct de minim al lui ϕ. 1. Presupunem prin absurd t* < t 1 sau echivalent t 1 (t*, t ). Atunci există λ (0, 1) astfel încât t 1 = λt*+(1-λ)t şi ca urmare ϕ(t 1 ) = ϕ(λt*+(1-λ)t ) λϕ(t*) + (1-λ)ϕ(t ) λϕ(t ) + (1-λ)ϕ(t ) = ϕ(t ) 4

Metode de Optimizare Curs 1 ceea ce contrazice ϕ(t 1 ) > ϕ(t ). Deci t* t 1. Dacă t* t 3, atunci t* [t 1, t 3 ]. Dacă t*>t 3 sau echivalent t 3 (t, t*), atunci există λ (0, 1) astfel încât t 3 = λt +(1-λ)t* şi ca urmare ϕ(t 3 ) = ϕ(λt +(1-λ)t*) λϕ(t ) + (1-λ)ϕ(t*) λϕ(t ) + (1-λ)ϕ(t ) = ϕ(t ) ϕ(t 3 ). De aici rezultă ϕ(t*) = ϕ(t ), adică t este punct de minim pentru ϕ şi în plus t [t 1, t 3 ].. Dacă t* t, atunci t* [a, t]. Dacă t*>a sau echivalent t (a t*), atunci există λ (0, 1) astfel încât t= λa+(1-λ)t* şi ca urmare ϕ(t) = ϕ(λa+(1-λ)t*) λϕ(a) + (1-λ)ϕ(t*) λϕ(a) + (1-λ)ϕ(a) = ϕ(a) ϕ(t), de unde rezultă ϕ(t*) = ϕ(a), adică a este punct de minim pentru ϕ şi în plus a [a,t]. Algoritm de determinare al a unui interval [a 0, b 0 ] care conţine un punct de minim pentru funcţia convexă ϕ: [a, ) R (presupunând că ϕ admite un punct de minim): ϕ: [a, ) R funcţie convexă c > 0 dat t1:=a; t: = a+c; y1:=ϕ(t1); y:=ϕ(t); dacă y1 y, atunci a 0 : =t1 şi b 0 : = t altfel cât timp y1 > y execută y1 : = y; t1:=t; t:= t+c; y: = ϕ(t); a 0 : = t1-c; b 0 : = t; Procedura MAPLE de mai os are drept parametri funcţia convexă ϕ, a (capatul inferior al intervalului de definiţie al lui ϕ) şi c>0. Procedura returnează intervalul [a 0, b 0 ] ce conţine un punct de minim pentru ϕ: [a, ) R (presupunând că ϕ admite un punct de minim): > init:=proc(phi,a,c) > local a0,b0,y1,y,t1,t; > t1:=evalf(a); t:=evalf(a+c); y1:=phi(t1); y:=phi(t); 5

Mădălina Roxana Buneci Metode de Optimizare Curs - 007 > if y1<=y then a0:=t1; b0:=t else > while y1>y do y1:=y;t1:=t;t:=t+c;y:=phi(t) od; > a0:=t1-c; b0:=t > fi; > RETURN([a0, b0]) > end; Exemplu 4. Aplicăm această procedură funcţiilor ϕ 1 : [0, ) R, ϕ 1 (t) = t -3t+5 şi ϕ : [-3/4, ) R, ϕ (t) = t ln(t+1): > phi1:=t->t^ -3*t-5; > phi:=t->t-ln(t+1); şi obţinem > I01:=init(phi1,0,1); I01 := [ 0.,. ] > I0:=init(phi,-3/4,1); I0 := [ -0.7500000000, 1.50000000 ] După determinarea unui interval [a 0, b 0 ] ce conţine un punct de minim pentru ϕ: [a, λ ) R ( λ R ) prin metodele de explorare directă se urmăreşte reducerea iterativă a lungimii acestui interval până la atingerea unei precizii impuse ε>0 de localizare a lui unui punct de minim t*. Cu alte cuvinte se urmăreşte construirea unui şir de intervale [a, b ], 0 cu proprietatea că unde L = b - a este lungimea intervalului [a, b ] pentru orice 0. 6 lim L =0, Lema 5. Fie I un interval de numere reale, ϕ : I R o funcţie convexă şi [a,b] I un subinterval ce conţine un punct de minim al lui ϕ. Fie a, b (a,b) cu a < b. 1. Dacă ϕ( a ) < ϕ( b ), atunci intervalul [a, b ] conţine un punct de minim pentru ϕ.. Dacă ϕ( a ) ϕ( b ), atunci intervalul [ a,b] conţine un punct de minim pentru ϕ. Demonstraţie. Fie t * un punct de minim al lui ϕ. 1. Presupunem prin absurd t* > b sau echivalent b ( a,t*). Atunci există λ (0, 1) astfel încât b = λ a +(1-λ)t* şi ca urmare

Metode de Optimizare Curs 1 ϕ( b ) = ϕ(λ a +(1-λ)t*) λϕ( a ) + (1-λ)ϕ(t*) λϕ( a ) + (1-λ)ϕ( a ) = ϕ( a ) ceea ce contrazice ϕ( b ) > ϕ( a ). Deci b t*.. Dacă t* a, atunci t* [ a, b]. Dacă t*< a sau echivalent a (t*, b ), atunci există λ (0, 1) astfel încât a = λt*+(1-λ) b şi ca urmare ϕ( a ) = ϕ(λt*+(1-λ) b ) λϕ(t*) + (1-λ)ϕ( b ) λϕ( b ) + (1-λ)ϕ( b ) = ϕ( b ) ϕ( a ), de unde rezultă ϕ(t*) = ϕ( b ), adică b este punct de minim pentru ϕ şi în plus b [ a,b]. Această lemă sugerează următorul algoritm de construcţie a şirului de intervale [a,b ], 0 cu proprietatea că lim b - a =0 (sau cel puţin, având proprietatea că dacă precizia ε>0 este fixată există ε cu b ε - a < ε) şi astfel ε încât fiecare interval [a,b ] să conţină un punct de minim pentru funcţia convexă ϕ: ϕ - funcţie convexă ε > 0 dat precizia de localizare a unui punct de minim t* al lui ϕ [a 0, b 0 ] interval iniţial ce conţine un punct de minim al lui ϕ : = 0; cât timp b -a ε execută Pasul 1: *se aleg a < b, a, b (a, b ) Pasul : dacă ϕ( a ) <ϕ( b ) atunci a +1 =a ; b +1 = b ; t* (b +a )/ : = +1; altfel a +1 = a ; b +1 =b ; Eroarea absolută cu care (b +a )/ aproximează t* (punct de minim al lui ϕ) este cel mult 1 ε. 7

Mădălina Roxana Buneci Metode de Optimizare Curs - 007 Există diverse posibilităţi de alegere a a, b (a, b ) cu a < b. De exemplu putem alege a = 1 (a + b ) - δ şi b = 1 (a + b ) + δ cu δ>0 foarte mic. Atunci L +1 = b +1 a +1 = 1 (b a ) + δ = 1 L + δ pentru orice 0. Aşadar L = 1 1 cu b ε 1 L0 - a = ε L ε + δ +L 0. Avem ϕ - funcţie convexă lim L = δ. Deci dacă δ < 1 ε, atunci există ε < ε. Descriem mai os algoritmul corespunzător: ε > 0 dat precizia de localizare a unui punct de minim t* al lui ϕ δ > 0 dat (având proprietatea că δ< ε/) [a 0, b 0 ] interval iniţial ce conţine un punct de minim al lui ϕ a: = a 0 ; b: = b 0 ; cât timp b a ε execută c: = (a+b)/; dacă ϕ(c-δ) < ϕ(c+δ) atunci b: = c+δ altfel a:= c-δ t* (b +a)/; Procedura MAPLE dichotomous_search implementează algoritmul de mai sus. Parametrii procedurii sunt: funcţia convexă ϕ, lista I0 cu capetele a 0, b 0 ale unui interval ce conţine un punct de minim pentru ϕ, precizia ε de localizare a unui punct de minim şi δ. Procedura întoarce o aproximaţie a unui punct de minim al lui ϕ cu eroare cel mult 1 ε. > dichotomous_search:=proc(phi,i0,epsilon,delta) > local a,b,c; > a:=evalf(i0[1]);b:=evalf(i0[]); > while b-a>=epsilon do > c:=(a+b)/; > if evalf(phi(c-delta))<evalf(phi(c+delta))then b:=c+delta > else a:=c-delta fi; > od; 8

Metode de Optimizare Curs 1 > RETURN((a+b)/) > end; Exemplu 6. Aplicăm procedura dichotomous_search funcţiilor ϕ 1, respectiv ϕ din exemplul 4 şi intervalelor date de listele I01, respectiv I0 obţinute ca urmare a aplicării procedurii init (în exemplul 4): > dichotomous_search(phi1,i01,10^(-5),10^(-5)/4); 1.500046434 > dichotomous_search(phi,i0,10^(-5),10^(-5)/4); -0.18343865 10-5 Există însă o modalitate mai bună de alegere a a, b (a, b ) cu a < b astfel încât la fiecare iteraţie să se facă o singură evaluare a funcţiei ϕ (în loc de două câte se efectuează în algoritmul precedent). VII.1.1. Metoda secţiunii de aur Această metodă este bazată pe aşa numita secţiune de aur (golden section). Secţiunea de aur a unui segment este o diviziunea a acestuia în două subsegmente astfel încât raportul dintre lungimea subsegmentului mai lung şi lungimea întregului segment este egală este egal cu raportul dintre lungimea subsegmentului mai scurt şi cea a subsegmentului mai lung: Dacă lungimea segmentului considerat este 1 iar lungimea subsegmentului mai lung este α, atunci 1 α = 1 α α α 1-α 1, sau echivalent α + α - 1 = 0. Singura soluţie a acestei ecuaţii din intervalul [0, 1] este α = 5 1 0.618. Pentru fiecare 0 se aleg a = a + (1-α)(b a ) iar Dacă ϕ( a )<ϕ( b ), atunci a +1 = a şi b +1 = b şi ca urmare 9 b = a + α(b a ).

Mădălina Roxana Buneci Metode de Optimizare Curs - 007 b + 1 =a +1 + α( b +1 a +1 ) =a +α (b -a ) = a +(1-α)(b a ) = a. Legătura dintre cele două iteraţii şi +1 este ilustrată mai os: Iteraţia a a b b Iteraţia +1 a +1 a + 1 b + b 1 +1 Deci la iteraţia +1 va trebui să evaluăm doar ϕ( a + 1 ϕ( b + 1 )=ϕ( a ) este cunoscută de la iteraţia. ) deoarece valoarea lui Analog dacă ϕ( a ) ϕ( b ), atunci a +1 = a şi b +1 =b şi ca urmare a + 1 =a +1 + (1-α)( b +1 a +1 ) = a +(1-α)α(b -a ) = = a + (1-α)(b a ) +(α-α )(b a ) = a +(1-α )(b a ) = = a +α(b a ) = b. Cazul ϕ( a ) ϕ( b ): Iteraţia a a b b Iteraţia +1 a +1 a + 1 b + b 1 +1 Ca urmare în acest caz va trebui să evaluăm doar ϕ( b + 1 ϕ( a + 1 )=ϕ( b ) este cunoscută de la iteraţia. ) deoarece valoarea lui În ambele cazuri avem L +1 = b +1 a +1 = α(b a ) = αl pentru orice 0. Aşadar L = α L 0 pentru orice 0 şi ca urmare lim L = 0. Numărul de iteraţii 10

Metode de Optimizare Curs 1 ln ε L 0 necesare pentru reducerea lungimii intervalului L < ε este n ε = ln ( α) Descriem mai os algoritmul corespunzător denumit metoda secţiunii de aur: ε > 0 dat precizia de localizare a unui punct de minim t* al lui ϕ [a 0, b 0 ] interval iniţial ce conţine un punct de minim al lui ϕ α : = 5 1 ln ε b a a: = a 0 ; b: = b 0 ; L: = b-a; nmax:= ln ( α) a : = a + (1-α)L; b : = a + αl; y1:=ϕ( a ); y: = ϕ( b ); : = 0; cât timp < nmax execută +1 +1. dacă y1 < y atunci b:= b ; L:=b-a; b : = a ; y:=y1; a : = a + (1-α)L; y1:=ϕ( a ); altfel a: = a ; L:=b-a; a : = b ; y1:=y; b : = a + αl; y1:=ϕ( b ); : = +1; t* (b +a)/; Procedura MAPLE golden_section implementează algoritmul de mai sus. Parametrii procedurii sunt: funcţia convexă ϕ, lista I0 cu capetele a 0, b 0 ale unui interval ce conţine un punct de minim pentru ϕ şi precizia ε de localizare a unui punct de minim al lui ϕ. Procedura întoarce o aproximaţie a unui punct de minim al lui ϕ cu eroare cel mult 1 ε. > golden_section:=proc(phi,i0,epsilon) > local alpha,beta,a,b,y1,y,l,u,v,,nmax; > alpha:=evalf((5^(1/)-1)/);beta:=1-alpha; > a:=evalf(i0[1]);b:=evalf(i0[]);l:=b-a; > u:=a+beta*l;v:=a+alpha*l;y1:=phi(u);y:=phi(v); > nmax:=ceil(ln(epsilon/l)/ln(alpha));:=0; > while <nmax do > if y1<y then b:=v;l:=b-a; 11

Mădălina Roxana Buneci Metode de Optimizare Curs - 007 > y:=y1;v:=u;u:=a+beta*l;y1:=phi(u) > else a:=u;l:=b-a; > y1:=y;u:=v;v:=a+alpha*l;y:=phi(v); > fi; > :=+1 > od; > RETURN((a+b)/) > end; Exemplu 7. Aplicăm procedura golden_section funcţiilor ϕ 1, respectiv ϕ din exemplul 4 şi intervalelor date de listele I01, respectiv I0 obţinute ca urmare a aplicării procedurii init (în exemplul 4): > golden_section(phi1,i01,10^(-5)); 1.5000048 > golden_section(phi,i0,10^(-5)); 0.00001965968 Alt grup de metode pentru determinarea unui punct de minim al funcţiei convexe ϕ se bazează pe echivalenţa: t* punct de minim <=> ϕ (t*) = 0. Ca urmare pentru determinarea lui t* se poate aplica orice metodă de rezolvare a ecuaţiei (neliniare) ϕ (t) = 0. Vom exemplifica cu metoda bisecţiei şi metoda tangentei. VII.1.. Metoda bisecţiei Metoda bisecţiei (metoda înumătăţirii intervalului) presupune cunoscut un interval [a 0,b 0 ] cu proprietatea că ϕ (a 0 ) ϕ (b 0 ) < 0. Pentru găsirea rădăcinii ecuaţiei ϕ (t) = 0 se micşorează la fiecare pas intervalul în care funcţia ϕ îşi schimbă semnul. Metoda bisecţiei presupune înumătăţirea la fiecare pas a acestui interval. Astfel a 0 + b0 se determină milocul c = 1 al intervalului (a 0,b 0 ). dacă ϕ (c) ϕ (a 0 )<0, atunci se continuă algoritmul cu intervalul [a 0,c] dacă ϕ (c) ϕ (b 0 )<0, atunci se continuă algoritmul cu intervalul [c,b 0 ] dacă ϕ (c) =0 s-a determinat o rădăcină a ecuaţiei ϕ (t) = 0.

Metode de Optimizare Curs 1 Se construieşte astfel un şir de intervale [a, b ], 0 cu lungimea lui L +1 = b +1 a +1 = 1 L. Deci 1 lim L = lim L 0 =0. În plus, fiecare din aceste intervale conţine o soluţie a ecuaţiei ϕ (t) = 0. Presupunând că se dă o precizie ε>0, considerăm că milocul intervalului [a, b ] este o aproximaţie satisfăcătoare a soluţiei ecuaţiei ϕ (t) = 0 dacă L = b a < ε. Numărul de iteraţii necesare pentru ca L < ε este n ε ( ε) ln L 0 = ln La ieşire c= +1. ϕ convexă derivabilă [a 0,b 0 ] cu ϕ (a 0 ) ϕ (b 0 ) < 0 ε > 0 dat precizia de localizare a unui punct de minim t* al lui ϕ (sau echivalent punct staţionar al lui ϕ) ( ε) ln b a a: = a 0 ; b:=b 0 ; nmax:= ln cât timp < nmax execută a + b c: = ; dacă ϕ (c) = 0 atunci +1; : = 0; a :=c; b:=c; : = nmax+1; altfel dacă ϕ (c) ϕ (a)<0 atunci b : = c; altfel a : = c; : = +1; a + b t* a + b este o aproximaţie a unei rădăcini t* (a0,b 0 ) a ecuaţiei ϕ (t) = 0 cu eroarea absolută t*-c < ε. Procedura MAPLE bisection implementează algoritmul de mai sus. Parametrii procedurii sunt: funcţia convexă ϕ, lista I0 cu punctele a 0, b 0 cu proprietatea că ϕ (a 0 ) ϕ (b 0 ) < 0 şi precizia ε de localizare a unui punct de minim al lui ϕ. Procedura întoarce o aproximaţie a unui punct staţionar (sau echivalent punct de minim) al lui ϕ cu eroare cel mult 1 ε. 13

Mădălina Roxana Buneci Metode de Optimizare Curs - 007 > bisection:=proc(phi,i0,epsilon) > local c,a,b,d,,nmax; > a:=evalf(i0[1]);b:=evalf(i0[]);d:=d(phi); > nmax:=ceil(ln(abs((b-a)/epsilon))/ln()); :=0; > while <nmax do > c:=(a+b)/; > if d(c)=0 then a:=c;b:=c;:=nmax+1 else > if evalf(d(c)*d(a))<0 then b:=c else a:=c fi fi; > :=+1 od; > c:=(a+b)/; > RETURN(c) > end; Exemplu 8. Aplicăm procedura bisection funcţiilor ϕ 1, respectiv ϕ din exemplul 4 şi intervalelor date de listele I01, respectiv I0 obţinute ca urmare a aplicării procedurii init (în exemplul 4): > evalf(d(phi1)(i01[1])*d(phi1)(i01[])); -3. > bisection(phi1,i01,10^(-5)); 1.500000000 > evalf(d(phi)(i0[1])*d(phi)(i0[])); -1.666666667 > bisection(phi,i0,10^(-5)); 0. VII.1.3. Metoda tangentei (metoda lui Newton) Prin metoda tangentei (metoda lui Newton) se determină o rădăcină a unei ecuaţii h(t) = 0 ca limita unui şir. Se pleacă de la un punct t 0 dat. Presupunând că s-a construit termenul t -1, termenul t se determină ca fiind abscisa intersecţiei dintre tangenta la graficul funcţiei h în t -1 şi axa absciselor. 14

Metode de Optimizare Curs 1 t t -1 Presupunem că funcţia h: [a 0, b 0 ] R este de ori derivabilă şi că h nu se anulează. Ecuaţia tangentei în t n-1 fiind: rezultă (luând y = 0) y h(t -1 ) = h (x -1 )(x x -1 ) t = t -1-15 ( 1 ) ( t 1 ) h t h Convergenţa şirului este determinată de termenul iniţial t 0. Mai precis dacă t 0 se află într-o vecinătate suficient de mică a soluţiei t* a ecuaţiei h(t) = 0, atunci şirul (t ) converge la t*. Mai mult, avem unde m 1 = inf h [ ] t a,b 0 0 M t t m t* - t ( ) ( t) şi M = sup h ( t) t [a,b ] 0 0 1. 1. Pentru rezolvarea ecuaţiei ϕ (t) = 0, şirul corespunzător metodei tangentei este definit prin: iar algoritmul corespunzător: t = t -1 - ϕ strict convexă de clasă C t 00 dat (punct iniţial) ϕ ϕ ( t 1 ) ( t 1 ), t 0 dat ε > 0 dat precizia de localizare a unui punct de minim t* al lui ϕ (sau t 0 : = t 00 ; echivalent punct staţionar al lui ϕ)

Mădălina Roxana Buneci Metode de Optimizare Curs - 007 t 1 : = t 0 - ϕ ϕ ( t0 ) ( t ) 0 ; cât timp t 1 t 0 ε execută t 0 := t 1 ; t 1 : = t 0 - ϕ ϕ ( t0 ) ( t ) 0 ; La ieşire t 1 este o aproximaţie a unei rădăcini t* a ecuaţiei ϕ (t) = 0 cu eroarea absolută mai mică decât ε. Prezentăm în continuare o variantă a acestui algoritm pentru cazul în care şirul construit nu converge. Introducem ca dată suplimentară de intrare numărul maxim de termeni din şir ce urmează a fi calculaţi (Nmax) şi afişăm termenul şirului corespunzător fiecărei iteraţii. Condiţia de oprire se transformă t 0 : = t 00 ; t 1 : = t 0 - :=1; ϕ ϕ ( t0 ) ( t ) 0 ; t - t -1 < ε sau n > Nmax cât timp ( t 1 t 0 ε) şi ( Nmax) execută t 0 := t 1 ; t 1 : = t 0 - : = +1; ϕ ϕ afişează t1; ( t0 ) ( t ) 0 ; Trebuie verificat la ieşirea din ciclu dacă ϕ (t 1 ) 0. Dacă problema este bine condiţionată (adică aproximaţiei. 1 ϕ * ( t ) mic), aceasta condiţie va asigura acurateţea Procedurile MAPLE corespunzătoare sunt prezentate mai os: > newton1:=proc(phi,t00,epsilon) > local t0,t1,d1,d; > d1:=d(phi); d:=d(d1);t0:=evalf(t00);t1:=t0-d1(t0)/d(t0); 16

Metode de Optimizare Curs 1 > while ((t1-t0)^)>=epsilon do > t0:=t1;t1:=t0-d1(t0)/d(t0) od; > RETURN(t1) > end; > newton1_:=proc(phi,t00,epsilon,nmax) > local t0,t1,d1,d,; > d1:=d(phi); d:=d(d1);t0:=evalf(t00);t1:=t0-d1(t0)/d(t0); :=1; > while (((t1-t0)^)>=epsilon) and (<=Nmax) do > t0:=t1;t1:=t0-d1(t0)/d(t0); :=+1; > print(t1) od; > RETURN(t1) > end; Exemplu 9. Aplicăm procedura newton1 funcţiei ϕ 1 din exemplul 4 cu punctele iniţiale t 0 =0, respectiv t 0 = : > newton1(phi1,0,10^(-5)); > newton1(phi1,,10^(-5)); 1.500000000 1.500000000 şi funcţiei ϕ din exemplul 4 cu punctele iniţiale t 0 =0.7, respectiv t 0 = -0.7 : > newton1(phi,0.7,10^(-5)); > newton1(phi,-0.7,10^(-5)); -0.7398 10-10 -0.7398 10-10 Aplicăm procedura newton1_ funcţiei ϕ 1 cu punctele iniţiale t 0 =10 (număr maxim de iteraţii 1), respectiv t 0 = (număr maxim de iteraţii 1) : > newton1_(phi1,10,10^(-5), 1); > newton1_(phi1,-30,10^(-5),1); 1.500000000 1.500000000 1.50000000 1.50000000 17

Mădălina Roxana Buneci Metode de Optimizare Curs - 007 precum şi funcţiei ϕ cu punctele iniţiale: t 0 =0.7 (număr maxim de iteraţii 5), t 0 = - 0.7 (număr maxim de iteraţii 5), t 0 =1.5 (număr maxim de iteraţii 5), respectiv t 0 = 1.05 (număr maxim de iteraţii 5): > newton1_(phi,0.7,10^(-5),5); > newton1_(phi,-0.7,10^(-5), 5); > newton1_(phi,1.5,10^(-5),5); > newton1_(phi,1.05,10^(-5), 5); -0.400999999-0.057648010-0.003339345-0.000011044830-0.7398 10-10 -0.7398 10-10 -0.400999999-0.057648010-0.003339345-0.000011044830-0.7398 10-10 -0.7398 10-10 -.44140650-5.960464478-35.5713679-16.177449-0.1593091913 10 7-0.1593091913 10 7-1.155065-1.477455449 -.18874604-4.764941536 -.70466784 -.70466784 18

Metode de Optimizare Curs 1 Se observă că pentru punctele iniţiale t 0 =1.5 şi t 0 = 1.05 şirul construit prin metoda lui Newton nu converge la punctul staţionar al funcţiei ϕ. VII.. Proceduri de alegere suboptimală a pasului Procedurile de alegere suboptimală a pasului presupun determinarea pasului t din condiţia realizării unei reduceri semnificative (dar nu neapărat optimale) a funcţiei f în direcţia v (v direcţie descendentă în x ) : f(x + t v ) < f(x ) Aşa cum am arătat mai înainte dacă f este diferenţiabilă şi v este o direcţie descendentă în x, atunci există λ >0 astfel încât pentru orice t (0, f(x + tv ) < f(x ). λ ) Deci orice valoare t (0, λ ) satisface f(x + t v ) < f(x ). Să observăm însă în exemplul următor ce se întâmplă dacă valorile t sunt prea mici. Fie f : R R, f(x) = x, x 0 =, v 1 = -1, t = 1, + x+1 = x + t v pentru orice 0. (x 0, f(x 0 )) (x 1, f(x 1 )) (x, f(x )) Deoarece paşii de deplasare t sunt prea mici şirul construit x = - = 1 1 converge la 1 şi nu la punctul de minim x =0 al funcţiei f. Algoritmul de alegere a lui t prezentat mai os previne situaţia în care pasul t ar deveni prea mic. t init > 0 valoare iniţială dată (de exemplu, t init = 1 dacă domeniul de definiţie al lui f este R n ) β (0, 1) dat (de exemplu, β = 1 ) 19

Mădălina Roxana Buneci Metode de Optimizare Curs - 007 t: = t init cât timp f(x +tv ) f(x ) execută t : = t; t : = t * β; Ca urmare t va lua cea ai mare valoare dintre cele de forma t init β, = 0,1,... care îndeplineşte condiţia f(x +t init β v ) < f(x ). Pe de altă parte nici situaţia în care t este prea mare relativ la descreşterea lui f nu convine după cum rezultă din exemplul următor. Fie f:r R, f(x) = x, x 0 =, v = (-1) +1 3, t = +, + x+1 1 = x + t v pentru orice 0. (x 0, f(x 0 )) (x 1, f(x 1 )) (x, f(x )) (x 3, f(x 3 )) (x 4, f(x 4 )) În acest exemplu paşi t sunt prea mari relativ la valorile cu care descreşte f, iar termenii x = (-1) 1 + oscilează de o parte şi cealaltă a minimului. Şirul (x ) are două subşiruri convergente la 1 şi respectiv -1, fără ca vreunul din punctele -1 sau 1 să fie punct de minim pentru f. Pentru a preveni această situaţie se impune o condiţie mai tare decât simpla descreştere f(x + t v ) < f(x ), şi anume: f(x + t v ) f(x ) + t δ< f(x ), v > (10) unde δ (0, 1). Condiţia (10) poartă denumirea de condiţia lui Armio. Algoritmul bactracing Armio (de căutare liniară) pentru determinarea lui t este redat mai os: t init > 0 valoare iniţială dată (de exemplu, t init = 1) 0

Metode de Optimizare Curs 1 β (0, 1) dat (de exemplu, β = 1 ) δ (0, 1) - dat (de exemplu, δ = 0.1 sau 10-4 ) t: = t init cât timp f(x +tv ) > f(x ) + t δ< f(x ), v > execută t : = t * β; t : = t; Procedura MAPLE suboptimal are drept parametri funcţia f, punctul x, direcţia descendentă v, şi valorile t init, β şi δ. Procedura întoarce pasul t astfel încât condiţia Armio să fie verificată. > suboptimal:=proc(f,x,v,tinit,beta,delta) > local y, t,n,g,g,x1; > n:=vectdim(x); >g:=grad(f(seq(x[i],i=1..n)),vector([seq(x[i],i=1..n)])); >g:=vector([seq(subs(seq(x[i]=x[i], i=1..n),g[]),=1..n)]); >y:=evalf(f(seq(x[i],i=1..n))); >t:=evalf(tinit);x1:=vector(n);x1:=evalm(x+t*v); > while f(seq(x1[i],i=1..n))>y+t*delta*sum(g[i]*v[i],i=1..n) > do t:=t*beta; x1:=evalm(x+t*v) > od; > RETURN(t) > end; Aplicând această procedură funcţiei f 1 : R R, definită prin f 1 (x,y) = 3x +y -xy -4x +y -3 > f1:=(x,y)->3*x^+*y^-*x*y-4*x+*y-3; f1 := ( x, y ) 3 x + y x y 4 x + y 3 şi punctului x = [0,0], direcţiei v = [1,-1] şi luând t init = 1, β = 0.5 şi δ =0.1 (respectiv δ = 0.45) obţinem: > suboptimal(f1,vector([0,0]),vector([1,-1]),1,0.5,0.1); > suboptimal(f1,vector([0,0]),vector([1,-1]),1,0.5,0.45); 0.5 0.5 Rămâne să arătăm că algoritmul de determinare a lui t se termină într-un număr finit de paşi şi că valoarea lui t nu devine prea mică. În plus vom studia 1

Mădălina Roxana Buneci Metode de Optimizare Curs - 007 convergenţa şirului construit (x ). Vom presupune că gradientul funcţiei f este o funcţie Lipschitz continuă. Definiţie 11. Fie V şi W două spaţii normate şi X V o submulţime. Funcţia F:X W se numeşte Lipschitz continuă pe X dacă există o constantă γ>0 (numită constanta Lipschitz) astfel încât pentru orice x,y X să avem: F(y) F(x) γ y-x. Este uşor de observat că orice Lipschitz continuă pe X este uniform continuă pe X (în particular, continuă pe X). Restricţia oricărei funcţii de clasă C 1 la o mulţime compactă K este Lipschitz continuă pe K (rezultă din teorema creşterilor finite). Observaţie 1. Pentru funcţii având diferenţiale de ordinul 1, respectiv de ordinul, Lipschitz continue sunt valabile următoarele formule Taylor: Presupunem că: X este o submulţime deschisă a lui R n, f:x R o funcţie de clasă C 1, f Lipschitz continuă (cu constanta Lipschitz γ L ), x 0 X, h R n cu proprietatea că x 0 +λh X pentru orice λ [0, 1]. Atunci f(x 0 + h) - f(x 0 ) - < f(x 0 ), h> 1 γl h Presupunem că: X o este o submulţime deschisă a lui R n, f:x R o funcţie de clasă C, Hf Lipschitz continuă (cu constanta Lipschitz γ P ), x 0 X, h R n cu proprietatea că x 0 +λh X pentru orice λ [0, 1]. Atunci f(x 0 + h) - f(x 0 ) - < f(x 0 ), h> - 1 <Hf(x0 )h, h> 1 6 γp h 3 Teoremă 13. Fie X o submulţime deschisă a lui R n, f: X R o funcţie de clasă C 1 având gradientul f Lipschitz continuu cu constanta Lipschitz γ şi fie x X. Dacă δ (0, 1) şi v este o direcţie descendentă în x, atunci condiţia Armio este satisfăcută pentru orice t [0, λ ( x,v) ], unde λ ( x,v) = δ 1 < v, f x > γ v (norma considerată fiind ). Demonstraţie. Fie t [0, λ ( x,v) ]. Deoarece

Metode de Optimizare Curs 1 f(x+ tv) - f(x) - t< f(x), v> f(x+ tv) - f(x) - t< f(x), v> 1 γt v rezultă că f(x+tv) f(x) + t< f(x), v> + 1 γt v f(x) + t< f(x), v> + 1 γt ( 1) v, f ( x) = f(x) + t< f(x), v> + t(δ-1) <v, f(x)> = f(x) + δt<v, f(x)> δ < > v γ v Corolar 14. Fie f: R n R o funcţie de clasă C 1 având gradientul f Lipschitz continuu cu constanta Lipschitz γ şi fie x X. Dacă β (0, 1), δ (0,1) şi v este o direcţie descendentă în x K, atunci pasul t generat de algoritmul bactracing-armio satisface condiţia t 1 v, f x β δ < > min t init, γ v (norma considerată fiind ). Demonstraţie. Există două posibilităţi 1. t init satisface condiţia Armio şi atunci t = t init.. t init nu satisface condiţia Armio şi atunci t este de forma t init β i cu i N *. Fie cel mai mare număr natural cu proprietatea că t init β > δ 1 < v, f x >. (14.1) γ v Atunci t init β +1 δ 1 < v, f x > γ v şi conform teoremei precedente t init β +1 satisface condiţia Armio. Aşadar t t init β +1 = β t init β > ( 14.1) β δ 1 < v, f x >. γ v 3

Mădălina Roxana Buneci Metode de Optimizare Curs - 007 În consecinţă, în ambele cauze t 1 v, f x β δ < > min t init,. γ v Teoremă 15 (convergenţa algoritmilor de căutare liniară inexactă în cazul generării pasului de deplasare prin algoritmul bactracing-armio). Fie f: R n R o funcţie de clasă C 1 având gradientul f Lipschitz continuu i fie x 0 X. Se construieşte şirul definit prin x +1 = x + t v, 0 unde v este o direcţie descendentă în x, iar t este pasul de deplasare obţinut aplicând algoritmul bactracing-armio. Atunci are loc una din următoarele trei situaţii: 1. f(x ) = 0 pentru un anumit 0. inf f ( x ) = - lim min < v, f x >, 3. < v, f x > = 0 v (norma considerată fiind ). Demonstraţie. Presupunem că inf f ( x ) 0. Din condiţia Armio rezultă că pentru orice 0 f(x + t v ) f(x ) + t δ< f(x ), v > f(x +1 ) - f(x ) t δ< f(x ), v > f(x ) - f(x +1 ) - t δ< f(x ), v >. Sumând după se obţine f(x 0 ) - f(x +1 ) t v, f ( x ) = 0 δ < >. 4 >- şi că f(x ) 0 pentru orice Cu alte cuvinte şirul sumelor parţiale ale seriei cu termeni pozitivi t δ < v, f x > este mărginit, deci seria este convergentă şi ca urmare = 0 termenul ei general converge la zero:

Metode de Optimizare Curs 1 lim t < f(x ), v > = 0. (15.1) Fie γ constanta Lipschitz asociată gradientului f. Notăm K 1 =, t K =, t β δ 1 < v, f x > > γ v init β δ 1 < v, f x >. γ v init Ţinând cont de corolarul 14, rezultă că pentru orice K 1 avem t β δ 1 < v, f x > γ v γ β 1 ( δ) v, f x t < > < v, f x > v γ β 1 ( δ) v, f x t < > < v, f x > (15.) v Pentru orice K avem t t init şi ca urmare < f(x ), v > = Din (15.) şi (15.3) rezultă că 0 < > v, f x t t v, f x < > min < v, f x >, v Dar din (15.1) rezultă că ( δ) 5 < > v, f x t t init min < v, f x > t, ( δ) (15.3). v, f x t γ < > β 1 t lim min < v, f x > t, init v, f x t γ < > β 1 t init = 0.

Mădălina Roxana Buneci Metode de Optimizare Curs - 007 lim min < v, f x >, şi ca urmare < v, f x > = 0 v Observaţie 16. După cum rezultă teorema anterioară algoritmul bactracing-armio (prin care t este cel mai mare număr de forma t init β i (cu i N) care satisface condiţia Armio) asigură convergenţa metodelor de căutare liniară inexactă, dacă se impun condiţii suplimentare asupra lui f (f să fie mărginită inferior) şi asupra direcţiei v astfel încât din condiţia 3 a teoremei 15 să rezulte convergenţa la 0 a şirului ( f(x )) sau măcar a unui subşir al acestuia. Există însă şi alte modalităţi pentru a evita ca t să devină prea mic sau prea mare (relativ la descreşterea lui f). Se spune că t satisface condiţiile Wolfe dacă f(x + t v ) f(x ) + t δ 1 < f(x ), v > (17a) < f(x + t v ), v > δ < f(x ), v > (17b) cu 0 < δ 1 < δ < 1 (de exemplu, δ 1 = 10-4 şi δ = 0.9 dacă direcţia v este aleasă printr-o metodă de tip Newton sau δ = 0.1 dacă direcţia v este aleasă prin metoda de gradientului conugat). Se spune că t satisface condiţiile Wolfe în sens tare dacă f(x + t v ) f(x ) + t δ 1 < f(x ), v > (18a) < f(x + t v ), v > δ < f(x ), v > (18b) cu 0 < δ 1 < δ < 1. Se spune că t satisface condiţiile Goldstein dacă f(x ) + t (1-δ)< f(x ), v > f(x + t v ) f(x ) + t δ< f(x ), v > (19) cu 0 < δ < 1. Un dezavanta al condiţiilor lui Goldstein relativ la condiţiile Wolfe este acela că prima dintre inegalităţi poate exclude toate punctele de minim ale funcţiei ϕ (ϕ(t) = f(x + tv )). Condiţiile Goldstein se utilizează în cazul metodei Newton, dar nu sunt potrivite pentru metodele cvasi-newton. De asemenea algoritmul bactracing-armio este foarte potrivit metodei Newton, dar mai puţin potrivit metodele cvasi-newton sau de gradient conugat (ce vor fi descrise în subcapitolul următor). 6

Metode de Optimizare Curs 1 Ca şi în cazul algoritmului bactracing-armio, condiţiile Wolfe nu sunt suficiente pentru a asigura convergenţa indiferent de alegerea direcţiilor v. Următoarea teoremă datorată lui Zoutendi stă la baza rezultatelor privind convergenţa diverselor metode în care paşii de deplasare satisfac condiţiile Wolfe. Teoremă 0 (convergenţa algoritmilor de căutare liniară inexactă în cazul în care pasul de deplasare satisface condiţiile Wolfe) Fie f:r n R o funcţie de clasă C 1 având gradientul f Lipschitz continuu cu constanta Lipschitz γ şi fie x 0 X. Se construieşte şirul definit prin x +1 = x + t v, 0 unde v este o direcţie descendentă în x, iar pasul de deplasare t îndeplineşte condiţiile Wolfe (17a, 17b) pentru orice 0. Atunci are loc una din următoarele trei situaţii: 1. f(x ) = 0 pentru un anumit 0. inf f ( x ) 3. Seria = - 0 cos θ f x este convergentă. În particular, cos(θ ) = cos f x lim f x,v < > f x Demonstraţie. Presupunem că inf f ( x ) v θ =0, unde 0. Datorită condiţiilor Wolfe, mai precis, din (17b) rezultă că. >- şi că f(x ) 0 pentru orice < f(x + t v ) - f(x ), v > (δ -1) < f(x ), v > (0.1) Din faptul că f este Lipschitz continuă, rezultă că de unde, f(x + t v ) - f(x ) γt v < f(x + t v ) - f(x ), v > γt v. (0.) Din (0.1) şi din (0.) obţinem inegalitatea 7

Mădălina Roxana Buneci Metode de Optimizare Curs - 007 δ 1 t γ f x,v < >, şi folosind prima condiţie Wolfe (17a) rezultă mai departe f(x + t v ) f(x δ 1 ) + γ v ( ( f x ),v ) < > δ1 v 1 δ Dacă notăm c = δ1 şi ţinem cont că x + t v = x +1 obţinem γ f(x +1 ) f(x ) - c iar sumând după şi ţinând seama că cos(θ ) = ( ( < f x ),v > ) 8 v f x,v < > f x f(x +1 ) f(x 0 ) - c cos θ f x = 0 θ f x cos 1 = 0 c (f(x0 ) - f(x +1 )) v, rezultă Cu alte cuvinte şirul sumelor parţiale ale seriei cu termeni pozitivi cos este mărginit, deci seria este convergentă şi ca urmare 0 θ f x termenul ei general converge la zero: cos f x lim θ =0. Observaţie 1. Rezultate similare teoremei precedente se obţin în cazul în care pasul t satisface condiţiile Goldstein pentru orice 0 sau condiţiile Wolfe în sens tare pentru orice 0. Şi în cazul acestor strategii dacă f este mărginită inferior, fie f(x ) = 0 pentru un anumit, fie este îndeplinită condiţia numită condiţia Zoutendi. convergentă () 0 seria cos θ f x Observaţie 3. Încheiem acest subcapitol cu un comentariu asupra alegerii lui t init (prima încercare pentru determinarea pasului t ). Indiferent de strategie

Metode de Optimizare Curs 1 (bactracing-armio, Wolfe (sau Wolfe în sens tare), Goldstein), dacă metoda de determinare a direcţiei este de tip Newton sau cvasi-newton, atunci t init = 1. În cazul metodelor gradientului sau gradientului conugat este important ca la fiecare pas să se ţină cont de informaţia curentă. Astfel t init la pasul (adică cel folosit pentru determinarea lui t ) poate fi luat t -1 1 1 1 f ( x ),v < f ( x ),v > sau f x f x 1 1 f ( x ),v < > < >. 9