Metode de Optimizare Numerică Culegere de probleme

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Metode de Optimizare Numerică Culegere de probleme"

Transcript

1 Metode de Optimizare Numerică Culegere de probleme Ion Necoară Dragoş Clipici Andrei Pătraşcu Departamentul de Automatică şi Ingineria Sistemelor Universitatea Politehnică din Bucureşti

2

3

4

5 Prefaţă Lucrarea de faţă este construită după structura cursului de Tehnici de optimizare, predat de primul autor la Facultatea de Automatică şi Calculatoare a Universităţii Politehnica din Bucureşti şi se adresează studenţilor de la facultăţile cu profil tehnic sau cu tematici adiacente ingineriei sistemelor şi calculatoarelor. Aceasta conţine o serie de probleme rezolvate de laborator şi seminar, având rolul de suport pentru aplicaţiile teoretice/practice abordate la diferite materii ce includ noţiuni din teoria optimizării. La începutul fiecărui capitol este introdus un succint breviar teoretic în care se definesc instrumentele necesare întregului capitol, iar la final este expusă o secţiune cu probleme propuse ce au ca scop posibilele extensii ale aplicaţiilor rezolvate. Rezolvarea problemelor de laborator a fost implementată în mediul de programare Matlab, iar în corpul rezolvării au fost incluse secvenţa de cod corespunzătoare şi figuri ce reflectă performanţele practice ale algoritmilor folosiţi. Pe tot parcursul lucrării prezentăm multe exemple de aplicaţii şi exerciţii rezolvate pentru a face mai accesibilă înţelegerea teoriei şi conceptelor legate de optimizarea numerică. Precizăm că o parte din algoritmii prezentaţi încă reprezintă o temă de cercetare de actualitate în domeniul optimizării în care autorii activează. Capitolele au fost structurate gradat, după dificultatea şi importanţa noţiunilor teoretice necesare în cadrul aplicaţiilor, în număr de şapte: Cap 1: Funcţii ale pachetului de optimizare Matlab; Cap 2: Optimizare convexă; Cap 3: Algoritmi de ordinul I pentru probleme neconstrânse; Cap 4: Algoritmi de ordinul II pentru probleme neconstrânse; Cap 5: Optimizare constrânsă; Cap 6: Algoritmi pentru probleme constrânse; Cap 7: Aplicaţii din inginerie. Deşi fiecare dintre capitole dezvoltă cazuri concrete de aplicaţii ale algoritmilor în cauză, ultimul este alocat unei serii de aplicaţii reale, de actualitate, din diverse domenii ale ingineriei, precum reglarea (controlul) optimală, prelucrarea semnalelor sau învăţarea automată. Fiecare aplicaţie ilustrează tehnici specifice de modelare matematică a unei probleme şi strategii de formulare a modelului matematic de optimizare

6 6 pentru aplicaţia respectivă. Acest capitol final demonstrează astfel aplicabilitatea metodelor numerice de optimizare prezentate în capitolele anterioare în probleme extrem de studiate din inginerie.1 În final, precizăm că am încercat să reducem din caracterul tehnic al limbajului pentru o expunere cât mai clară şi în acelaşi timp, pentru ca cititorul să îşi poată fixa cât mai uşor noţiunile fundamentale de optimizare. Autorii, mai 2013

7 Cuprins 1 Funcţii ale pachetului de optimizare MATLAB Preliminarii Mediul Matlab Probleme rezolvate de laborator Minimizare neconstrânsă Minimizare constrânsă Programare liniară Programare pătratică Probleme rezolvate de seminar Diferenţiere multivariabilă Probleme de optimizare generale Probleme propuse Probleme de optimizare convexă Preliminarii Mulţimi convexe Funcţii convexe Pachet CVX Instalare Elemente de bază Probleme rezolvate de laborator Probleme rezolvate de seminar Mulţimi şi funcţii convexe Probleme propuse Metode de ordinul I Preliminarii Probleme rezolvate de laborator Metoda Gradient Metoda gradienţilor conjugaţi

8 8 Cuprins 3.3 Probleme rezolvate de seminar Aproximări pătratice Condiţii de optimalitate de ordin I Metoda gradient Probleme propuse Metode de ordinul II Preliminarii Probleme rezolvate de laborator Metoda Newton Metode cvasi-newton Probleme rezolvate de seminar Metoda Newton şi metoda BFGS Probleme propuse Probleme de optimizare constrânsă Preliminarii Probleme rezolvate de laborator Formularea unei probleme de optimizare în formă standard Calcularea proiecţiei ortogonale a unui punct pe o mulţime convexă Metoda Gauss-Newton Metoda gradientului proiectat Probleme rezolvate de seminar Problema duală, condiţii şi puncte Karush-Kuhn- Tucker Probleme propuse Metode pentru probleme de optimizare constrânsă Preliminarii Probleme neconvexe cu constrângeri de egalitate Probleme convexe cu constrângeri de egalitate Probleme convexe generale Probleme rezolvate de laborator Metoda Lagrange-Newton Metoda Newton extinsă Metoda de punct interior Probleme rezolvate de seminar

9 Cuprins Metoda Newton pentru probleme constrânse Probleme de control optimal Probleme propuse Aplicaţii din inginerie Control optimal Control optimal aplicat unui robot E-Puck Control optimal aplicat unei instalaţii cu patru rezervoare Problema Google Clasificarea de imagini Bibliografie 179

10 10 Cuprins

11 Capitolul 1 Funcţii ale pachetului de optimizare MATLAB 1.1 Preliminarii Explozia informaţională din ultimele patru decenii a condus la algoritmi numerici de optimizare indispensabili pentru abordarea diferitelor probleme din domeniile ingineriei, fizicii, analizei numerice, teoriei sistemelor şi controlului, prelucrării semnalelor, învăţării automate etc. Precizând că această scurtă enumerare reprezintă doar cele mai evidente domenii de aplicaţie ale algoritmilor de optimizare, constatăm că teoria optimizării este considerată un instrument valoros în majoritatea domeniilor ştiinţifice. În prezent există algoritmi eficienţi (rapizi) destinaţi rezolvării problemelor de optimizare convexe/neconvexe cu dimensiuni mici şi medii într-un interval de timp relativ scurt. Însă multe dificultăţi şi întrebări fără răspuns apar în cazul problemelor cu dimensiuni mari (e.g variabile). Dimensiunile problemelor întâlnite în domeniile enumerate anterior se află în creştere continuă, astfel încât se formulează relativ des probleme cu dimensiuni de zeci de milioane de variabile. Ca urmare, algoritmii de optimizare rămân un subiect de actualitate în cercetarea modernă din matematica aplicată. În continuare vom prezenta şi formula principalele clase de probleme de optimizare şi în plus, funcţiile Matlab uzuale pentru rezolvarea numerică a acestor tipuri de probleme.

12 12 Capitolul 1. Funcţii ale pachetului de optimizare MATLAB Mediul Matlab Matlab (Matrix laboratory) este un mediu de calcul numeric şi un limbaj de programare de generaţia a patra, dezvoltat de compania Mathworks. Mediul Matlab oferă o interfaţă uşor de utilizat pentru operaţii cu matrice, implementare de algoritmi, grafice de funcţii etc. Figura 1.1: Matlab. Încă de la sfârşitul anilor 1970, Matlab a câştigat o audienţă largă în cadrul academic şi în comunitatea matematicii aplicate. Începând cu dezvoltarea de pachete de programe destinate problemelor numerice de algebră liniară, au fost incluse şi dezvoltate ulterior funcţii (toolbox-uri) specializate în rezolvarea de probleme de optimizare, rezolvarea de sisteme de ecuaţii, modelare şi identificare de sisteme, control etc. Pachetul Optimization Toolbox, din cadrul mediului Matlab, furnizează algoritmi utilizaţi la scară largă, destinaţi problemelor de optimizare standard şi de mari dimensiuni. De asemenea, pachetul include şi funcţii ce rezolvă probleme de optimizare structurate: programare liniară, programare pătratică, programare binară, probleme CMMP neliniare, rezolvare de sisteme de ecuaţii neliniare şi optimizare multicriterială. Dificultatea problemelor de optimizare ce apar de cele mai multe ori în practică limitează capacitatea algoritmilor existenţi la găsirea unei soluţii aproximative corespunzătoare problemei date. De exemplu,

13 1.2. Probleme rezolvate de laborator 13 problema de optimizare ce presupune găsirea punctului global de maxim corespunzător funcţiei sinc(x) = sinπx este o problemă dificil de rezolvat. πx Pentru motivarea acestei afirmaţii se poate observa uşor în Fig. 1.2 că funcţia sinc(x) prezintă o infinitate de maxime locale (denivelările de la baza dealului), despre care nu cunoaştem a priori dacă sunt sau nu valori maxime globale. Pentru a ilustra simplitatea cu care putem figura funcţiile în mediul Matlab, prezentăm în continuare secvenţa de cod care generează graficul din Fig [X,Y] = meshgrid(-10:0.25:10,-10:0.25:10); f = sinc(sqrt((x/pi).^2+(y/pi).^2)); surf(x,y,f); axis([ ]) xlabel( {\bfx} ) ylabel( {\bfy} ) zlabel( {\bfsinc} ({\bfr}) ) Figura 1.2: Graficul funcţiei sinc(x). 1.2 Probleme rezolvate de laborator Minimizare neconstrânsă Problemele de optimizare neconstrânsă presupun minimizarea (sau maximizarea) unei anumite funcţii obiectiv (criteriu) prin intermediul unui set de variabile de decizie, fără ca acestea să respecte anumite restricţii (constrângeri). Se consideră funcţia (în general, neliniară)

14 14 Capitolul 1. Funcţii ale pachetului de optimizare MATLAB f : R n R de două ori diferenţiabilă, căreia i se asociază problema de optimizare: min x R n f(x), unde x are rolul vectorului variabilelor de decizie. Problema de optimizare se consideră rezolvată dacă s-a obţinut un vector x pentru care valoarea funcţiei f( ) în x este minimă, adică f(x ) f(x) pentru orice x R n. Mulţimea în care se efectuează căutarea se numeşte mulţime fezabilă, care în cazul de faţă este dată de întreg spaţiul Euclidian R n. Funcţii MATLAB Pentru cazul în care funcţia obiectiv nu are o structură prestabilită sau o formă particulară, sunt disponibile următoarele funcţii MATLAB pentru aproximarea unui punct de minim local în cazul unei probleme neconstrânse: 1. Funcţia [...]=fminunc(...) returnează un punct de minim local al funcţiei introduse ca argument, cu ajutorul informaţiei de ordinul I (gradient) şi a celei de ordin II (Hessiana). Sintaxa funcţiei are expresia: x=fminunc(fun,x0) x=fminunc(fun,x0,optiuni) [x,val]=fminunc(...) [x,fval,exitflag,output,grad,hessian]=fminunc(...) Variabila fun reprezintă funcţia obiectiv diferenţiabilă ce trebuie furnizată ca o variabilă de tip function handle. O variabilă de tip function handle poate fi, e.g. un fişier objfun.m care primeşte la intrare variabila de decizie x şi returnează valoarea funcţiei în x. Dacă metoda de rezolvare a problemei necesită şi gradientul funcţiei, iar opţiunea GradObj este setată on, atunci argumentul fun furnizează, în plus, şi valoarea gradientului în punctul x. Dacă metoda de rezolvare a problemei necesită Hessiana, iar opţiunea Hessian este setată on, atunci argumentul fun furnizează, în plus, şi valoarea hessianei în punctul x. Vectorul x0 reprezintă punctul iniţial de unde porneşte procesul de căutare al minimului şi trebuie furnizat ca un vector din R n.

15 1.2. Probleme rezolvate de laborator 15 Variabila optiuni reprezintă setul de opţiuni specific fiecărei rutine Matlab. Comanda optiuni=optimset( fminunc ) afişează setul de opţiuni implicit. Fiecare dintre acestea se poate modifica în funcţie de problema de minimizare. De exemplu, pentru setarea opţiunii GradObj pe on, comanda este optiuni.gradobj= on. Pentru o documentare amănunţită introduceţi următoarea comandă: help fminunc 2. Funcţia [...]=fminsearch(...) returnează un punct de minim local al funcţiei introduse ca argument, utilizând însă o metodă diferită de cea folosită de fminunc, anume metoda Nedler-Mead, ce utilizează informaţie de ordin zero (evaluarea funcţiei). Sintaxa este similară celei prezentatĕ pentru funcţia fminunc. Exemplul 1. Considerăm problema de optimizare min x R 2f(x) ( = e x 1 (4x x2 2 +4x 1x 2 +2x 2 +1) ). Să se rezolve problema (să se găsească un punct de minim local) utilizând rutina fminunc, cu punctul de iniţializare x 0 = [1; 1]. Rezolvare. Se creează fişierul objfun.m ce va conţine următoarea secvenţă de cod: function f=objfun(x) f = exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1); Se apelează rutina fminunc în următorul mod: x0=[-1,1]; optiuni=optimset(largescale,off); [x,fval,exitflag,output]=fminunc(@objfun,x0,optiuni); Exemplul 2. Considerăm problema de optimizare: minf(x) (= cos3πx+sin2πx). x R (i) Să se rezolve problema (să se găsească un punct de minim local) utilizând rutina fminunc, cu punctul de iniţializare x 0 = 0. (ii) Să se rezolve problema cu ajutorul metodei secţiunii de aur.

16 16 Capitolul 1. Funcţii ale pachetului de optimizare MATLAB Rezolvare. (i) Se creează fişierul objfun.m cu următoarea secvenţă de cod: function f=objfun(x) f = cos(3*pi*x) + sin(2*pi*x); Se apelează rutina fminunc: x0=0; optiuni=optimset(largescale,off); [x,fval,exitflag,output]=fminunc(@objfun,x0,optiuni); (ii) Deoarece funcţia este periodică, de perioadă 2π, putem aplica metoda secţiunii de aur, în care se alege lungimea intervalului iniţial egală cu 2π, a cărei implementare este expusă în cele ce urmează. Se creează fişierul objfun.m şi goldsection.m: function f=objfun(x) f = cos(3*pi*x) + sin(2*pi*x); end function [xst,fst]= goldsection(x,eps) a=x-pi; b=x+pi; lambda=a+0.382*(b-a); miu=a+0.618*(b-a); while ((b-a)>=eps) if (objfun(lambda)<=objfun(miu)) b=miu; else a=lambda; end lambda=a+0.382*(b-a); miu=a+0.618*(b-a); end if (objfun(lambda)<=objfun(miu)) fst=objfun(lambda); xst=lambda; else fst=objfun(miu); xst=miu; end Exemplul 3 (Interpolare polinomială). O problemă des întâlnită în analiza numerică şi inginerie o reprezintă aproximarea optimă a unei funcţii neliniare cu un polinom de grad dat. Mai exact, fiind dată funcţia

17 1.2. Probleme rezolvate de laborator 17 neliniară f : R R cu structură necunoscută, dorim aproximarea acesteia cu un polinom g : R R, g(z) = a n z n + +a 1 z +a 0. Datele cunoscute în legătură cu funcţia neliniară f reprezintă setul de perechi: (y 1,f(y 1 )),...,(y m,f(y m )), unde scalarii y i R sunt daţi. Notând vectorul coeficienţilor polinomului cu x = [a 0...a n ] T şi b = [f(y 1 )...f(y m )] T, problema se reduce la găsirea vectorului optim de coeficienţi ce satisface relaţia: 1 y 1... y1 n a 0 f(y 1 ) 1 y 2... y2 n a 1 Ax =..... f(y 2 ). = b. 1 y m... ym n a n f(y m ) Echivalent, obţinem următoarea problemă de optimizare fără constrângeri: min f(x) ( ) = Ax b 2. (1.1) x R n+1 Să se rezolve problema (1.1), pe cazuri particulare pentru matricea A şi vectorul b de diferite dimensiuni, utilizând rutinele fminunc şi lsqlin. Să se compare rezultatele obţinute. Ce se observă? Minimizare constrânsă Fie funcţia (în general neliniară) f : R n R. Forma generală a unei probleme de optimizare cu constrângeri (numite şi restricţii), asociate funcţiei f, se formulează în următorul mod: min f(x) x R n s.l.: Cx d, g(x) 0, l x u, (1.2) Ax = b, h(x) = 0, unde l,u R n,d R m 1,b R p 1,C R m 1 n,a R p 1 n, iar g(x) : R n R m 2,h(x) : R n R p 2 sunt funcţii multidimensionale (vectori de funcţii), reprezentând constrângerile neliniare de inegalitate şi respectiv, de egalitate.

18 18 Capitolul 1. Funct ii ale pachetului de optimizare MATLAB Exemplul 4. Consider am urm atoarea problem a de optimizare: min2 (x1 3)2 + (x2 2)2 x R s.l.: x21 x2 3 0, x2 1 0, x1 0. Funct ia obiectiv si cele trei constrˆangeri de inegalitate sunt definite de urm atoarele expresii: f (x1, x2 ) = (x1 3)2 + (x2 2)2, g1 (x1, x2 ) = x21 x2 3, g2 (x1, x2 ) = x2 1, g3 (x1, x2 ) = x1. Fig 1.3 ilustreaz a mult imea fezabil a. Problema se reduce la a g asi un punct ˆın mult imea fezabil a ˆın care (x1 3)2 + (x2 2)2 ia cea mai mic a valoare. Observ am c a punctele [x1 x2 ]T cu (x1 3)2 + (x2 2)2 = c sunt cercuri de raz a c cu centrul ˆın [3 2]T. Aceste cercuri se numesc mult imile nivel sau contururile funct iei obiectiv avˆand valoarea c. Pentru a minimiza c trebuie s a g asim cercul cu cea mai mic a raz a care intersecteaz a mult imea fezabil a. Dup a cum se observ a din Fig. 1.3, cel mai mic cerc corespunde lui c = 2 si intersecteaz a mult imea fezabil a ˆın punctul de optim x = [2 1]T. 5 g 3 contururi functie obiectiv (3,2) g2 1 0 punct optim (2,1) g1 1 zona fezabila Figura 1.3: Solut ia grafic a a problemei de optimizare.

19 1.2. Probleme rezolvate de laborator 19 Funcţii MATLAB Pentru cazul în care funcţia de minimizat (maximizat) nu are o structură prestabilită sau o formă particulară, pentru rezolvarea problemei de optimizare (1.2) este disponibilă funcţia MATLAB fmincon ce prezintă următoarea sintaxă: x = fmincon(fun,x0,c,d,a,b,l,u,nonlcon,optiuni) [x,fval,exitflag,output,lambda,grad,hessian] = fmincon(...). variabila fun reprezintă funcţia obiectiv ce trebuie furnizată ca o variabilă de tip function handle. Dacă metoda de rezolvare a problemei cere şi gradientul funcţiei, iar opţiunea GradObj este setată on, atunci argumentul fun furnizează, în plus, şi valoarea gradientului în punctul x. Dacă metoda de rezolvare a problemei cere Hessiana, iar opţiunea Hessian este setată on, atunci argumentul fun furnizează, în plus, şi valoarea Hessianei în punctul x; matricele şi vectorii C,d,A,b,l,u definesc constrângerile liniare cu structura prezentată în modelul (1.2); variabila de tip handle nonlcon returnează constrângerile neliniare de egalitate şi inegalitate reprezentate în (1.2); x0 reprezintă punctul iniţial de unde porneşte procesul de căutare al minimului şi trebuie furnizat ca un vector din R n ; variabila optiuni reprezintă setul de opţiuni specific fiecărei rutine MATLAB. Comanda optiuni=optimset( fmincon ) afişează setul de opţiuni implicit. Fiecare dintre acestea se poate modifica în funcţie de problema de minimizare. De exemplu, pentru setarea opţiunii GradObj pe on, comanda este optiuni.gradobj= on. Pentru o documentare amănunţită introduceţi următoarea comandă: help fmincon Exemplul 5. Considerăm problema de optimizare: ( min x R 2f(x) = e x 1 (4x x2 2 +4x 1x 2 +2x 2 +1) ). ({ ) x 1 x 2 x 1 x s.l.: g(x) 0. x 1 x

20 20 Capitolul 1. Funcţii ale pachetului de optimizare MATLAB Să se rezolve local problema utilizând rutina fmincon, cu punctul de iniţializare x 0 = [1 1] T. Rezolvare. Se creează fişierul objfun.m ce defineşte funcţia obiectiv şi confun.m în care se definesc constrângerile: function f=objfun(x) f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1); function[g,h]=confun(x) g=[x(1)*x(2)-x(1)-x(2)+1.5 -x(1)*x(2)-10]; h=[]; Apoi se apelează rutina pentru minimizare cu restricţii: x0=[-1,1]; optiuni=optimset(fmincon); optiuni.largescale=off; [x,fval]=fmincon(@objfun,x0,[],[],[],[],... [],[],@confun,optiuni) Exemplul 6 (Analiză statistică). Analiza datelor şi interpretarea acestora într-un sens cât mai corect este preocuparea principală din domeniul statisticii. Problema se formulează în următorul mod: pe baza unei colecţii de date cunoscute (reprezentate în Fig. 1.4 prin puncte), să se realizeze predicţia cu o eroare cât mai mică a unui alt set de date parţial cunoscut. În termeni matematici, această problemă presupune determinarea unei direcţii de-a lungul căreia elementele date (punctele) tind să se alinieze, astfel încât să se poată prezice zona de apariţie a punctelor viitoare. S-a constatat că direcţia de căutare este dată de vectorul singular al matricei formate din colecţia de puncte date, ce poate fi găsit prin intermediul următoarei probleme de optimizare: max f(x) x R n ( = 1 2 xt A T Ax s.l.: g(x) 0 ( x 1), ) (1.3) unde A R m n reprezintă matricea ale cărei coloane [a 1...a n ] sunt punctele cunoscute [ iniţial. ] Considerând cazul particular în care se dă matricea A =, să se rezolve problema precedentă cu ajutorul funcţiei fmincon, alegând punctul iniţial x 0 = [ ] T.

21 1.2. Probleme rezolvate de laborator Figura 1.4: Un exemplu de dispersie a datelor în spaţiul R 2. Observăm că punctele se aliniază de-a lungul dreptei ce iese în evidenţă. Rezolvare. Se creează fişierele objfun.m şi confun.m pentru funcţia obiectiv şi respectiv, pentru constrângeri : function [f]=objfun(x) f=x(1)^2+4.25*x(2)^2+x(3)^2+0.5*x(1)*x(2)+2*x(2)*x(3); function [g,h]=confun(x) g=x(1)^2+x(2)^2 + x(3)^2-1; h=[]; Se apelează rutina pentru minimizare cu restricţii: x0=[-1,-2,0.5]; optiuni=optimset(fmincon); optiuni.largescale=off; [x,fval]=fmincon(@objfun,x0,[],[],[],... [],[],[],@confun,optiuni) Exemplul 7 (Analiza stabilităţii robuste). Stabilitatea robustă a sistemelor liniare afectate de perturbaţii reprezintă o temă de cercetare de actualitate în teoria controlului. Numeroase aplicaţii practice necesită analiza stabilităţii robuste (Fig. 1.5) pentru asigurarea funcţionării corespunzătoare a diferitelor sisteme afectate de zgomot şi perturbaţii (e.g. sistemul de viraj al autovehiculelor, sistemul de ghidare al unei macarale).

22 22 Capitolul 1. Funcţii ale pachetului de optimizare MATLAB Figura 1.5: Exemplu de reglare robustă în cazul unui sistem cu parametri afectaţi de incertitudini. În general, problema se reduce la studiul stabilităţii unui polinom cu coeficienţi afectaţi de incertitudini. Considerăm ca exemplu următorul polinom: s 3 +(1+a 1 +a 2 )s 2 +(a 1 +a 2 +3)s+(1+6a 1 +6a 2 +2a 1 a 2 ), (1.4) unde parametrii a 1 şi a 2 satisfac condiţiile: a 1 [ δ, δ] şi a 2 [ δ, δ], unde δ > 0. Parametrii a 1 şi a 2 pot reprezenta cantităţi fizice (e.g. lungimi, mase) ce sunt afectate de incertitudini în mod obişnuit, sau parametrii regulatorului ce pot varia datorită erorilor de implementare. Suntem interesaţi în determinarea celei mai mari valori a variabilei δ pentru care polinomul rămâne stabil. Această problemă se poate reformula într-una de optimizare folosind criteriul Hurwitz: un polinom de gradul 3 de forma p(s) = s 3 +q 2 s 2 +q 1 s+q 0 este stabil dacă şi numai dacă q 2 q 1 q 0 > 0 şi q 0 > 0. De aceea, considerăm marginea maximă de stabilitate dată de δ = min{δ 1,δ 2 },

23 1.2. Probleme rezolvate de laborator 23 unde δ 1 şi δ 2 sunt soluţiile următoarelor probleme de optimizare: δ 1 = min a,δ δ s.l.: 2 2a 1 2a 2 +a 2 1 +a 2 2 0, δ a δ δ a δ, δ 2 = min a,δ δ s.l.: 1+6a 1 +6a 2 +2a 1 a 2 0, δ a δ δ a δ. Să se rezolve problemele de optimizare neliniară precedente utilizând funcţia fmincon. Rezolvare. Pentru a simplifica rezolvarea furnizăm secvenţa de cod Matlab ce rezolvă prima problemă de optimizare şi determină δ 1, cea de-a doua rezolvându-se în mod analog. Considerăm următoarea secvenţă de cod aferentă funcţiei obiectiv şi constrângerilor problemei de optimizare ce determină δ 1 : function [f]=objfun(delta) f=delta; end function [g]=confun(x) g=[1+6*x(1)+6*x(2)+2*x(1)*x(2);x(1) *x(3);... -x(1) *x(3); x(2) *x(3);... -x(2) *x(3)]; end Se apelează apoi rutina pentru minimizare cu restricţii: x0=[ ]; optiuni=optimset(fmincon); optiuni.largescale=off; [x,fval]=fmincon(@objfun,x0,[],[],[],... [],[],[],@confun,optiuni)

24 24 Capitolul 1. Funcţii ale pachetului de optimizare MATLAB Programare liniară Pentru cazurile particulare de probleme de optimizare (e.g. funcţie obiectiv liniară sau pătratică), există funcţii Matlab specifice ce rezolvă problemele de optimizare aferente prin intermediul unor algoritmi dedicaţi respectivelor clase de probleme. Funcţia linprog rezolvă probleme de programare liniară, ce vizează minimizarea unei funcţii obiectiv liniare, în prezenţa unui set de constrângeri liniare. O problemă de programare liniară se formulează în general după cum urmează: min x R ct x n s.l.: Cx d, l x u, Ax = b, unde c,l,u R n,d R m,b R p,c R m n,a R p n. Sintaxa funcţiei linprog cuprinde: x = linprog(c,c,d,a,b,l,u,x0,optiuni) [x,fval,exitflag,output,lambda] = linprog(... ). Pentru mai multe detalii, se poate apela comanda: help linprog Exemplul 8 (Repartizarea optimală a resurselor umane). Fie un număr de n persoane disponibile pentru m sarcini. Valoarea atribuită unei zile delucruapersoaneiilaosarcinăj estedefinitădec ij, pentrui = 1,...,n şi j = 1,...,m. Problema se reduce la determinarea repartizării optime de sarcini ce maximizează valoarea lucrului total. Repartizarea sarcinilor constă în alegerea valorilor x ij, ce reprezintă proporţia din timpul persoanei i consumată pe sarcina j pentru i = 1,...,n şi j = 1,...,m. Vom avea astfel următoarele constrângeri: m x ij 1, j=1 n x ij 1, x ij 0. i=1 Prima relaţie denotă că o persoană nu poate depăşi 100% din timpul său lucrând. A două relaţie precizează că unei singure persoane îi este permis să lucreze la o sarcină la un moment dat. În final, a treia relaţie interzice

25 1.2. Probleme rezolvate de laborator 25 ca timpul petrecut pe o sarcină să fie negativ. În concluzie, problema enunţată anterior are următoarea formulare: min f(x) x Rnm s.l.: Cx d ( = n i=1 ) m c ij x ij j=1 m x ij 1 i = 1,...,n j=1 n x ij 1 j = 1,...,m i=1 x ij 0 i,j Fie matricea coeficienţilor c ij dată de , adica n=m= Să se rezolve problema de mai înainte cu ajutorul funcţiei linprog. Rezolvare. Iniţial compunem matricea C şi vectorul d ce formează constrângerile pentru a putea apela funcţia linprog în forma standard: function [x,f]=alocare() c=[ ]; A1=[ones(1,3) zeros(1,6);... zeros(1,3) ones(1,3) zeros(1,3);... zeros(1,6) ones(1,3)]; A2=[eye(3) eye(3) eye(3)]; C = [A1; A2; -eye(9)]; d= [ones(6,1);zeros(9,1)]; [x f] = linprog(c,c,d); end Exemplul 9 (Proiectare filtre). Una dintre cele mai importante probleme ale ingineriei o reprezintă proiectarea filtrelor cu răspuns la impuls prestabilit. Prin noţiunea de filtru înţelegem un sistem dinamic liniar invariant în timp, care de cele mai multe ori este definit de relaţia de convoluţie dintre două semnale discrete/continue: y(t) = u(s)h(t s)ds y(k) = u(i)h(k i), i=

26 26 Capitolul 1. Funcţii ale pachetului de optimizare MATLAB în care h este răspunsul la impuls corespunzător sistemului. Echivalent, în domeniul frecvenţial, transferul intrare-ieşire pentru cazul continuu anterior se reprezintă sub forma: Y(ω) = H(ω)U(ω), < ω <, unde Y(ω), H(ω), U(ω) sunt transformatele Fourier ce corespund funcţiilor y(t), h(t), u(t). Problema de sinteză a unui filtru presupune determinarea configuraţiei optime globale a unui bloc (colecţie) de filtre cu funcţii de tranfer cunoscute (Fig. 1.6), astfel încât funcţia de transfer globală rezultată să coincidă cu una prestabilită. Notând funcţia de transfer globală prestabilită cu T(ω), considerăm măsurarea calităţii funcţiei de transfer pe segmentul [ω min,ω max ]. Rezultă astfel următoarea problemă de optimizare: n 1 min sup T(ω) x j H j (ω), x R n ω min ω ω max unde H j (ω) reprezintă funcţiile de transfer aferente filtrelor ce compun blocul. O versiune mai abordabilă este următoarea aproximare a problemei precedente: j=0 j=0 min max T(ω n 1 i) x j H j (ω i ), (1.5) x R n 1 i m în care s-a recurs la alegerea unui număr finit m de puncte în intervalul [ω min,ω max ]. Figura 1.6: Exemplu bloc de filtre Problema (1.5) se poate reformula în termenii unei probleme de minimizare cu funcţia obiectiv liniară şi având de asemenea constrângeri

27 1.2. Probleme rezolvate de laborator 27 liniare de inegalitate, i.e. un program liniar: min f(x,t) (= t) x R n,t [ ] ( x s.l.: C d T(ω t i ) ) n 1 x j H j (ω i ) t i = 1,...,m. j=0 Exerciţiul 1. Se consideră cazul particular ce cuprinde funcţiile: T(ω) = cosω 2 +ω 3,H 0 (ω) = ω2,h 1+ω 1(ω) = 2ω,H 1+ω 2(ω) = ω 2 +ω +1 şi vectorul ω = [ ]. Ţinând cont că valorile ω i reprezintă componentele vectorului ω, să se scrie modelul problemei anterioare sub forma standard a unei probleme de programare liniară şi să se rezolve problema cu ajutorul funcţiei Matlab linprog Programare pătratică Funcţia quadprog rezolvă probleme de programare pătratică, ce vizează minimizarea unei funcţii obiectiv pătratice, în prezenţa unui set de constrângeri liniare. O problemă de programare pătratică se formulează în general după cum urmează: 1 min x R n 2 xt Qx+q T x s.l.: Cx d, l x u, Ax = b, unde Q = Q T R n n, q,l,u R n,d R m,b R p,c R m n,a R p n. Sintaxa funcţiei quadprog cuprinde: x = quadprog(q,q,c,d,a,b,l,u,x0,optiuni) [x,fval,exitflag,output,lambda] = quadprog(... ). Pentru mai multe detalii, se poate apela comanda: help quadprog Exemplul 10 (Problema Google). Ca urmare a progreselor tehnologice recente, motoarele de căutare (e.g. Google, Yahoo) au devenit un punct central de interes în optimizare, urmărind dezvoltarea de algoritmi eficienţi ce execută o căutare cât mai rapidă. Constatând că o căutare eficientă presupune o clasificare cât mai strategică a paginilor web, rezultă o reducere a problemei de căutare la una de clasificare a acestor

28 28 Capitolul 1. Funcţii ale pachetului de optimizare MATLAB pagini. Problema de clasificare (ranking) se formulează uşor în termeni de grafuri ponderate (Fig. 1.7). De aceea, paginile web sunt interpretate ca noduri ale unui graf, muchiile ca legături aferente dintre ele, iar fiecărei muchii îi este asociată o pondere. Figura 1.7: Exemplu graf orientat Dacă notăm cu E matricea de adiacenţă a grafului, elementele acesteia respectă următoarea regulă: E ij este nenul dacă există o muchie direcţionată de la i la j, altfel este nul. Dacă ţinem cont de faptul că graful este ponderat şi că suma ponderilor este egală cu 1, atunci matricea E va avea suma pe linii egală cu 1. Matematic, problema precedentă presupune găsirea unui vector propriu x corespunzător valorii proprii 1, i.e. să se determine x R n astfel încât Ex = x. Reformulând mai departe problema în termeni de optimizare avem: min (= f(x) 12 ) x R Ex x 2 n s.l.: Cx d (x 0) ( n ) Ax = b x i = 1. Decelemaimulteori, matriceaaredimensiuni foartemari(e.g ) ceea ce face problema foarte greu de rezolvat (vezi Secţiunea 7.2.3) Exerciţiul 2. Fie matricea E = Să se rezolve problema cu ajutorul funcţiei quadprog, folosind mai întâi doar constrângeri de egalitate şi apoi incluzând şi constrângerile de inegalitate. Ce se observă? i=1

29 1.3. Probleme rezolvate de seminar Probleme rezolvate de seminar Diferenţiere multivariabilă Problema 1. Fie funcţiile f : R 3 R şi g : R 2 R definite de: f(x) = x 3 1 x 2 +2x 2 3 x 1 x 2 x 3, g(x) = e x 1 x 2 +e 2x 1 1 e 2x 2 2. (i) Să se determine expresiile gradienţilor f(x), g(x). (ii) Să se determine expresiile Hessianelor 2 f(x), 2 g(x). Rezolvare. Pentru o funcţiediferenţiabilăde2orif : R n R, reamintim definiţiile gradientului şi Hessianei: f(x) 2 f(x)... 2 f(x) x 1 x 2 f(x) =., 2 1 x 1 x n f(x) =... f(x) x n 2 f(x) x n x 1... (i) Expresiile gradienţilor funcţiilor din enunţ au forma: 2 f(x) x 2 n 3x 2 1 x 2 +2x 2 [ ] 3 f(x) = e x 3 1 x x 1 x 2 +2e 3, g(x) = 2x 1 1 e 4x 3 x 1 x x 1 x 2 2e 2x (ii) Expresiile Hessianelor funcţiilor din enunţ au forma: 6x 1 x 2 3x x 3 f(x)= 3x , 4x 3 1 4x 1 [ ] e 2 x 1 x 2 +4e g(x)= 2x 1 1 e x 1 x 2 e x 1 x 2 e x 1 x 2 4e 2x 2 2. Problema 2. Fie funcţia multidimensională h : R 3 R 2, [ ] x 2 h(x) = 2 +x 3 x x 2 (i) Determinaţi expresia Jacobianului h(x).

30 30 Capitolul 1. Funcţii ale pachetului de optimizare MATLAB (ii) Arătaţi că, în orice vector x R 3, Jacobianul calculat are liniile liniar independente. Rezolvare. (i) [ Din definiţia Jacobianului ] pentru o funcţie h : R 3 R 2, h1 (x) h 1 (x) h 1 (x) [ ] x i.e. h(x) = 1 x 2 x 3 0 2x2 1, avem h(x) =. 2x h 2 (x) x 1 h 2 (x) x 2 h 2 (x) x 3. (ii) Din definiţia proprietăţii de liniar independenţă avem: doi vectori u,v R n sunt liniar independenţi dacă nu există un scalar α 0 astfel încât u = αv. Această proprietate este evidentă observând că egalitatea: nu poate avea loc dacă α 0. 2x 1 1 = α 0 0 2x Probleme de optimizare generale Problema 3. Fie următoarea problemă de optimizare: min x R 2 x3 1 +x 3 2 s.l.: (x 1 +x 2 ) 2 0, x 1 x 3 2 = 1. (i) Să se precizeze care sunt constrângerile de egalitate şi care sunt cele de inegalitate. (ii) Să se determine analitic punctul de optim şi valoarea optimă. Rezolvare. (i) Se observă că inegalitatea (x 1 +x 2 ) 2 0 este echivalentă cu (x 1 +x 2 ) 2 = 0. Concluzionăm că nu există constrângeri de inegalitate şi avem două constrângeri de egalitate: h 1 (x) = x 1 +x 2 = 0 şi h 2 (x) = x 1 x = 0. (ii) Din punctul (i) rezultă că x 1 + x 2 = 0 şi făcând sistem cu cea de-a doua constrângere, concluzionăm că mulţimea fezabilă este formată din două puncte, anume (x 1,x 2 ) = (1, 1) şi (x 1,x 2 ) = ( 1,1). Punctele de optim global vor fi (x 1,x 2 ) = (1, 1) şi (x 1,x 2 ) = ( 1,1), din moment ce valoarea optimă f = 0 este aceeaşi pentru ambele. Problema 4. Fie funcţia f : n x,f(x) = lnx T Ax, unde n este o mulţime, numită mulţimea simplex, şi este dată de n = {x R n :

31 1.3. Probleme rezolvate de seminar 31 n x i = 1,x i 0 i = 1,...,n}, A R n n este o matrice simetrică şi i=1 pozitivă (i.e. toate elementele matricei sunt ne-negative). (i) Să se determine expresia gradientului f(x) şi a Hessianei 2 f(x). (ii) Să se determine constanta Lipschitz a gradientului funcţiei f. Rezolvare: (i) Prin calcule simple, obţinem că expresia gradientului este dată de f(x) = 2Ax, iar a hessianei x T Ax 2 f(x) = 2AxT Ax (2Ax)(2Ax) T = (x T Ax) 2 2A ( 4Ax Ax T x T Ax x T Ax x Ax). T (ii) Gradientul este continuu în sens Lipschitz dacă următoarea inegalitate are loc: f(x) f(y) 2 L x y 2 x,y n. Echivalent, această proprietate se exprimă şi în termenii matricei Hessiane: 2 f(x) 2 L x n. Obervăm că matricea (2Ax)(2Ax)T este pozitiv semidefinită, de aceea avem (x T Ax) 2 următoarea mărginire a normei Hessianei: 2 f(x) 2A x T Ax x n. Mai mult, observăm că min x T Ax = min x n x n i,j ( A ij x i x j min mina ii ) x 2 = 1 x n i N ( ) mina ii. i De aici obţinem o aproximare a constantei Lipschitz corespunzătoare gradientului funcţiei din enunţ: 2 2A f(x) N = L. mina ii i Problema 5. Fie P R n n o matrice simetrică şi inversabilă. Să se arate că funcţia pătratică: f(x) = 1 2 xt Px+x T b are valoare minimă (i.e. este mărginită inferior) dacă şi numai dacă P 0 (i.e. este pozitiv semidefinită). Mai mult, în cazul în care este mărginită, arătaţi că punctul de minim x este unic şi determinat de expresia x = P 1 b.

32 32 Capitolul 1. Funcţii ale pachetului de optimizare MATLAB Rezolvare. Observăm că 1 ( x+p 1 b ) T ( P x+p 1 b ) = xt Px+b T x+ 1 2 bt P 1 b. De aici rezultă, f(x) = 1 2 xt Px+b T x = 1 2 ( x+p 1 b )T P ( x+p 1 b ) 1 2 bt P 1 b. Presupunem că P are o valoare proprie negativă, e.g. λ (unde λ > 0) şi notăm vectorul propriu asociat valorii proprii negative cu u. Atunci, pentru orice α R,α 0, considerând x = αu P 1 b şi ţinând cont de relaţia Pu = λu, avem: f(x) = 1 2 ( x+p 1 b )T P ( x+p 1 b ) 1 2 bt P 1 b = 1 2 αut Pαu 1 2 bt P 1 b = 1 2 λα2 u bt P 1 b. Înfinal, observăm căλ > 0şi avem libertateadeaalegeαoricâtdemare, de unde rezultă că funcţia nu are minimum (i.e. minimum se atinge la ). Pentru ca funcţia să aibă minimum este necesar ca P 0. Pentru a arăta ultima parte a rezultatului, din reformularea lui f(x) anterioară avem: f(x) = 1 ( x+p 1 b ) T ( P x+p 1 b ) bt P 1 b. Observăm că 1 2 (x+p 1 b) T P (x+p 1 b) 0, deci minimul funcţiei se atinge atunci când x+p 1 b = 0. Problema 6. Fie problema de optimizare : min f(x) x R n ( ) = ct x+d e T x+f s.l. Gx h, Ax = b, cu domf(x) = { x R n : e T x+f > 0 }. Arătaţi că această problemă poate fi adusă la forma de programare liniară.

33 1.3. Probleme rezolvate de seminar 33 Rezolvare. Notăm u(x) = e T x + f > 0. Împărţind relaţia prin u(x), e aceasta devine: T x + f 1 = 1 > 0. De asemenea, folosim notaţia u(x) u(x) y(x) = x u(x) Rn şi z(x) = 1 R. Reformulând funcţia obiectiv avem: u(x) f(x) = ct x+d u(x) = c T x u(x) +d 1 u(x) = ct y(x)+dz(x). Folosind schimbarea de variabilă precedentă, putem aduce problema de minimizare după x la una ce presupune minimizarea după y(x) şi z(x). Pentru a schimba variabila constrângerilor, împarţim prin u ultimele două seturi de egalităţi/inegalităţi. Astfel, obţinem un LP: min y R n,z R ct y +dz s.l.: e T y +fz = 1, Ay = bz Gy hz. Problema 7. Fie următoarea problemă de optimizare: min x R 2 2x2 1 +x2 2 x 1x 2 s.l.: 2 xt x 1 2, (a T x b) x 1 1, 3 x 1+x 2 = 1, unde a R 2 şi b R sunt daţi. Să se arate că toate funcţiile care descriu problema de optimizare sunt fie liniare, fie pătratice. Să se precizeze care sunt constrângerile de egalitate şi care sunt cele de inegalitate. Rezolvare. Se observă că funcţia obiectiv f(x) = 2x x2 2 x 1x 2 este pătratică, i.e. f(x) = 1 2 [ x1 x 2 ] T [ ] T [ x1 Constrângerea 2 xt x 1 2 este echivalentă cu x T x 1 1, i.e. x T x 2. Deci prima constrângere este una de inegalitate descrisă de o funcţie pătratică g 1 (x) = x T x 2 0. Constrângerea (a T x b) 2 0 este echivalentă cu a T x b = 0. Deci a doua constrângere este de egalitate descrisă de o funcţie liniară h 1 (x) = a T x b = 0. x 2 ].

34 34 Capitolul 1. Funcţii ale pachetului de optimizare MATLAB Constrângerea 5 x1 1 1 este echivalentă cu x Deci a treia constrângere este de inegalitate, descrisă de două funcţii liniare g 2 (x) = x şi g 3 (x) = x Constrângerea 3 x 1+x 2 = 1 este echivalentă cu x 1 +x 2 = 0. Deci a patra constrângere este de egalitate, descrisă de o funcţie liniară h 2 (x) = x 1 + x 2 = 0. Problema 8. O funcţie se numeşte monomială dacă se prezintă sub forma: f(x) = cx a 1 1 xa xan n, în care c > 0, a i R şi x R n ++, i.e. x i > 0 pentru orice i = 1,...,n. Considerând problema de programare geometrică : min f(x) x R n s.l.: g i (x) 1 i = 1,...,m h i (x) = 1 i = 1,...,p, cu f i şi h i funcţii monomiale. Arătaţi că o astfel de problemă de programare geometrică poate fi scrisă sub forma unui LP. Rezolvare. Din teoria optimizării ştim că punctul de optim al unei probleme de optimizare cu funcţia obiectiv f(x), este acelaşi cu cel al problemei cu funcţia obiectiv logf(x). Într-adevăr, în cazul neconstrâns condiţiile suficiente de optimalitate pentru problema originală(cu funcţia obiectivf(x))sunt f(x ) = 0. Observămcăpentrucazulcompuneriicu funcţia logaritm (cu funcţia obiectiv log f(x)) condiţiile de optimalitate se transformă în f(x ) f(x ) = 0, sau echivalent în f(x ) = 0. Precizăm că pentru cazul constrâns are loc o echivalenţă logaritmică similară, i.e având problema originală: min x R cxa 1 n 1 xa xan n s.l.: c i x bi 1 1 x bi x bi n n e j x dj 1 1 x dj x dj n n 1 i = 1,...,m = 1 j = 1,...,p, compunând funcţia obiectiv şi constrângerile cu funcţia logaritm, obţinem o problemă de optimizare cu acelaşi punct de optim: 1 min x R nlog(cxa 1 xa xan n ) s.l.: log(c i x bi 1 1 x bi x bi n n ) 0 i = 1,...,m log(e j x dj 1 1 x dj x dj n n ) = 0 j = 1,...,p.

35 1.4. Probleme propuse 35 Folosind schimbarea de variabilă logx i = y i, observăm următoarea reformularea liniară a unei funcţii monomiale: n f(x) = log(cx a x an n ) = logc+ a i logx i = logc+ i=1 Astfel, rezultă o formă LP a problemei în variabila y. n a i y i. Problema 9. Fiefuncţiapătratică f : R 2 R,f(x) = x 2 1 x 2 2+x 1 x 2. Să se arate ca funcţia f are gradient Lipschitz în raport cu norma Euclidiană, i.e. există L > 0 astfel încât: f(x) f(y) 2 L x y 2, x,y R 2. şi să se determine constanta Lipschitz corespunzătoare. Rezolvare. [ Remarcăm ] că funcţia f se poate formula ca f(x) = 1 2 xt Qx, 2 1 unde Q =. Verificând relaţia de continuitate Lipschitz avem: 1 2 Qx Qy 2 = Q(x y) 2 Q 2 x y 2, x,y R 2. Inegalitatea reiese din definiţia normei matriceale induse. Evident, constanta Lipschitz este dată de L = Q 2 = λ max (Q). 1.4 Probleme propuse Problema 1. Să se arate că problema de optimizare (1.1) este problemă pătratică (QP). Evidenţiaţi matricea Hessiană şi precizaţi dacă este sau nu pozitiv definită. Problema 2. Fie funcţia neliniară g(x) = 5e 2x + cosx 1. Să se aproximeze cu un polinom de gradul 3 funcţia g după modelul descris în Exemplul 3 pentru punctele y 1 = 1,y 2 = 1/2,y 3 = 0,y 4 = 1/2 şi y 5 = 1. Să se rezolve problema de optimizare cu ajutorul funcţiilor fminunc şi quadprog. Problema 3. Fie următoarea problemă de optimizare constrânsă: max x R n 1 2 Ax 2 s.l.: x 1 1, i=1

36 36 Capitolul 1. Funcţii ale pachetului de optimizare MATLAB unde A R m n. Să se reformuleze problema precedentă ca una pătratică (QP) şi să se rezolve apoi această formulare cu ajutorul funcţiei Matlab quadprog. Problema 4. Să se calculeze expresiile gradientului şi Hessianei corespunzătoare următoarelor funcţii: (i) f(x) = x 2 1 x 2 2 2x 2 3+2x 2 x 3 +3x 1 x 2 (ii) f(x) = x 3 1+x 2 x 2 3 (iii)f(x) = e x 1x 2 +e x 2x 3 +e x 3x 1 (iv)f(x) = x 1 lnx 1 +x 2 lnx 2 +x 3 lnx 3. Problema 5. Să se arate că funcţia pătratică f(x) = x x2 2 2x2 3 x 2 x 3 +3x 1 x 2 are gradientul continuu în sens Lipschitz în raport cu norma Euclidiană. Să se determine constanta Lipschitz L. Problema 6. Se consideră următoarea problemă de optimizare: min f(x 1,x 2 ) x R n s.l.: 2x 1 +x 2 1, x 1 +3x 2 1 x 1 0, x 2 0. Să se traseze grafic mulţimea fezabilă. Pentru următoarele funcţii obiectiv, să se determine mulţimea optimă şi valoarea optimă: (i) f(x 1,x 2 ) = x 1 +x 2. (ii) f(x 1,x 2 ) = x 1 x 2. (iii) f(x 1,x 2 ) = x 1. (iv) f(x 1,x 2 ) = max{x 1,x 2 }. (v) f(x 1,x 2 ) = x x 2 2. Problema 7. Se consideră problema de optimizare: min (x x R n 1 4) 2 +(x 2 2) 2 s.l.: 4x x , 2x 1 3 x x2 2 = 4. (i) Să se reprezinte grafic schema mulţimii fezabile, mulţimile izonivel ale funcţiei obiectiv şi identificaţi punctul de optim pe grafic. (ii) Să se rezolve din nou punctul (i) unde în enunţul problemei minimizarea se înlocuieşte cu maximizarea. Problema 8. O fabrică furnizează patru tipuri de produse. Unul dintre materialele brute necesare pentru fabricaţie se află în cantitate redusă, fiind disponibilă numai o cantitate R de material. Preţul de vânzare al produsului i este S i per kilogram. Mai mult, fiecare kilogram de produs i consumă o cantitate a i de material brut (cel în cantitate redusă). Costul

37 1.4. Probleme propuse 37 de producţie a x i kilograme din produsul i, excluzând costul materialului încantitateredusă, estedek i x 2 i, undek i > 0estecunoscut. Săsedezvolte un model matematic de optimizare pentru problemă şi apoi să se rezolve cu una din funcţiile Matlab precizate anterior. Problema 9. Se presupune că cererile d 1,...,d n pentru un anumit produs în intervalul a n perioade de timp sunt cunoscute. Cererea în timpul perioadei j poate fi satisfăcută din cantitatea produsă x j pe parcursul perioadei sau din stocul magaziei. Orice exces de producţie poate fi stocat în magazie. Cu toate acestea, magazia are o capacitate limitată K, iar costul stocării unei unităţi de la o perioadă la alta este c. Costulproducţieipeparcursulperioadeij estef(x j ), pentruj = 1,...,n. Dacă stocul iniţial este I 0, să se formuleze problema ca un program neliniar. Problema 10. Într-o localitate se urmăreşte amplasarea optimă a unui număr de depozite în vecinătatea magazinelor. Fie un număr de n magazine, cu poziţii şi cereri cunoscute. Magazinul i se află în poziţia (a i,b i ) şi dispune de o cerere (grad de solicitare a produselor) r i. Cererile vor fi satisfăcute cu ajutorul a m depozite cu capacităţi cunoscute. Folosim următoarele notaţii: (x i,y i ) reprezintă poziţia necunoscută a depozitului şi c i este capacitatea depozitului i pentru orice i = 1,...,m; d ij estedistanţadeladepozitul ila magazinul j şi w ij reprezintă unităţile transportate de la depozitul i la magazinul j pentru orice i = 1,...,m şi j = 1,...,n. Să se modeleze problema de găsire a poziţiilor optime corespunzătoare depozitelor. Pentru măsurarea distanţelor în plan, se poate folosi norma Euclidiană (norma 2) sau orice altă normă, cu condiţia să fie precizată. Problema 11. Fie matricele X,Y,Z R n n. Să se arate egalitatea: Tr(XYZ) = Tr(ZXY) = Tr(YZX). Problema 12. Fie matricea simetrică Q R n n. Să se determine expresia valorilor proprii extreme λ min şi λ max sub forma valorilor optime corespunzătoare unor probleme de optimizare. Problema 13. Fie x R n, pentru norma, definim norma duală: x = min x,y. Să se demonstreze următoarele relaţii, pentru orice y 1 x R n : x 1 = x, x = x 1, x 2 = x 2.

38 Capitolul 2 Probleme de optimizare convexă 2.1 Preliminarii Fie problema de optimizare, min f(x) x R n s.l.: g i (x) 0 i = 1,...,m (2.1) Ax = b. Dacă funcţia obiectiv f şi funcţiile ce definesc constrângerile de inegalitate g i sunt convexe atunci problema se numeşte problemă de optimizare convexă. Convexitatea deţine un rol crucial în optimizare, deoarece problemele cu această proprietate prezintă trăsături teoretice foarte bune (e.g., punctele de optim locale sunt, de asemenea, puncte de optim globale); şi ceea ce este mai important, pot fi rezolvate numeric în mod eficient, ceea ce nu este valabil pentru problemele neconvexe. Vom studia mai departe noţiunile de funcţie convexă şi mulţime convexă pentru a sublinia proprietăţile remarcabile ale problemelor convexe Mulţimi convexe Pentru o expunere clară şi concisă, introducem următoarele definiţii: Definiţia 1. Multimea S R n se numeşte convexă dacă pentru oricare două puncte x 1,x 2 S şi un scalar α [0,1] avem αx 1 +(1 α)x 2 S,

39 2.1. Preliminarii 39 i.e. segmentul generat de oricare două puncte din S este inclus în S (Fig. 2.1). x 1 x 2 x 1 x 2 Figura 2.1: Exemplu de mulţime convexă (stânga) şi mulţime neconvexă (dreapta). {[ ] } x Exemplul 11. Fie mulţimea L n = R t n+1 : x t, denumită şi conul Lorentz sau conul de îngheţată. Să se traseze graficul acestei mulţimi în Matlab pentru n = 2. Rezolvare. Figura conului (Fig. 2.2) poate fi trasată de următoarea secvenţă de cod: function create_cone [y1,y2]=meshgrid(-1:0.01:1,-1:0.01:1); y3=sqrt(y1.^2+y2.^2); dom=[y3>1]; z3=y3; z3(dom)=inf; figure(1); hold on; surf(y1,y2,z3); set(gca, FontSize,15); hold off; end Figura 2.2: Con de ordinul II (con Lorentz) în R 3 pentru n = 2.

40 40 Capitolul 2. Probleme de optimizare convexă Studiul mulţimilor convexe şi al proprietăţilor acestora facilitează analiza mulţimilor fezabile aferente problemelor de tipul (2.1) şi a şirurilor generate de algoritmi cu restricţii la aceste mulţimi. În continuare vom introduce şi analiza noţiunea de funcţie convexă Funcţii convexe Definiţia 2. Funcţia f : R n R se numeşte convexă dacă domeniul său efectiv domf este o mulţime convexă şi dacă următoarea inegalitate: f(αx 1 +(1 α)x 2 ) αf(x 1 )+(1 α)f(x 2 ), (2.2) este satisfăcută pentru orice x 1,x 2 domf şi α [0, 1]. f(x)=x α f(x 1 )+(1 α) f(x 2 ) 0.4 f(x 2 ) f(x ) f(α x 1 +(1 α)x 2 ) x x 2 1 Figura 2.3: Exemplu de funcţie convexă f(x) = x 2. Inegalitatea (2.2) se poate generaliza la un număr p de puncte, purtând numele de inegalitatea lui Jensen: f este o funcţie convexă dacă şi numai dacă: ( p ) p f α i x i α i f(x i ) i=1 pentru orice x i domf şi α i [0, 1], cu i=1 p α i = 1. i

41 2.2. Pachet CVX 41 Interpretarea geometrică a convexităţii este foarte simplă (Fig. 2.3). Pentru o funcţie convexă, fie două puncte din domeniul său x,y domf, atunci valorile funcţiei evaluate în punctele din intervalul [x, y] sunt mai mici sau egale decât cele aflate pe segmentul cu capetele (x,f(x)) şi (y,f(y)). Remarca 1. O funcţie este convexă dacă şi numai dacă restricţia domeniului său la o dreaptă (care intersectează domeniul) este de asemenea, convexă. Cu alte cuvinte, f este convexă dacă şi numai dacă oricare ar fi x domf şi o direcţie d, funcţia g(α) = f(x + αd) este convexă pe domeniul {α R : x+αd domf}. Această proprietate este foarte utilă în problemele ce implică teste de convexitate ale funcţiilor. Pentru a sublinia legătura dintre noţiunile introduse anterior, facem următoarea observaţie: orice mulţime M definită ca mulţimea subnivel a unei anumite funcţii f, i.e. M = {x R n : f(x) c}, unde c este o constantă, este convexă dacă şi numai dacă funcţia f este convexă (pentru demonstraţie vezi [1]). Exemplul [ 12. ] Fie funcţia convexă f : R 2 R, definită de f(x) = xt x+[ 0.5 1]x. Să se traseze graficul funcţiei în Matlab Rezolvare. Graficul funcţiei (Fig. 2.4) este generat de următoarea secvenţă de cod (unde am folosit funcţia gradient(z) pentru a descrie culoarea, graduală de-a lungul axei z, graficului rezultat): function create_parab [x,y] = meshgrid([-10:.2:10]); z=x.^2+0.25*(y.^2)-x.*y-0.5*x+y; surf(x,y,z,gradient(z)) end 2.2 Pachet CVX În această subsecţiune expunem o scurtă prezentare a pachetului de optimizare CVX. CVX reprezintă un sistem de modelare a problemelor de optimizare convexă pe baza limbajului Matlab. CVX realizează transformarea comenzilor Matlab într-un limbaj de modelare, cu

42 42 Capitolul 2. Probleme de optimizare convexă Figura 2.4: Graficul funcţiei pătratice f(x) = x /4x2 2 x 1x 2 1/2x 1 +x 2. posibilitatea de declarare a constrângerilor şi funcţiei obiectiv prin intermediul sintaxei Matlab standard. De exemplu, considerăm următorul model de optimizare convexă: min x R n Ax b 2 s.l.: Cx = d, x 1. Următoarea secvenţă de cod generează şi rezolvă o instanţă aleatorie a acestui model: m = 10; n = 8; p = 2; A = randn(m,n); b = randn(m,1); C = randn(p,n); d = randn(p,1); cvx_begin variable x(n) minimize(norm(a*x - b, 2)) subject to C*x == d norm(x, Inf) <= 1 cvx_end Instalare Un scurt ghid de instalare presupune următorii paşi: se descarcă arhiva de la adresa : fişier.zip sau.tar.gz; se dezarhivează într-un director dorit (diferit de directorul toolbox al Matlab-ului);

43 2.2. Pachet CVX 43 se porneşte Matlab-ul; se comută directorul curent în directorul unde am realizat dezarhivarea şi se execută în consolă comanda cvx_setup. Remarca 2. În unele cazuri (de cele mai multe ori în Linux) este nevoie de crearea sau modificarea fişierului startup.m ce elimină necesitatea ca utilizatorul să introducă comanda cvx_setup la fiecare pornire a Matlab-ului Elemente de bază Dacă instalarea este realizată cu succes, începem prin a preciza că orice program CVX se scrie în interiorul unei funcţii Matlab. Pentru a diferenţia conţinutul codului CVX de restul programului Matlab, programele CVX se delimitează cu comenzile cvx_begin şi cvx_end. Valorile variabilelor create în porţiunea de cod Matlab se pot folosi ca parametri în problemele de optimizare rezolvate cu CVX. La începutul oricărui program CVX se definesc variabilele de decizie şi dimensiunile acestora, e.g.: m = 10; n = 8; A = randn(m,n); b = randn(m,1); cvx_begin variable x(n) minimize( norm(a*x-b) ) cvx_end În acest exemplu, variabila de decizie este vectorul x din R n, iar matricea A şi vectorul b reprezintă variabile Matlab ce sunt utilizate ca parametri în cadrul CVX. Variabilele CVX se declară folosind comanda variable şi specificarea dimensiunii variabilei, înainte de a se utiliza în constrângeri sau în expresia funcţiei obiectiv. Sintaxa declarării unei variabile poate fi una din următoarele forme: variable x(10) variable Y(20,10) variable Z(5,5,5). Sunt disponibile o varietate de opţiuni adiţionale pentru precizarea structurii matriceale, în cazul în care variabila de decizie este de tip matrice cu proprietăţi speciale (simetrică, Toeplitz) e.g.: variable Y(50,50) symmetric variable Z(100,100) hermitian toeplitz.

44 44 Capitolul 2. Probleme de optimizare convexă Pentru lista întreagă a opţiunilor se poate consulta adresa: Declararea funcţiei obiectiv a problemei de optimizare necesită precizarea tipului de problemă (e.g. minimizare, maximizare) prin intermediul cuvintelor cheie minimize şi maximize, e.g. minimize( norm( x, 1 ) ) maximize( geo_mean( x ) ). Precizăm că este imperativ ca funcţia obiectiv să fie convexă când folosim minimize şi concavă când folosim maximize. În caz contrar, pachetul CVX va furniza un mesaj de eroare corespunzător. Constrângerile suportate de modelele CVX sunt cele de egalitate (liniare) impuse prin operatorul == şi de inegalitate impuse de operatorii <= şi >=. Pentru constrângeri de tip box (lanţ de inegalităţi) este disponibilă sintaxa l<=x<=u. 2.3 Probleme rezolvate de laborator Exemplul 13. Să se determine bila de rază maximă (i.e. centrul şi raza ei) din spaţiul Euclidian bidimensional, ce poate fi înscrisă într-un poliedru descris de inegalităţi liniare (Fig. 2.5). Rezolvare. În cazul general, fiind dat setul de inegalităţi liniare at i x b i, formularea problemei în termeni de optimizare este dată de: max r x R n,r R s.l.: a T i x+r a i 2 b i i = 1,...,n, unde r reprezintă raza bilei, iar x centrul acesteia. Alegând datele inegalităţilor liniare, coordonatele centrului şi raza bilei dorite sunt generate de următoarea secvenţă de program: % Generare date de intrare a1 = [ 2; 1]; a2 = [ 2; -1]; a3 = [-1; 2]; a4 = [-1; -2]; b = ones(4,1); % Crearea si rezolvarea problemei de optimizare cvx_begin variable r(1)

45 2.3. Probleme rezolvate de laborator 45 1 Bila de raza maxima inscrisa intr un poliedru 2D x x 1 Figura 2.5: Bila de rază maximă înscrisă într-un poliedru. variable x_c(2) maximize ( r ) a1 *x_c + r*norm(a1,2) <= b(1); a2 *x_c + r*norm(a2,2) <= b(2); a3 *x_c + r*norm(a3,2) <= b(3); a4 *x_c + r*norm(a4,2) <= b(4); cvx_end % Generare figura x = linspace(-2,2); theta = 0:pi/100:2*pi; plot( x, -x*a1(1)./a1(2) + b(1)./a1(2), b- ); hold on plot( x, -x*a2(1)./a2(2) + b(2)./a2(2), b- ); plot( x, -x*a3(1)./a3(2) + b(3)./a3(2), b- ); plot( x, -x*a4(1)./a4(2) + b(4)./a4(2), b- ); plot( x_c(1) + r*cos(theta), x_c(2) + r*sin(theta), r ); plot(x_c(1),x_c(2), k+ ); xlabel( x_1 ); ylabel( x_2 ); title( Bila de raza maxima inscrisa intr-un poliedru 2D ); axis([ ]); axis equal; Exemplul 14. Determinaţi filtrul FIR cu cel mai apropriat comportament de cel al unei funcţii de transfer dateh d (ω) (e.g. H d (ω) = e jωd ). Să se realizeze proiectarea filtrului prin intermediul minimizării erorii absolute maxime (în norma infinit).

46 46 Capitolul 2. Probleme de optimizare convexă Rezolvare. Formularea problemei precedente în termeni de optimizare conduce la rezolvarea următoarei probleme: min H max ω H(ω) H d(ω), (2.3) unde H este funcţia răspunsului în frecvenţă, iar variabila de decizie are rolul răspunsului la impuls. O aproximare convenabilă a problemei anterioare presupune extragerea unui set finit m de frecvenţe ω i, cu i = 1,...,m, şi definirea unei matrice A: 1 e jω 1 e 2jω 1... e njω 1 A = 1 e jω 2 e 2jω 2... e njω e jωm e 2jωm... e njωm. rezultând o aproximare a problemei (2.3), i.e. min max A ix H d (ω i ), (2.4) x R n 1 i m unde A i reprezintă linia i a matricei A. Mai departe, prezentăm secvenţa de cod ce rezolvă problema de optimizare (2.4) şi determinăm aproximarea optimă a funcţiei de transfer H d (ω) = e jωd (reprezentată în Fig. 2.6): h(n) n Figura 2.6: Aproximarea optimă în sens Chebyshev a funcţiei de transfer H d (ω) = e jωd. n = 20; m = 15*n; w = linspace(0,pi,m) ; % omega % Construim un raspuns in frecventa dorit

47 2.3. Probleme rezolvate de laborator 47 D = 8.25; % valoare intarziere Hdes = exp(-j*d*w); % raspuns in frecventa dorit % Filtru Gaussian cu faza liniara (decomentati liniile % de mai jos pentru proiectare) % var = 0.05; % Hdes = 1/(sqrt(2*pi*var))*exp(-(w-pi/2).^2/(2*var)); % Hdes = Hdes.*exp(-j*n/2*w); % Rezolvam problema minimax de proiectare a filtrului % A reprezinta matricea folosita la calculul % raspunsului in frecventa % A(w,:) = [1 exp(-j*w) exp(-j*2*w)... exp(-j*n*w)] A = exp( -j*kron(w,[0:n-1]) ); % formularea optimala a filtrului Chebyshev cvx_begin variable h(n,1) minimize( max( abs( A*h - Hdes ) ) ) cvx_end % verificam daca problema a fost rezolvata cu succes disp([ Problem is cvx_status]) if ~strfind(cvx_status, Solved ) h = []; end % Generam figurile aferente filtrului figure(1); stem([0:n-1],h); xlabel( n ); ylabel( h(n) ); % figura raspunsului in frecventa H = [exp(-j*kron(w,[0:n-1]))]*h; figure(2) % magnitudine subplot(2,1,1); plot(w,20*log10(abs(h)),w,20*log10(abs(hdes)), -- ); xlabel( w ); ylabel( mag H in db ); axis([0 pi ]); legend( optimizat, dorit, Location, SouthEast ) % faza

48 48 Capitolul 2. Probleme de optimizare convexă subplot(2,1,2); plot(w,angle(h)); axis([0,pi,-pi,pi]); xlabel( w ), ylabel( faza H(w) ); 2.4 Probleme rezolvate de seminar Mulţimi şi funcţii convexe Problema 1. Fie mulţimea S descrisă de: S = {x R n : a T i x = b i, c T j x d j, i = 1,...,m,j = 1,...,p} = {x R n : Ax = b, Cx d}. Să se demonstreze că mulţimea este convexă (mulţimile definite de egalităţi şi inegalităţi liniare, cum este cea din enunţ, se numesc poliedre). Rezolvare. Se arată că pentru orice x 1,x 2 S şi α [0,1] rezultă αx 1 + (1 α)x 2 S. Dacă x 1,x 2 S atunci avem: { Ax 1 = b, Cx 1 d Ax 2 = b, Cx 2 d. Notând x α = αx 1 + (1 α)x 2, putem finaliza demonstraţia prin următoarea observaţie: Ax α = αax 1 +(1 α)ax 2 = αb+(1 α)b = b Cx α = αcx 1 +(1 α)cx 2 αd+(1 α)d = d. În acest fel am demonstrat că mulţimea definită anterior este convexă. Problema 2. Să se demonstreze că următoarele mulţimi se pot defini sub forma unor poliedre: (i) S 1 = {x R n : x 0, x 1 = 1} (ii) S 2 = {x R n : x 1} (iii) S 3 = {x R n : x 1 1}.

49 2.4. Probleme rezolvate de seminar 49 Rezolvare. : (i) În cazul mulţimii S 1 observăm următoarele echivalenţe: { } { } n n S 1 = x R n : x 0, x i = 1 = x R n : x 0, x i = 1 i=1 = {x R n : I n x 0, [1...1]x = 1}, unde I n reprezintă matricea identitate de ordin n. Ultima formulare denotă forma poliedrală a mulţimii S 1. (ii) De asemenea, în cazul mulţimii S 2, urmând acelaşi raţionament: { } S 2 = x R n : max x i 1 = {x R n : x i 1, i = 1,...,n} 1 i n = {x R n : 1 x i 1 i = 1,...,n} = {x R n : x i 1,x i 1, i = 1,...,n} [ ] = x In Rn : x I 1. n 1, obţinem o formă poliedrală. (iii)pentru adetermina formapoliedrică amulţimii S 3 definimomulţime poliedrică auxiliară: { } n Q = [x T t T ] T R 2n : t i = 1, x i t i. Mai departe, definim proiecţia unei mulţimi poliedrice pe un subspaţiu de dimensiuni reduseşifolosimaceastănoţiunepentruastudiamulţimeas 3. Definiţia 3. Fie mulţimea P = {x R n 1,y R n 2 : Ax + By b}, undea R m n 1,B R m n 2,b R m. Proiecţia mulţimiip pesubspaţiul variabilelor x este dată de: i=1 P x = {x R n 1 : y R n 2, [x T y T ] T P}. Proiecţia mulţimii Q pe subspaţiul variabilelor x conduce la următoarea serie de echivalenţe: n Q x = {x R n : t R n a.î. t i = 1, x i t i } = {x R n : i=1 i=1 n x i 1} = {x R n : x 1 1} = S 3. i=1

50 50 Capitolul 2. Probleme de optimizare convexă Ţinând cont că proiecţia oricărei mulţimi poliedrice este o mulţime poliedrică, concluzionăm că mulţimea S 3 este de tip poliedric. Problema 3. Fie mulţimile: {[ ] } x (i) L n = R t n+1 : x t ordinul II; numit şi con Lorentz sau con de (ii) S n + = {X Sn : X 0} conul semidefinit. Să se demonstreze că mulţimile precedente sunt conuri auto-duale. Rezolvare: (i) Din definiţia conului dual avem: L n = {y R n : x,y 0 x L n }. Problema se reduce la a demonstra că L n = L n, ceea ce este echivalent cu satisfacerea simultană a incluziunilor: L[ n ] L n şi L n L n. y1 Arătăm acum prima incluziune. Fie y = L v n, atunci pentru [ ] x1 orice x = L t n avem: x,y = y T 1x 1 +vt 0. (2.5) Ştiind că x L n atunci x t. Rămâne să demonstrăm că y v. Dinipotezacă(2.5)arelocpentruoricevectorx L n,atunciinegalitatea [ ] x1 este satisfăcută, de asemenea, pentru un x ales. Alegând x = = t [ y 1 ] y 1 şi înlocuind în (2.5) obţinem: 1 yt 1y 1 y 1 +v = y 1 +v 0, din care rezultă prima incluziune. [ ] [ ] y1 x1 Pentru a doua incluziune, fie y = L v n,x = t inegalitatea Cauchy-Schwartz x, y x y rezultă: L n. Din y T 1 x 1 +vt > y 1 x 1 +vt vt+vt = 0,

51 2.4. Probleme rezolvate de seminar 51 unde în a doua inegalitate am utilizat ipoteza că x,y L n. În concluzie, pentru orice y L n avem că y L n. (ii) În mod similar, arătăm prin dublă incluziune că Sn + = Sn +. Fie Y, atunci Tr(YX) 0. Din următoarele relaţii: S n + x T Yx = Tr(x T Yx) = Tr(Yxx T ) = Tr(YX) 0, se deduce Y S+ n. Pentru a doua incluziune, presupunem Y,X matrice pozitiv semidefinite. Remarcăm următoarea relaţie: Tr(YX) = Tr(YV T V) = Tr(VYV T ) 0, (2.6) în care am folosit descompunerea valorilor proprii corespunzătoare matricei X şi proprietatea de permutare a funcţiei matriceale Tr( ). În concluzie, Y S+ n datorită relaţiei (2.6), de unde reiese a doua incluziune. Problema 4. Să se demonstreze că următoarele funcţii sunt convexe pe mulţimile specificate: (i) f(x) = logx, domf = (0, ). (ii) f(x) = 1 2 xt Qx+q T x+r, domf = R n,q 0. (iii) f(x,t) = xt x, domf = R n (0, ). t (iv) f(x) = Ax b, A R m n, domf = R n. (v) f(x) = logdetx, domf = S++. n Rezolvare: (i) Observăm că funcţia f(x) = log x satisface condiţiile de ordinul II ale convexităţii: f (x) = 1 > 0 x > 0. x2 (ii) Hessiana funcţiei f(x) = 1 2 xt Qx+q T x+r este dată de 2 f(x) = Q. Observăm că funcţia este convexă deoarece matricea Q 0 (este pozitiv semidefinită). (iii) În aceeaşi manieră arătăm că funcţia f(x,t) = xt x este convexă pe t domeniul R n (0, ]. Din definiţia Hessianei rezultă: [ 2 2 f(x) = I t n 2x t 2xT t 2 2x T x t 3 unde cu I n am notat matricea identitate de ordin n. Pentru a determina dacă funcţia îndeplineşte condiţiile de ordinul II ale convexităţii observăm ],

52 52 Capitolul 2. Probleme de optimizare convexă că: [u T v T ] 2 f(x) [ ] u = [u T v T ] u [ 2 t 2xT u t 2 = 2 t ut u 2uT xv t 2 u 2xv t 2 + 2xT xv t 3 ] 2xT uv + 2xT xv 2 t 2 t 3 = 2 t 3 ( t 2 u T u 2tu T xv +x T xv 2) = 2 t 3 tu xv 2. Ţinând cont[ de] domeniul de definiţie al funcţiei, remarcăm că pentru u orice vector, termenul drept din ultima egalitate este pozitiv. De v aici este evidentă proprietatea de pozitiv definire a matricei Hessiane corespunzătoare funcţiei. (iv) Deoarece funcţia este nediferenţiabilă în punctul 0, observăm că funcţia f(x) = Ax b nu este diferenţiabilă în punctele x ce satisfac Ax = b. Fie două puncte din mulţimea domf pentru care f(x 1 ) = Ax 1 b,f(x 2 ) = Ax 2 b. Pentru a arăta convexitatea funcţiei f, notăm x α = αx 1 +(1 α)x 2 şi deducem şirul de relaţii: f(x α ) = f(αx 1 +(1 α)x 2 ) = A(αx 1 +(1 α)x 2 ) b α(ax 1 b) + (1 α)(ax 2 b) = α Ax 1 b +(1 α) Ax 2 b = αf(x 1 )+(1 α)f(x 2 ). (v) Fie funcţia f(x) = logdetx, X S++ n. Arătăm convexitatea lui f prin intermediul reducerii domeniului acesteia la o dreaptă. Mai exact, folosim următoarea proprietate a funcţiilor convexe: f este convexă dacă funcţia scalară ce se obţine din restricţionarea la o dreaptă este de asemenea convexă (conform Remarca 1). Revenind la funcţia matriceală, considerăm matricele X S++ n,d Sn şi arătăm că funcţia scalară g(t) = f(x + td) este convexă, observând următoarele egalităţi: g(t) = logdet(x +td) = logdet(x 1/2 X 1/2 +td) = logdet ( X 1/2( I n +tx 1/2 DX 1/2) X 1/2)

53 2.4. Probleme rezolvate de seminar 53 = log ( detx 1/2 det ( I n +tx 1/2 DX 1/2) detx 1/2) = log ( detxdet ( I n +tx 1/2 DX 1/2)) = logdetx logdet ( I n +tx 1/2 DX 1/2). Pe de altă parte, ştiind că pentru orice matrice A S n, cu spectrul Λ(A) = {λ 1,...,λ n }, transformarea B = I n + ta,t R, modifică spectrul astfel încât Λ(B) = {1+tλ 1,...,1+tλ n } şi detb = n (1+tλ i ). Pentru a aplica această proprietate în şirul de relaţii precedent, notăm Z = X 1/2 DX 1/2 având spectrul Λ(Z) = {µ 1,...,µ n }. Rescriind g(t), rezultă: g(t) = logdetx log = logdetx n (1+tµ i ) i=1 n log(1+tµ i ). Mai departe, observăm că funcţia h(t) = log(1+tu) din componenţa celei anterioare, este convexă, deoarece cea de-a două derivată satisface: h (t) = i=1 u 0 u R. (1+tu) 2 Ştiind că funcţia definită de o sumă de funcţii convexe este convexă, ajungem la concluzia că g(t) este convexă în t. Deci, f(x) este convexă. i=1 Problema 5. Fiefuncţiaf : R n R. Săsedetermine funcţiaconjugată f (y) pentru următoarele exemple: (i) f(x) = e x (iii)f(x) = 1 2 xt Qx,Q 0 (ii) f(x) = xlogx (iv) f(x) = log n e x i. Rezolvare. Definim funcţia conjugată corespunzătoare funcţiei f: i=1 f (y) = max x domf y,x f(x). În primele două cazuri monovariabile (i) şi (ii), observăm că funcţia obiectiv a problemei de maximizare este concavă pe domeniul funcţiei

54 54 Capitolul 2. Probleme de optimizare convexă f, de aceea condiţiile de optimalitate de ordinul I conduc la următoarele expresii: (i) f (y) = ylogy y, (ii) f (y) = e y 1. (iii) În acest caz, conjugata funcţiei f are forma f (y) = max x x R nyt 1 2 xt Qx. Datorită proprietăţii de convexitate, observăm că soluţia problemei de optimizare este dată de x = Q 1 y. Înlocuind în expresia funcţiei conjugate rezultă f (y) = y T Q 1 y 1 2 yt Q 1 y = 1 2 yt Q 1 y. (iv) Condiţiile necesare de optimalitate de ordinul I corespunzătoare problemei de maximizare max n x R n y,x log e x i se reduc la următoarele i=1 relaţii: e x i n e x i i=1 = y i, i = 1,...,n. (2.7) Observăm că relaţia (2.7) este satisfăcută şi funcţia f (y) ia valori finite numai în cazul în care argumentul funcţiei conjugate satisface n y i = 1,y 0. Presupunând că argumentul y satisface cele două condiţii, avem x i = log n e x i +logyi pentru orice i = 1,...,n. Substituind în expresia i=1 funcţiei conjugate rezultă: y,x log n n e x i = y i (log i=1 = i=1 n e x i +logyi ) log i=1 n y i logy i +log i=1 n i=1 e x i i=1 În concluzie, funcţia conjugată f (y) este definită de: n i=1 e x i i=1 ( n ) n y i 1 = y i logy i. n y f i logy i, dacă n y i = 1,y 0, (y) = i=1 i=1, altfel. i=1

55 2.4. Probleme rezolvate de seminar 55 Problema 6. Să se demonstreze că următoarea problemă de optimizare este convexă: min f(x) = x x 2 x R 2 s.l.: g 1 (x) = x 1 1+x 2 2 0,g 2(x) = e x 1+x h(x) = (x 1 x 2 1) 2 = 0. Rezolvare. Pentru a arăta convexitatea problemei din enunţ: min f(x) x R 2 s.l.: g 1 (x) 0,g 2 (x) 0, h(x) = 0. este suficient să demonstrăm convexitatea funcţiilor f, g 1 şi g 2, şi liniaritatea funcţiei h. Observăm că Hessiana funcţiei f are forma explicită 2 f(x) = I 2 0, unde I 2 este matricea identitate de ordinul II. Deci, funcţia f este convexă deoarece satisface condiţia de convexitate de ordinul II. În cazul funcţiei g x 1, distingem faptul că inegalitatea 1 1+x este satisfăcută doar în cazul în care x 1 0. În concluzie, constrângerea g 1 (x) 0 este echivalentă cu o constrângere liniară (şi deci convexă) x 1 0. Pentru inegalitate g 2 (x) 0, observăm că este echivalentă cu x 1 + x 2 0, i.e. este şi aceasta echivalentă cu o constrângere liniară. Similar, pentru egalitatea definită de funcţia h, găsim următoarea echivalenţă între mulţimi: {x R 2 : h(x) = 0} = {x R 2 : x 1 x 2 = 1}, rezultând o funcţie liniară în x. În final, putem rescrie problema sub forma unui QP convex: min x x 2 x R 2 s.l.: x 1 0, x 1 +x 2 0, x 1 x 2 = 1. Problema 7. Să se demonstreze că următoarea problemă de optimizare este convexă: min f(x) (= log(at x b)) x R 2 s.l.: g 1 (x) = e xtx e 0, g 2 (x) = (c T x d) h(x) = (x 1 +2x 2 ) 4 = 0.

56 56 Capitolul 2. Probleme de optimizare convexă Rezolvare. Pentru a demonstra că o problemă de optimizare este convexă, trebuie să demonstrăm că funcţia obiectiv este convexă şi mulţimea fezabilă definită de constrângeri este convexă. Pentru funcţia f(x) = log(a T x b) deducem expresia gradientului şi a Hessianei: f(x) = 1 a T x b a, 2 f(x) = 1 (a T x b) 2aaT unde avem desigur că (a T x b) 2 > 0. Dacă notăm y = a T x, observăm că: x T aa T x = y T y = y 2 2 0, deci matricea aa T este pozitiv semidefinită. Drept rezultat, 2 f(x) 0 peste întregul dom f = {x R n : a T x b > 0}, i.e. satisface condiţiile de convexitate de ordin II şi deci funcţia obiectiv este convexă. Pentru a arăta că mulţimea constrângerilor este convexă, este suficient să arătăm că funcţiile din constrângerile de egalitate sunt liniare, iar cele din constrângerile de inegalitate sunt convexe. Observăm că constrângerea h(x) = 0 este echivalentă cu egalitatea x 1 +2x 2 = 0, a cărei funcţie este liniară. Pentru g 1 (x) 0, observăm că este echivalentă cu x T x 1 0. Funcţia x T x 1 este o funcţie pătratică, diferenţiabilă de două ori, cu Hessiana 2I 2 0, deci satisface condiţiile de convexitate de ordin II şi este implicit convexă. Constrângerea g 2 (x) 0 este echivalentă cu: 1 (c T x d) 1 { c T x d 1 c T x+d 1 [ c T c T ] x+ [ ] d d [ ] 1, 1 deci aceasta se reduce la o constrângere de inegalitate unde funcţia este liniară şi implicit convexă. Problema 8. Să se determine problema convexă de programare semidefinită ce aproximează următoarea problemă neconvexă: n unde A R m n şi x 2 = x 2 i. max x R xt A T Ax n s.l.: x 2 1, i=1

57 2.5. Probleme propuse 57 Rezolvare. Reamintim că pentru orice Q R n n şi x R n, funcţia Tr(Q) satisface relaţia: Tr(x T Qx) = Tr(Qxx T ). Pe baza acestei relaţii, problema precedentă se scrie sub următoarea formă echivalentă: max Tr( A T AX ) X R n n s.l.: rang(x) = 1, Tr(X) = 1. Se obţine relaxarea convexă prin renunţarea la constrângerea de egalitate neliniară rang(x) = 1. În concluzie, avem următoarea aproximare convexă a problemei de optimizare originală: max Tr( A T AX ) X R n n s.l.: Tr(X) = Probleme propuse Problema 1. Să se determine care dintre următoarele funcţii sunt convexe, concave sau niciuna dintre cele două variante. Să se argumenteze rezultatele obţinute. (i) f(x 1,x 2 ) = 2x 2 1 4x 1 x 2 8x 1 +3x 2, (ii) f(x 1,x 2 ) = x 1 e (x 1+3x 2 ), (iii) f(x 1,x 2 ) = x 2 1 3x2 2 +4x 1x 2 +10x 1 10x 2, (iv) f(x 1,x 2,x 3 ) = 2x 1 x 2 +2x 2 1 +x x 2 3 5x 1 x 3, (v) f(x 1,x 2,x 3 ) = 2x 2 1 3x2 2 2x2 3 +8x 1x 2 +3x 1 x 3 +4x 2 x 3. Problema 2. Să se determine submulţimea din {x R : x > 0} pe care funcţia f(x) = e axb este convexă. Parametrii a,b satisfac a > 0,b 1. Problema 3. Să se determine în domeniul axei reale în care funcţia f(x) = x 2 (x 2 1) este convexă. Problema 4. Fie funcţiile convexe f 1,...,f m : R n R. Să se demonstreze că următoarele compuneri ale acestora sunt convexe:

58 58 Capitolul 2. Probleme de optimizare convexă (i) g(x) = m α i f i (x), α i > 0, i=1 (ii) h(x) = max{f 1 (x),...,f m (x)}. Problema 5. Fie mulţimea K = {x R n : x 0}. Să se demonstreze că mulţimea K este un con şi să se determine conul dual corespunzător. Problema 6. Să se demonstreze că funcţia f(x) = r α i x [i] este convexă în x, unde α 1 α r 0, iar x [n] reprezintă a n-a cea mai mare componentă din vectorul x. Problema 7. Determinaţi funcţiile conjugate corespunzătoare funcţiilor: (i) f(x) = max 1 i n x i cu domeniul R n ; (ii) f(x) = x p cu domeniul R ++, unde p > 1. Comentaţi cazul în care p < 0. ( ) (iii) f(x) = n 1/n x i cu domeniul R n ++ ; i=1 (iv) f(x,t) = log(t 2 x T x) cu domeniul {(x,t) R n R : x 2 t}. Problema 8. Să se demonstreze că funcţia: i=1 f(x) = x 1 1 x 2 1 1, x 3 1 x 4 definită pe domeniul în care toţi numitorii sunt pozitivi, este convexă şi strict descrescătoare. (Cazul când n = 4 nu prezintă nicio particularitate, caracteristicile funcţiei se menţin şi pentru cazul general n oarecare.) Problema 9. Presupunem că funcţia f este convexă, iar λ 1 > 0, λ i 0 n pentru i = 2,...,n şi λ i = 1. Fie punctele x 1,...,x n domf. Să se i=1 demonstreze că are loc inegalitatea: f(λ 1 x 1 + +λ n x n ) λ 1 f(x 1 )+ +λ n f(x n ).

59 2.5. Probleme propuse 59 Problema 10. Să se arate că o funcţie f : R R este convexă dacă şi numai dacă domeniul domf este convex şi det x y z 0, f(x) f(y) f(z) pentru orice x,y,z domf şi x < y < z. Problema 11. Să se arate că maximul unei funcţii convexe peste poliedrul P = conv{v 1,...,v k } este atins într-unul dintre vârfurile poliedrului, i.e., supf(x) = max f(v i). x P i=1,...,k Indiciu: Se presupune că afirmaţia este falsă şi se utilizează inegalitatea lui Jensen. Problema 12. Fie o funcţie convexă f şi o funcţie g definită după cum urmează: f(αx) g(x) = min α>0 α. (i) Să se demonstreze că funcţia g este omogenă, i.e. g(tx) = tg(x) pentru orice t 0. (ii) Să se demonstreze că dacă o funcţie h este omogenă şi h(x) f(x) pentru orice x, atunci avem h(x) g(x) pentru orice x. (iii) Să se demonstreze că funcţia g definită anterior este convexă. Problema 13. Fie funcţia omogenă f : R n R, i.e. f(tx) = tf(x) pentru orice t 0 şi x R n. O funcţie omogenă se numeşte subaditivă dacă satisface, în plus, următoarea relaţie: f(x)+f(y) f(x+y). Să se demonstreze că, pentru funcţiile omogene, subaditivitatea este echivalentă cu convexitatea. Problema 14. Fie o mulţime S nevidă, mărginită şi convexă în R n şi o funcţie f definită de: f(x) = max y S yt x. Funcţia f se numeşte funcţia suport a mulţimii S.

60 60 Capitolul 2. Probleme de optimizare convexă (i) Să se arate că funcţia f este omogenă şi convexă. (i) Să se determine explicit funcţia suport pentru mulţimile S definite de S = {x R n : Ax p 1} p = 1,2,, unde matricea A este inversabilă. Problema 15. Fie funcţia convexă f : R n R. Definim proprietatea de convexitate tare, enumerând condiţiile de ordin 0,I şi II (ce depind de gradul de diferenţiabilitate al funcţiei), într-un mod similar cu cele corespunzătoare cazului convex. Pentru µ > 0, funcţia f se numeşte µ tare convexă în raport cu norma-p dacă: (Condiţii de ordinul 0) funcţia f satisface următoarea inegalitate pentru orice x,y R n : f(αx+(1 α)y) αf(x)+(1 α)f(y) µα(1 α) x y 2 2 p. (Condiţii de ordinul I) funcţia f este diferenţiabilă şi satisface următoarea inegalitate pentru orice x,y R n : f(y) f(x)+ f(x),y x + µ 2 x y 2 p. (Condiţii de ordinul II) funcţia f este diferenţiabilă de două ori şi satisface următoarea inegalitate pentru orice x R n : ( n unde x p = Să se demonstreze că: x p i i=1 x T 2 f(x)x µ x 2 p, )1 p, 1 p. (i) Pentru norma 2, condiţiile de ordin I implică condiţiile de ordin 0, i.e. dacă funcţia f satisface condiţiile de ordin I atunci ea satisface şi condiţiile de ordin 0. (ii) Pentru norma 2, orice funcţie diferenţiabilă o dată şi µ tare convexă satisface relaţia: f(x) f(y),x y µ x y 2 2.

61 2.5. Probleme propuse 61 (iii) Funcţia g(x) = 1 2 x 2 2 este 1-tare convexă în raport cu norma 2. (iv) Funcţia g(x) = 1 2 x 2 p este (p 1)-tare convexă în raport cu norma p, pentru p > 1. (v) Funcţia g(x) = logn n x i logx i este 1-tare convexă în raport cu i=1 norma 1 pe domeniul {x R n + : x 1 1}. Problema 16. Fie funcţia f definită de: f(y,t) = max x R n y,x t 2 x 2. Determinaţi domeniul funcţiei f şi arătaţi că expresia acesteia se rescrie în următoarea formă: { 0, dacă y = 0,t = 0 f(y,t) = y. 2, dacă t > 0. 2t Problema 17. Să se demonstreze că pentru o matrice simetrică şi pozitiv definită Q R n n şi doi vectori u,v R n are loc următoarea inegalitate: u T v u T Quv T Q 1 v. Problema 18. Fie matricele E, H şi F de dimensiuni compatibile şi F T F I. Să demonstreze că pentru orice α > 0, avem EFH +H T F T E T αee T + 1 α HT H. Indiciu: Se foloseşte inegalitatea (αe T FH) T (αe T FH) 0. Problema 19. Fie matricea simetrică M de forma: [ ] A B M = B T, C în care matricea C este inversabilă. Se numeşte complementul Schur al lui M, matricea S = A BC 1 B T. Un rezultat des folosit în teoria matriceală precizează că următoarele relaţii sunt echivalente: (i) M 0 (M este pozitiv semidefinită);

62 62 Capitolul 2. Probleme de optimizare convexă (ii) A 0, (I AA )B = 0, C B T A B 0; (iii) C 0, (I CC )B = 0, A B T C B 0, unde cu A am notat pseudo-inversa matricei A. Mai mult, dacă M 0 obţinem un caz particular al echivalenţelor: (i) M 0 (M este pozitiv definită); (ii) A 0, C B T A 1 B 0; (iii) C 0, A B T C 1 B 0. Evidenţiem, mai departe, un exemplu de aplicaţie al acestui rezultat. Fie funcţia f : R n S++ n R definită de: f(x,y) = x T Y 1 x. Să se demonstreze că f este convexă folosind proprietăţile complementului Schur.

63 Capitolul 3 Metode de ordinul I 3.1 Preliminarii În acest capitol abordăm probleme neliniare de optimizare neconstrânsă (unconstrained nonlinear programming - UNLP): (UNLP) : min f(x), (3.1) x Rn unde funcţia obiectiv f este de două ori diferenţiabilă. Conform condiţiilor de optimalitate necesare pentru problema (3.1), orice punct de minim local pentru problema (UNLP), x, satisface următoarele relaţii: f(x ) = 0, 2 f(x ) 0. În plus, dacă pentru un punct y domf avem f(y ) = 0 şi 2 f(y ) 0, atunci y este punct de minim local strict pentru problema (UNLP) dată în (3.1). Condiţiile de optimalitate joacă un rol fundamental în dezvoltarea algoritmilor eficienţi din domeniul optimizării (vezi [1,2]). În particular, condiţiile de ordinul I stau la baza unei clase relativ largi de metode de ordin I (metode ce folosesc evaluarea funcţiei şi informaţie de gradient). În cazul convex, găsirea unui punct ce satisface condiţiile de optimalitate necesare este echivalentă cu rezolvarea problemei de optimizare originale (deoarece condiţiile de ordinul I sunt suficiente). Acest argument furnizează o imagine clară asupra facilităţilor optimizării convexe faţă de cazurile neconvexe, unde pentru găsirea unui punct minim/maxim local este necesară rezolvarea condiţiilor de ordinul I şi de ordin II. Aşa cum se observă din experimentele numerice, deşi algoritmii de ordinul

64 64 Capitolul 3. Metode de ordinul I I prezintă o complexitate a iteraţiei foarte scăzută (în comparaţie cu cei de ordin II) şi o convergenţă accelerată în regiunile îndepărtate de punctul de optim, atunci când algoritmul intră în vecinătatea punctului de optim, viteza acestora scade considerabil. De aceea, găsirea unui punct de optim cu o acurateţe mare este un proces dificil pentru metodele de ordin I. În cazul problemelor de dimensiuni foarte mari, când nu este necesară aflarea punctului de optim cu o acurateţe ridicată, recomandarea principală pentru rezolvarea acestora sunt algoritmii de ordin I datorită complexităţii reduse a iteraţiilor acestora. În continuare, prezentăm principalele metode de ordin I şi exemple de funcţionare ale acestora. 3.2 Probleme rezolvate de laborator Metoda Gradient Metoda gradient se află printre primele şi cele mai simple metode dezvoltate în scopul determinării unui punct critic aflat pe o anumită curbă (Cauchy, 1847). În principiu, metoda gradient reprezintă un algoritm de ordin I care generează un şir de puncte (vectori) x 1,x 2,..., pornind dintr-un punct iniţial ales. Structura esenţială a metodei gradient este enunţată în continuare: Metoda Gradient 1. Se alege punctul iniţial x 0, k := Se determină pasul α k şi se actualizează x k+1 = x k α k f(x k ). 3. Dacă criteriul de oprire nu este satisfăcut, atunci se incrementează k := k +1 şi se reia pasul 2, unde f(x) reprezintă gradientul funcţiei f în punctul x. Pentru alegerea pasului α k avem mai multe opţiuni: (i) Alegerea ideală a pasului α k la fiecare iteraţie presupune ca funcţia scalară φ(α) = f(x k α f(x k )) să descrească cât mai mult posibil, i.e: α k = argmin α>0 φ(α), numită şi problema de line search. (ii) Deseori, în funcţie de f, minimizarea lui φ(α) poate fi foarte dificilă. În acest caz, α k poate fi găsit prin diverşi algoritmi mai simpli de

65 3.2. Probleme rezolvate de laborator 65 căutare, ce includ condiţii necesare asupra pasului pentru asigurarea unei descreşteri suficiente a funcţiei. Condiţiile Wolfe reprezintă un exemplu elocvent pentru această strategie de line-search : 1. Se aleg două constante c 1 şi c 2 ce satisfac 0 < c 1 < c 2 < 1 2. Se determină α k > 0 astfel încât: f(x k α k f(x k )) f(x k ) c 1 α k f(x k ) T f(x k ) (3.2) f(x k ) T f(x k α k f(x k )) c 2 f(x k ) T f(x k ). (3.3) (iii) Un caz particular des utilizat în practică este metoda backtracking ce ajustează dimensiunea pasului α k pentru ca prima relaţie Wolfe (3.2) să fie satisfăcută; metoda presupune alegerea unui parametru ρ (0, 1] şi actualizarea dimensiunii pasului, după cum urmează: 1. Se alege α 0 > 0,ρ (0,1]; 2. Cât timp α k nu satisface prima condiţie Wolfe (3.2) iterăm : 2.1. α k+1 = ρα k ;k = k +1. (iv) Pentru funcţiile cu gradient continuu în sens Lipschitz cu o constantă L > 0, putem alege pasul α k constant la fiecare iteraţie. Dacă aplicăm iteraţia metodei gradient, din condiţia continuităţii funcţiilor cu gradient Lipschitz avem: f(x k+1 ) f(x k ) α k (1 L 2 α k) f(x k ) 2, rezultând că trebuie să selectăm α k (0, 2 ), iar pentru o descreştere L optimă a funcţiei, la fiecare iteraţie alegem α k = 1. L În exemplul următor vom implementa metoda gradient pentru prima şi a treia dintre opţiunile alegerii pasului α k, unde criteriul de oprire va fi impus de scăderea termenului f(x k ) sub o precizie dată. Exemplul 15. Fie funcţia f(x) = (x 1 2) 4 + (x 1 2x 2 ) 2. Să se implementeze metoda gradient pentru rezolvarea problemei: min x Rnf(x), (3.4) în varianta cu pas ideal şi cea cu pas ales prin metoda de backtracking.

66 66 Capitolul 3. Metode de ordinul I Rezolvare. Pentru început, vom avea nevoie de două funcţii: f=feval_obj(x), g=gradient_obj(x) care să returneze valoarea funcţiei intr-un punct x, respectiv gradientul funcţiei în acel punct. Din moment ce vom căuta pasul ideal la fiecare iteraţie a metodei gradient, va fi necesară o funcţie ce returnează valoarea funcţiei φ(α) = f(x+αd): function f=phi_obj(alpha,x,d) f=feval_obj(x+alpha*d); end Pentru găsirea pasului ideal la fiecare iteraţie, vom utiliza funcţia fminsearch. Vom porni de la un punct iniţial x 0, iar condiţia de oprire a algoritmului va presupune ca norma gradientului să fie sub o anumită toleranţă impusă eps. Implementarea algoritmului este dată de următoarea secvenţă de cod: function xmin=gradient_method(x0,eps) % Initializam vectori/matrice pentru % memorarea gradientilor, a punctelor x % generate de algoritm, etc puncte_gradient=[]; puncte_iteratie=[]; valori_functie=[]; norme_gradienti=[]; %vom utiliza un vector g pentru a stoca gradientul curent x=x0; g=gradient_obj(x); while(norm(g)>eps) g=gradient_obj(x); puncte_gradient=[puncte_gradient g]; puncte_iteratie=[puncte_iteratie x]; valori_functie=[valori_functie; feval_obj(x)]; norme_gradienti=[norme_gradienti; norm(g)]; alpha=fminsearch(@(alpha) phi_obj(alpha,x,-g).1); x=x-alpha*g end xmin=x; %Pentru afisarea grafica a rezultatelor, %avem urmatoarele instructiuni t=1:length(valori_functie); figure(1) hold on

67 3.2. Probleme rezolvate de laborator 67 plot(t,norme_gradienti(t), k, LineWidth,2); hold off figure(2) hold on plot(t,valori_functie(t), k, LineWidth,2); hold off %Pentru trasarea liniilor de contur si evolutia %metodei gradient, avem urmatoarele %instructiuni [x1,x2]=meshgrid([1.2:0.01:2.8],[0.4:0.01:1.6]); z=(x1-2).^4+(x1-2.*x2).^2; figure(3) hold on contour(x1,x2,z,valori_functie); plot3(puncte_iteratie(1,:),puncte_iteratie(2,:),... valori_functie, r ); scatter3(puncte_iteratie(1,:),puncte_iteratie(2,:),... valori_functie, filled ); hold off x x 1 Figura 3.1: Convergenţa metodei gradient cu pas ideal. Apelarea funcţiei precedente se face în linia de comandă din Matlab, e.g.: xmin=gradient_method([1.4;0.5],0.0001) Pentru varianta metodei gradient cu pasul determinat de metoda de backtracking, se poate înlocui în cod funcţia fminsearch cu următoarea secvenţă de cod:

68 68 Capitolul 3. Metode de ordinul I function alpha=backtrack_alpha(x,d) alpha=1; t1=0.9; t2=0.2; g=gradient_obj(x); %Va trebui satisfacuta conditia Armijo: while(feval_obj(x+alpha*d)>feval_obj(x)+t1*alpha*g *d) alpha=alpha*t2; end care va fi apelată cu d = g = f(x). În Fig. 3.1 se observă caracteristica elocventă a metodei gradient care a fost precizată în secţiunile anterioare, şi anume decelerarea ratei de convergenţă pe măsură ce algoritmul se apropie de punctul de optim. În plus, Fig. 3.2 redă rezultatele grafice comparative ale convergenţei metodei gradient când criteriul de oprire este de forma f(x k ) f sau f(x k ). Observăm că deşi criteriul f(x k ) f reflectă mult mai bine acurateţea punctului curent, acesta este rar folosit în practică, deoarece valoarea optimă nu se cunoaşte a priori f(x k ) f * k 1.8 f(x k ) k Figura 3.2: Comparaţia convergenţei variantelor metodei gradient (cu criteriul f(x k ) f în prima figură şi cu criteriul f(x k ) în a doua), pentru pas ideal (linie continuă) şi pas obţinut prin backtracking (linie punctată). În exemplul următor, vom implementa metoda gradient cu pas constant pentru o funcţie pătratică cu gradient Lipschitz, pentru care L = λ max (Q). Exemplul 16. Fie funcţia pătratică: f(x) = ; 2 xt x+[1 1 2]x

69 3.2. Probleme rezolvate de laborator 69 Figura 3.3: Progresul metodei gradient pornind dintr-un punct iniţial ales aleatoriu, spre punctul de optim. Să se implementeze metoda gradient pentru rezolvarea problemei: min x R 3f(x). Rezolvare. Implementarea metodei gradient din cerinţa precedentă este dată de următoarea secvenţă de cod: function [x,f,iter]=gradient(eps) Q=[ ; ; ]; q=[1;-1;-2]; L=max(eig(Q)); x=rand(3,1); grad=q*x+q; f_new=0.5*x *Q*x+q *x; f_old=f_new+1; iter=0; while ((f_old-f_new)>eps) f_old=f_new; x=x-(1/l)*grad; grad=q*x+q; f_new=0.5*x *Q*x+q *x; iter=iter+1; end f=f_new; end Să se rezolve sistemul Qx = q şi să se compare soluţia acestuia cu cea a problemei anterioare. Să se comenteze observaţiile făcute.

70 70 Capitolul 3. Metode de ordinul I Metoda gradienţilor conjugaţi Metoda gradienţilor conjugaţi face parte, de asemenea, din clasa metodelor de optimizare de ordinul I şi reprezintă o metodă iterativă cu performanţe deosebite în rezolvarea problemelor pătratice. A fost dezvoltată de către Hestenes şi Stiefel în 1951, în scopul rezolvării sistemelor de ecuaţii liniare de mari dimensiuni. Deoarece orice problemă de rezolvare a unui sistem de ecuaţii liniare/neliniare se poate transforma într-o problemă de optimizare pătratică, metoda gradienţilor conjugaţi este considerată o metodă de optimizare. Vom observa că iteraţia are aproximativ aceeaşi complexitate ca şi cea a metodei gradient, însă foloseşte un alt raţionament pentru a converge la punctul de optim. Metoda gradienţilor conjugaţi 1. Se alege α 0 > 0,x 0 şi se calculează d 0 = f(x 0 ). 2. Se actualizează şirurile x k+1 = x k +α k d k si d k+1 = r k+1 +β k d k. 3. Dacă criteriul de oprire nu este satisfăcut, atunci se incrementează k = k +1 şi se reia pasul 2, unde f(x) reprezintă gradientul funcţiei f în punctul x, iar r k = f(x k ). Parametrii α k şi β k sunt definitorii pentru metoda direcţiilor conjugate, variantele de alegere a acestora reprezentând elemente fundamentale ale dezvoltării de noi metode de direcţii (gradienţi) conjugate (conjugaţi). Cea mai des folosită variantă a metodei de direcţii conjugate pentru funcţii pătratice este dată de rk T α k = d k, d T k 2 f(x k )d k β k = rt k+1 2 (fx k )d k d T k 2 f(x k )d k Exemplul 17. Să se determine punctul de optim şi valoarea optimă a funcţiei pătratice f : R 2 R definită de: f(x) = 4.5x x2 2 +3x 1x 2 2x 1 x 2, utilizând metoda gradienţilor conjugaţi cu punctul iniţial x 0 = [0 0] T. Rezolvare. Rescriem funcţia f în formă matriceală: f(x) = 1 2 xt Qx+q T x,

71 3.2. Probleme rezolvate de laborator 71 [ ] 9 3 unde Q =,q 3 10 T = [ 2 1 ]. Cunoaştem că pentru a rezolva probleme pătratice de dimensiune n cu ajutorul metodei gradienţilor conjugaţi sunt necesare n iteraţii ale acestei metode. De aceea, problema din enunţ poate fi rezolvată în două iteraţii de această metodă. Având la dispoziţie gradientul f(x 0 ) şi direcţia d 0, putem calcula: α 0 = f(x 0) T d 0 d T 0 Qd. 0 Prima iteraţie din şirul x k al metodei de gradienţi conjugaţi se calculează pe baza informaţiei acumulate până în momentul k = 1: x 1 = x 0 +α 0 d 0. Laadouaşi ultima iteraţie, pentrucalculul lui x 2 avem nevoie dedirecţia d 1 = f(x 1 )+β 0 d 0, unde β 0 = f(x 1) T Qd 0. În final, pentru calculul lui d T 0 Qd 0 x 2 este necesar parametrul α 1 = f(x 1) T d 1 şi rezultă: d T 1 Qd 1 x 2 = x 1 α 1 d 1. Deoarece metoda gradienţilor conjugaţi are nevoie de două iteraţii în cazul nostru, iteraţia x 2 reprezintă soluţia problemei de minimizare. Ştiind că soluţia problemei satisface, de asemenea, şi sistemul liniar de ordin II: Qx+q = 0, obţinem şi un criteriu de verificare pentru soluţia returnată de algoritmul de gradienţi conjugaţi. O implementare în cod Matlab este dată de următoarea secvenţă: function [x f]=conjugate() Q=[9 3;3 10]; q=[-2;-1]; x=[0;0]; f_new=0.5*x *Q*x+q *x; f=f_new+1; grad=q*x+q; iter=0; d=-grad; while (iter<2) f=f_new; alpha=-(grad *d)/(d *Q*d); x=x+alpha*d; grad=q*x+q; beta=(grad *Q*d)/(d *Q*d);

72 72 Capitolul 3. Metode de ordinul I d=-grad+beta*d; f_new=0.5*x *Q*x+q *x; iter=iter+1; end f=f_new; end Experimentele numerice au condus la concluzia că pentru o funcţie pătratică convexă f: R n R, metoda gradienţilor conjugaţi converge în n iteraţii. Observăm un comportament deosebit al acestei metodĕ, deoarece în general, majoritatea metodelor cunoscute converg într-un număr infinit de iteraţii. 3.3 Probleme rezolvate de seminar Aproximări pătratice Problema 1. Fie funcţia f: R 2 R, f(x) = 1 2 (x2 1 +x2 2 )e(x2 1 x2 2 ). (i) Să se verifice că punctul x = [0 0] T este un punct de minim local. (ii) Să se evalueze gradientul şi Hessiana în punctul x 0 = [1 1] T şi să se verifice că Hessiana nu este pozitiv definită. Să se arate că ν = 3 este valoarea întreagă minimă pentru care H = 2 f(x 0 )+νi 0. (iii) Fie punctul x 0 = [1/2 0] T. Să se scrie aproximarea pătratică uzuală (serie Taylor) a acestei funcţii in jurul lui x 0 şi o aproximare pătratică utilizând în locul Hessianei o matrice 1 I, cu β > 0. β Minimizaţi ambele aproximări. Rezolvare. (i) Gradientul şi Hessiana funcţiei vor fi: [ ] f(x) = e (x2 1 x2 2 x ) 3 1 +x 1 (1+x 2 2) x 3 2 +x 2(1 x 2 1 ) 2 f(x) = e (x2 1 x2 2 ) [ 2x 4 1 +x 2 1(5+2x 2 2)+x x 1 x 2 (x 2 1 +x 2 2) 2x 1 x 2 (x 2 1 +x2 2 ) 2x4 2 +x2 2 (2x2 1 5) x Evident, pentru x = 0 este punct de minim local deoarece satisface condiţiile suficiente de optimalitate: f(x ) = 0, 2 f(x ) = I 2 0. ].

73 3.3. Probleme rezolvate de seminar 73 (ii) Pentru x 0 = [1 1] T avem: [ ] 3 f(x 0 ) =, 2 f(x 1 0 ) = [ ] 12 4, 4 1 de unde rezultă că valorile proprii ale lui 2 f(x 0 ) sunt λ 1,2 = 11± (13.13, 2.13), i.e. matricea nu este pozitiv definită. Mai mult, observăm că ( 2 f(x 0 )+νi) 0 pentru ν = 3 > λ (iii) Pentru punctul x 0 = [1/2 0] T vom avea: f(x 0 ) = e 1 4 [ 5 ] 8 0, 2 f(x 0 ) = e 1 4 [ 19 ] Aproximarea în serie Taylor a funcţiei în jurul punctului x 0 = [1/2 0] T va fi: f(x) f(x 0 )+ f(x 0 ) T (x x 0 )+ 1 2 (x x 0) T 2 f(x 0 )(x x 0 ) ( =e x x x ), 64 al cărei punct de minim este dat de x N 1 = [9/38 0]T. Aproximarea cu I are următoarea formă: 1 β f(x) f(x 0 )+ f(x 0 ) T (x x 0 )+ 1 2 (x x 0) T 1 β I 2(x x 0 ) care în acest caz este dată de: f(x) = 1 1 [ 8 e1 4 +e ][ ] x [ ] [ ] x1 x 1 T x1 1 x 2 2 I β x 2 = 1 ( 1 8 e1 4 + (x 1 1 ) 2β 2 )2 +x ( 8 e1 4 x 1 1 ), 2 de unde rezultă punctul de minim x G 1 = [ 5β 8 e ] T. Observăm că 2 putem alege β = 8 astfel încât x G 19e 1 1 = xn 1, iar f(xn 1 ) = f(xg 1 ). În cazul 4 general însă, obţinem puncte x G 1 şi xn 1 pentru care f(xg 1 ) > f(xn 1 ) Condiţii de optimalitate de ordin I Problema 2. Rezolvaţi problema de maximizare: max x,y f(x,y) = Să se discute rezultatul în funcţie de a. 1 (x a) 2 +(y a) 2 +1.

74 74 Capitolul 3. Metode de ordinul I Rezolvare. Prin aplicarea condiţiilor suficiente de ordin I, i.e. f(x, y) = 0, obţinem sistemul: { f x = 0 f y = 0 Explicitând cele două ecuaţii, obţinem: { x a = 0 y a = 0. În concluzie, există un singur punct critic dat de perechea (a,a). Mai departe, demonstrăm că punctul critic este punct de maxim. Verificăm condiţiile suficiente de ordin II, i.e. Hessiana 2 f(x) în punctul (a,a) este o matrice negativ definită, 2 f(a,a) = [ şi constatăm că punctul(a, a) este punct de maxim, indiferent de valoarea parametrului a. Problema 3. Fie funcţia f(x 1,x 2 ) = 11x x 1x 2 +αx 2 2 2x 1 2x (i) Să se discute care sunt punctele de minim locale în funcţie de α. (ii) Pentru ce valori ale lui α, funcţia are valoarea minimă egală cu 2? Rezolvare. (i) Observăm că f(x 1,x 2 ) este funcţie pătratică: f(x 1,x 2 ) = 1 2 xt Qx+q T x+r = 1 [ [x 1 x 2 ] 20 2α ][ x1 x 2 ] ]. [ ] x1 +[ 2 2] +2, x 2 [ ] [ ] T unde Q =,q =,r = 2. Punctele staţionare ale 20 2α 2 funcţiei f sunt soluţii ale sistemului: [ ] 22x1 +20x f(x 1,x 2 ) = Qx+q = 2 2 = 0. (3.5) 20x 1 +2αx 2 2 Un factor ce determină natura punctelor staţionare este convexitatea funcţiei f. Una din modalităţile de verificare a proprietăţii de convexitate

75 3.3. Probleme rezolvate de seminar 75 presupune 2 f(x) = Q 0, pentru orice x domf. Valorile proprii ale matricei Q sunt rădăcinile polinomului caracteristic λ 2 λ(22 + 2α) + 44α+400 = 0. Astfel, discutăm convexitatea funcţiei f după α: Dacă α > 100, funcţia f este convexă şi orice soluţie a sistemului 11 (3.5) este un punct de minim global. Rezolvând sistemul, obţinem x 1 = 1 (10 α), 11α 100 x 2 = 1 11α 100 Dacă α = sistemul (3.5) nu are soluţie şi este definit de ecuaţiile: 20x x 2 2 = 0, 22x 1 +20x 2 2 = 0 În acest caz, f este convexă, dar nu există punct de minim, i.e. q Im(Q). Dacă α < 100, funcţia f nu este convexă deoarece matricea Q este 11 indefinită. Punctul critic obţinut în acest caz din rezolvarea sistemului (3.5) este punct de inflexiune (staţionar). (ii) Impunem condiţia ca punctul (x,y ) să fie punct critic, i.e. { x 1 = 1 11α 100 f(x 1,x 2 ) = 0 (10 α) x 2 = 1. 11α 100 Pentru a determina un punct de minim, ţinem cont de condiţia de la punctul precedent α > 100. Înlocuind valorile lui 11 x 1, respectiv x 2 în ( ) α 10 f 11α 100, 1 = 2, 11α 100 se determină uşor valoarea scalarului α Metoda gradient Problema [ 4. Fie ] funcţia f: R 2 R, f(x) = 1 2 Ax b xT x, 1 1 unde A = şi b = [0 1] 1 1 T. Considerăm de asemenea problema de optimizare aferentă: min f(x). x R 2 (i) Să se scrie problema de optimizare aferentă ca o problemă QP. Să se calculeze expresia gradientului şi Hessianei funcţiei obiectiv. Să se demonstreze că funcţia obiectiv este convexă.

76 76 Capitolul 3. Metode de ordinul I (ii) Să se calculeze punctul de minim global x. Pornind din punctul iniţial x 0 = [0 1] T, să se implementeze prima iteraţie x 1 a metodei gradient cu pasul α 0 = 1. Să se compare f(x 0 ), f(x 1 ) şi f(x ) şi să se discute concluzia. Rezolvare. (i) Pentru a scrie problema anterioară ca o problemă QP, explicităm mai întâi norma din cadrul funcţiei obiectiv: 1 2 Ax b 2 2 = 1 2 (Ax b)t (Ax b) Formulând 2x T x ca 1 2 xt 4I 2 x avem: = 1 2 (xt A T Ax x T A T b b T Ax+b T b) = 1 2 xt A T Ax (A T b) T x+ bt b 2 1 min x R 2 2 xt Qx+q T x+c unde Q = A T A + 4I 2, q = A T b şi c = 1 2 bt b. Se pot determina uşor parametrii: [ ] [ ] Q =, q = Deoarece Q este simetrică, expresia gradientului şi a Hessianei sunt definite de: [ ] 6x1 +2x f(x) = Qx+q = 2 1 şi 2 f(x) = Q 2x 1 +6x 2 1 Funcţia f este de două ori diferenţiabilă, deci putem folosi condiţia de ordin II pentru a arăta convexitatea. Mai exact, verficăm dacă 2 f(x) 0 pentru orice x domf. Valorile proprii ale matricei Q sunt soluţii ale polinomului caracteristic: λ 2 12λ+32 = 0, date de λ 1,2 = {8,4}, i.e. matricea Q este pozitiv definită. (ii) Funcţia f este convexă, deci condiţiile de optimalitate de ordin I sunt suficiente pentru a determina punctul de optim: f(x ) = Qx +q = 0.

77 3.3. Probleme rezolvate de seminar 77 Evident, soluţia x = Q 1 q este determinată de Q 1 = 1 32 rezultând: x = 1 32 [ ][ 1 1 ] = 1 32 [ ] 4 = 4 [ 1 ] [ ] Implementarea primei iteraţii a metodei gradient presupune calculul vectorului f(x 0 ): [ ] 1 f(x 0 ) = Qx 0 +q =. 5 Astfel, iteraţia x 1 rezultă: x 1 = x 0 α 0 f(x 0 ) = [ ] 0 4 Observăm că f(x 1 ) = 52 şi f(x ) = 1, deci x 8 1 se află într-o regiune relativîndepărtatăaoptimuluix. Înplus, remarcămcăvaloareafuncţiei în x 1 este mai mare faţă de cea în x 0, i.e. f(x 0 ) = 2. Reamintim că aplicarea metodei gradient unei probleme cu funcţia obiectiv cu gradient continuu în sens Lipschitz (cu constanta L) presupune alegerea pasului α ( 0, L) 2. În particular, L = λmax (Q) = 8 şi conform teoriei α 0 (0,0.25]; deci, α 0 = 1 ales anterior este inadecvat. Problema 5. Fie funcţia f: R 2 R, f(x) = 4x x2 2 4x 1x 2 + x 1, punctul iniţial x 0 = [ 1 8 0]T si direcţia d 0 = [ ]T. (i) Este d 0 o direcţie de descreştere? (ii) Notând φ(α) = f(x 0 +αd 0 ), să se găsească valoarea φ (1). (iii) Să se calculeze prima iteraţie x 1 a metodei gradient (cu alegere ideală a dimensiunii pasului). Rezolvare. (i) Pentru ca direcţia d k să fie direcţie de descreştere, trebuie să satisfacă inegalitatea f(x k ) T d k < 0. Din expresia gradientului funcţiei f: [ ] 8x1 4x f(x) = 2 +1, 6x 2 4x 1 care în punctul x 0 este f(x 0 ) = [0 1/2] T, observăm că f(x 0 ) T d 0 = 1/5. Deci direcţia d 0 este direcţie de descreştere.

78 78 Capitolul 3. Metode de ordinul I (ii) Pentru calculul derivatei lui φ(α) rescriem f sub formă: f(x) = 1 [ ] [ ] xt Qx+q T x, unde Q = şi q = Explicităm φ(α): φ(α) = α2 2 dt 0Qd 0 +α(qx 0 +q) T d xt 0Qx 0 +q T x 0, şi deducem derivata în 1: φ (1) = d T 0 Qd 0 +(Qx 0 +q) T d 0 = (iii) Substituind valorile parametrilor din enunţ, problema găsirii dimensiunii ideale a pasului metodei gradient se reduce la minimizarea unei funcţii scalare pătratice convexe. Rezultă astfel minφ(α) = α 0 şiα = argminφ(α) = Înfinal, calculămprimaiteraţieametodei α 0 gradient: [ ] x 1 = x 0 α f(x 0 ) = Problema 6. Fie problema de minimizare: min x R 2f(x) (:= 5x2 1 +5x 2 2 x 1 x 2 11x 1 +11x 2 +11). (i) Să se găsească punctele critice. (ii) Să se demonstreze că un punct ce satisface condiţiile de ordin I este, de asemenea, punct de minim global. (iii) Care este rata de descreştere a metodei gradient pentru această funcţie? [ ] [ ] x1 0 (iv) Pornind din punctul iniţial =, câte iteraţii sunt necesare x 2 0 pentru ca algoritmul să atingă acurateţea 10 6? Rezolvare. (i) Punctele critice reprezintă soluţiile sistemului f(x) = 0 descris de: { 10x 1 x 2 11 = 0 x 1 +10x = 0.

79 3.3. Probleme rezolvate de seminar 79 Observăm că sistemul are o singură soluţie dată de perechea (x 1,x 2 ) = (1, 1). (ii) Observăm că funcţia f în forma: f(x 1,x 2 ) = 1 [ [x 1 x 2 ] 1 10 ][ x1 x 2 ] [ ] x1 +[ 11 11] +11. x 2 are Hessiana pozitiv definită în orice punct al domeniului, i.e. 2 f(x 1,x 2 ) = [ ] = Q 0. În concluzie, punctul critic (x 1,x 2 ) = (1, 1) este punct de minim global. (iii) Pentru calculul ratei de descreştere corespunzătoare metodei gradient explicităm iteraţia acesteia: x k+1 = x k α k f(x k ) = x k α k (Qx k +q) = x k α k Qx k α k q = (I 2 α k Q)x k α k q, unde cu I 2 am notat matricea identitate de ordin II. Considerăm metoda gradient cu pasul constant dat de α k = 1, unde L reprezintă constanta L de continuitate Lipschitz a gradientului funcţiei obiectiv. Reamintim acum relaţia de continuitate în sens Lipschitz a gradientului unei funcţii diferenţiabile: o funcţie f : R n R are gradientul continuu Lipschitz cu constanta L dacă f(x) f(y) L x y, x,y R n. În cazul funcţiei din enunţ, relaţia se reduce la: Qx Qy Q x y, x,y R 2, deci putem considera constanta Lipschitz L = Q = λ max (Q), unde λ max (Q) reprezintă valoarea proprie maximă a lui Q. Observând că în cazul nostru λ max (Q) = [ L = ] 11, considerăm pasul constant α k = Folosind notaţia x =, din condiţiile de ordinul I avem Qx 1 = q,

80 80 Capitolul 3. Metode de ordinul I de aceea putem reformula iteraţia în următorul mod: x k+1 x = x k 1 11 (Qx k +q) x = x k 1 11 (Qx k Qx ) x ( = I 2 1 ) 11 Q (x k x ). = ( I 2 1 ) k 11 Q (x 0 x ). De aici se poate deriva uşor rata de descreştere a metodei gradient: ( x k+1 x = I 2 1 ) k 11 Q (x 0 x ) ( I 2 1 ) k 11 Q x 0 x = I Q k x 0 x. În concluzie, metoda gradient are rata de descreştere liniară (pentru funcţia din enunţ) cu factorul I Q. (iv) Din punctul anterior, avem rata de convergenţă a şirului generat de metoda gradient cu pas constant: x k x I Q k x 0 x. (3.6) Calculând norma Euclidiană (norma 2), avem: I 2 1 [ 11 Q 1 1 = ] = Înlocuind în (3.6) inclusiv valorile pentru x 0 si x, avem: x k x ( ) k Pentru ca şirul x k să se apropie de punctul de optim x cu acurateţea 10 6, trebuie să asigurăm inegalitatea 2 ( 2 11) k În concluzie,

81 3.3. Probleme rezolvate de seminar 81 prin extragerea logaritmului din ambele părţi, avem nevoie de un număr de iteraţii: 2log10 6 k log11 log2. Problema 7. Să se determine extremele funcţiei f(x 1,x 2 ) = x 3 1 x2 2 (a x 1 x 2 ). Pentru ce valori ale lui a, funcţia f are un punct de maxim global? Rezolvare. Obţinem punctele de extrem ale funcţiei rezolvând sistemul dat de condiţiile de ordin I, i.e. f(x 1,x 2 ) = 0. Mai exact, sistemul are forma: { { 3x 2 1x 2 2(a x 1 x 2 ) x 3 1x 2 2 = 0 x 2 2x 3 1 x 2(a x 1 x 2 ) x 3 1 x2 2 = 0 1x 2 2(3a 4x 1 3x 2 ) = 0 x 3 1 x 2(2a 2x 1 3x 2 ) = 0, de unde putem deduce trei cazuri diferite: { { x 1 = 0 x 1 oarecare sau sau x 2 oarecare x 2 = 0 Componentele Hessianei 2 f(x 1,x 2 ) vor fi: { 3a 4x 1 3x 2 = 0 2a 2x 1 3x 2 = 0. 2 f x 2 1 = 2x 1 x 2 2(3a 6x 1 3x 2 ), 2 f x f x 1 x 2 = 2 f x 2 x 1 = x 2 1 x 2(6a 8x 1 9x 2 ), = x 3 1(2a 2x 1 5x 2 ) Constatăm că în primele două cazuri, x 1 = 0 sau x 2 = 0, matricea [ ] f(x 1,x 2 ) = 0 0 este nedefinită. Pentru ultimul caz însă, obţinem x 1 = a şi x 2 2 = a. 3 Astfel, observăm că: ( a 2 f 2, a [ a 4 ] a = 9 3) 3 4 iar parametrul a condiţionează natura punctului critic ( a, a ). În final, 2 3 pentrucaacesta să fieunpunct demaximestenecesar ca 2 f ( a, a 2 3) 0, i.e. a [ 3,0). 2 a 3 4 a 4 12

82 82 Capitolul 3. Metode de ordinul I Problema 8. Fie funcţia f : R n R convexă şi diferenţiabilă. Să se deducă iteraţia metodei gradient cu pas constant α = 1 prin intermediul 5 aproximării Taylor pătratice cu Hessiana 5I n. Rezolvare. În orice punct al domeniului acesteia, funcţia f se poate aproxima cu o formă pătratică după cum urmează: f(x) f( x)+ f( x) T (x x)+ β 2 x x 2, oricare ar fi x domf şi β 0. Precizăm că partea dreaptă a expresiei anterioare se numeşte aproximarea pătratică a funcţiei f în punctul x cu Hessiana βi n. Iteraţia metodei gradient cu pas constant α se deduce din minimizarea, la fiecare pas k, a aproximării pătratice cu Hessiana 1 α I n: x k+1 = argmin y R nf(x k)+ f(x k ) T (y x k )+ 1 2α y x k 2. Observând că se presupune minimizarea unei funcţii convexe, determinăm minimul explicit prin intermediul condiţiilor de optimalitate de ordin I: f(x k )+ 1 α (y x k ) = 0, de unde în final deducem: x k+1 = y = x k α f(x k ). 3.4 Probleme propuse [ Problema 1. Fie funcţia f: R n R, f(x) = 1 2 x T x+ 1 2 (at x) 2]. Să se deducă numărul de flopi necesari pentru calcularea următoarelor elemente: f(x), f(x), 2 f(x) şi 2 f(x)d, unde d R n este un vector oarecare. Problema 2. Pentru următoarele funcţii determinaţi toate punctele staţionare şi verificaţi dacă acestea sunt puncte de minim local prin utilizarea condiţiilor suficiente de optimalitate de ordinul II: (i) f(x) = 3x x 1 x 2 +5x 2,

83 3.4. Probleme propuse 83 (ii) f = (x 1 1) 2 +x 1 x 2 +(x 2 1) 2, (iii) f = x 1 +x 2 3+x 2 1 +x2 2 +x 1x 2. Problema 3. Fiind dată funcţia f(x 1,x 2 ) = x x2 2 şi un punct x 0 = [5 1] T, se cere: (i) Să se construiască explicit φ(α) de-a lungul celei mai abrupte pante, i.e. φ(α) = f(x 0 α f(x 0 )). (ii) Să se minimizeze φ(α) în funcţie de α şi să se obţină un nou punct x 1 utilizând iteraţia metodei gradient. Problema 4. Să se aplice metoda gradienţilor conjugaţi pentru minimizarea neconstrânsă funcţiei definite în problema rezolvată 5. Să se verifice în două moduri validitatea punctului de optim obţinut. Problema 5. Fie o matrice Q 0. Să se demonstreze inegalitatea lui Kantorovich definită de următoarea relaţie: (x T x) 2 (x T Qx)(x T Q 1 x) 4λ max(q)λ min (Q) [λ max (Q)+λ min (Q)] 2. Problema 6. Să se discute valorile parametrului n astfel încât funcţia f(x 1,x 2 ) = x n 1 +xn 2 x 1x 2 n să aibă puncte de extrem local. Problema 7. Fie funcţia f(x) = x 4 1+x 1 x 2 +(1+x 2 ) 2. Definim modelul pătratic: q f (x;x 0 ) = f(x 0 )+ f(x 0 ),x x α x x 0 2. Se observă că iteraţia metodei gradient cu dimensiunea pasulului α este punctul de minim al formei pătratice anterioare, i.e. x 1 = x 0 α f(x 0 ) = argmin y R 2f(x 0)+ f(x 0 ),y x α y x 0 2. (i) Pentru x 0 = [0 0] T, să se calculeze f(x 0 ) si 2 f(x 0 ) şi să se demonstreze că 2 f(x 0 ) nu este pozitiv definită. (ii) Pentru x 0 = [1 1] T, să se calculeze prima iteraţie a metodei de gradient cu pasul α = 1.

84 84 Capitolul 3. Metode de ordinul I Problema 8. Fie funcţia f(x) = x x2 2 +4x 1+4x 2. Să se demonstreze prin inducţie că metoda gradient cu pasul ideal, pornind din x 0 = [0 0] T, generează şirul dat de: [ 2 ] 2 3 x k+1 = ( k 1 k. 3) 1 Să se deducă punctul de minim din şirul rezultat. Problema 9. Să se găsească punctele critice ale funcţiei: f(x) = 2x 3 1 3x2 1 6x 1x 2 (x 1 x 2 1). Care din aceste puncte sunt minime locale, maxime locale sau niciuna din variante? Problema 10. Pentru problema de optimizare: min x R 24x2 1 4x 1x 2 +2x 2 2, să se aplice primele trei iteraţii ale metodei gradient cu pasul ales în mod ideal. Problema 11. Considerăm următoarea iteraţie tip metodă gradient: x k+1 = x k s( f(x k )+e k ), unde s este un pas constant, e k este o eroare ce satisface e k δ pentru orice k, iar f este funcţia pătratică pozitiv definită: f(x) = 1 2 (x x ) T Q(x x ) Fie q = max{ 1 sm, 1 sm }, unde m şi M sunt cea mai mică, respectiv cea mai mare valoare proprie a lui Q. Presupunem că q < 1. Să se demonstreze că pentru orice k avem: x k x sδ 1 q +qk x 0 x

85 Capitolul 4 Metode de ordinul II 4.1 Preliminarii În acest capitol considerăm, de asemenea, probleme generale de optimizare neconstrânsă de forma (3.1). Dacă metodele de ordinul I expuse în capitolul anterior se bazează pe informaţia de gradient a funcţiei obiectiv, în următoarele secţiuni analizăm algoritmi ce fac uz în plus şi de informaţia de ordinul II, şi anume matricea Hessiană a funcţiei obiectiv (vezi [1, 3]). În cele ce urmează prezentăm pe scurt condiţiile de optimalitate necesare şi suficiente pentru probleme de optimizare fără constrângeri (restricţii) (3.1). Condiţiile necesare de optimalitate pentru problemele neconstrânse pot fi enunţate astfel: orice punct de minim local x domf al problemei (3.1) satisface f(x ) = 0. De asemenea, condiţiile necesare de ordinul II se pot formula după cum urmează: orice punct de minim local x domf al problemei (UNLP) satisface: f(x ) = 0 şi 2 f(x ) 0. Atribuim o importanţă majoră condiţiilor de optimalitate suficiente de ordinul II deoarece reprezintă o modalitate de verificare a naturii unui punct dat: dacă x satisface f(x ) = 0 şi 2 f(x ) 0, atunci x este un punct strict de minim local al problemei (3.1). Intuitiv, dacă algoritmii de ordinul I rezolvă condiţiile necesare de ordinul I cu ajutorul informaţiei de gradient, putem argumenta că cei de ordinul II

86 86 Capitolul 4. Metode de ordinul II converg la un punct de minim local ce satisface condiţiile de ordinul I şi II, utilizând în plus matricea Hessiană a funcţiei obiectiv. În continuare, prezentăm principalele metode de ordinul II şi analizăm comportamentul acestora pe exemple numerice. Metoda Newton reprezintă una dintre cele mai vechi metode de optimizare, dezvoltată iniţial în scopul aproximării iterative a soluţiilor ecuaţiilor neliniare. Această metodă utilizează inversa matricei Hessiane a funcţiei obiectiv pentru o convergenţă rapidă către un punct de minim local. Principalul dezavantaj al metodei Newton îl reprezintă instabilitatea provocată de anumiţi factori (e.g. iniţializarea într-o regiune îndepărtată de optim, condiţionarea matricei Hessiene). Cu toate acestea, în cazurile bine condiţionate când metoda converge, prezintă o convergenţă mult superioară metodelor de ordinul I. Ideea principală ce stă la baza metodei Newton o reprezintă aproximarea funcţiei obiectiv: pentru funcţia obiectiv f a problemei (3.1), la iteraţia k se construieşte aproximareapătratică ˆf f (aproximareataylordeordinulii)afuncţiei obiectiv în punctul curent x k : ˆf(x) = f(x k )+ f(x k ) T (x x k )+ 1 2 (x x k) T 2 f(x k )(x x k ), care se minimizează cu scopul obţinerii iteraţiei Newton. Dacă 2 f(x k ) este pozitiv definită, atunci funcţia ˆf(x) este convexă. Pe de altă parte, gradientul funcţiei ˆf(x) este dat de: ˆf(x) = 2 f(x k )(x x k )+ f(x k ), iar minimul funcţiei ˆf(x) va fi atins într-un punct x ce satisface ˆf( x) = 0. Considerând următorul punct x k+1 al şirului ca fiind punctul ce anulează gradientul funcţiei ˆf(x), i.e. ˆf(x k+1 ) = 0, implicit vom obţine sistemul liniar de ecuaţii: 2 f(x k )(x k+1 x k ) = f(x k ), (4.1) de unde rezultă iteraţia metodei Newton standard: x k+1 = x k ( 2 f(x k ) ) 1 f(xk ). Varianta generală a metodei Newton este dată de iteraţia: x k+1 = x k α k ( 2 f(x k ) ) 1 f(x k ),

87 4.2. Probleme rezolvate de laborator 87 considerând selectarea pasului α k prin aceleaşi moduri ca la metodele de ordinul I: line search (ideal), backtracking sau α k = α constant. Observăm că metoda Newton standard are dimensiunea pasului unitar constant, i.e. α k = 1. Dacăfuncţiaf estepătraticăstrictconvexă (i.e. 2 f(x) 0pentruorice x), atunci metoda Newton converge într-un singur pas către punctul de minim. În general, metoda Newton nu converge decât dacă iniţializarea se realizează în vecinătatea punctului de minim. Există două motivaţii pentru acest comportament: (i) dacă funcţia obiectiv f este puternic neliniară atunci ˆf este o aproximare inexactă lui f, de aceea există posibilitatea ca f(x k+1 ) > f(x k ); (ii) nu avem garanţia că 2 f(x k ) 0 pe parcursul iteraţiilor metodei. Mai exact, dacă 2 f(x k ) 0 sau det( 2 f(x k )) = 0, atunci este posibil ca ˆf(x) să nu aibă punct de minim. Implementarea metodei Newton necesită abordarea a doi factori importanţi: (i) este necesară implementarea unei reguli de alegere a dimensiunii pasului α k, astfel încât să eliminăm posibilitatea de creştere a funcţiei obiectiv în punctele depărtate de optim, fapt datorat impreciziei aproximării pătratice. În cazul în care funcţia obiectiv nu este convexă, însă problema de minimizare admite o soluţie, atunci inversa Hessianei nu este pozitiv definită în mod cert decât în apropierea soluţiei; (ii) dacă nu putem asigura ca Hessiana este pozitiv definită în fiecare punct al şirului {x k } k 0, o abordare des întâlnită presupune înlocuirea Hessianei cu o matrice Hessiană modificată G = ǫi n + 2 f(x) 0, cu ǫ 0. Menţionăm că întotdeauna va exista un ǫ suficient de mare astfel încâtg 0. Reamintimcăcelmaisimplualgoritmpentruaverifica dacă o matrice dată este sau nu pozitiv definită este factorizarea Cholesky. 4.2 Probleme rezolvate de laborator Metoda Newton Exemplul 18. Să se implementeze metoda Newton cu cele trei variante de alegere a dimensiunii pasului(ideal, backtracking, pas unitar constant) pentru rezolvarea problemei: min x R 2f(x) (= (x 1 x 3 2 )2 +3(x 1 x 2 ) 4 ). (4.2)

88 88 Capitolul 4. Metode de ordinul II f(x k ) f * 0.25 f(x k ) k k Figura 4.1: Comparaţia convergenţei metodei Newton utilizând cele trei opţiuni pentru selectarea paşilor: ideal (linie continuă), backtracking (linie punctată întreruptă) şi pas constant unitar (linie întreruptă) pentru problema (4.2). Rezolvare. Utilizăm funcţii auxiliare ce returnează informaţii de ordinul I şi II: [f,g]=f_obj(x) H=hess_obj(x). Funcţia f_obj returnează valoarea f(x) şi f(x) prin variabilele f,g, hess_obj returnează 2 f(x) prin variabile H. Pentru selectarea pasului ideal, construim funcţia: f=alpha_search(alpha,x,d) ce returnează f(x+αd) în f. De asemenea, pentru metoda backtracking construim funcţia: alpha=alpha_bactrack(x,d). Condiţia de oprire va fi aceeaşi ca şi în cazul metodei gradient, anume f(x k ) < ǫ, unde ǫ > 0 reprezintă acurateţea dorită. Secvenţa de cod ce implementează metoda Newton este prezentată în cele ce urmează: function xmin=newton_method(x0,eps) %initializam vectori/matrice pentru memorarea gradientilor, %a punctelor x generate de algoritm, etc puncte_gradient=[]; puncte_iteratie=[];

89 4.2. Probleme rezolvate de laborator 89 valori_functie=[]; norme_gradienti=[]; %vom utiliza un vector g pentru a stoca gradientul curent %o matrice H pentru a stoca Hessiana curenta %calculam directia corespunzatoare in d x=x0; [f,g]=f_obj(x); while(norm(g)>eps) [f,g]=f_obj(x); H=hess_obj(x); d=h\-g; puncte_gradient=[puncte_gradient g]; puncte_iteratie=[puncte_iteratie x]; valori_functie=[valori_functie; f]; norme_gradienti=[norme_gradienti; norm(g)]; %Aici selectam alpha=1 constant, %alpha=fminbnd(...) pentru exact line search, %sau alpha=alpha_bactrack(...) %pentru metoda de backtracking alpha=fminbnd(@(alpha) alpha_search(alpha,x,d),0,1); x=x+alpha*d end xmin=x; %Pentru afisarea grafica a rezultatelor, %avem urmatoarele instructiuni t=1:length(valori_functie); figure(1) hold on plot(t,norme_gradienti(t), k, LineWidth,2); hold off figure(2) hold on plot(t,valori_functie(t), k, LineWidth,2); hold off %Pentru trasarea liniilor de contur si evolutia %metodei gradient, avem urmatoarele instructiuni [x1,x2]=meshgrid([1.2:0.01:2.8],[0.4:0.01:1.6]);

90 90 Capitolul 4. Metode de ordinul II x x 1 Figura 4.2: Graficul punctelor obţinute de metoda Newton cu pas ideal şi liniile de contur aferente pentru problema (4.2). z=(x1-2).^4+(x1-2.*x2).^2; figure(3) hold on contour(x1,x2,z,valori_functie) plot3(puncte_iteratie(1,:),puncte_iteratie(2,:),... valori_functie, r ) scatter3(puncte_iteratie(1,:),puncte_iteratie(2,:),... valori_functie, filled ) hold off Rezultatele comparative pentru metoda Newton utilizând cele trei opţiuni pentru selectarea pasului pot fi observate în Fig În Fig. 4.2 observăm punctele obţinute de metoda Newton şi curbele de nivel aferente Metode cvasi-newton Deşi metoda Newton prezintă convergenţă pătratică, în multe cazuri ea prezintă dezavantaje din punct de vedere al efortului de calcul datorită necesităţii calculului derivatelor de ordinul I şi a rezolvării sistemului de ecuaţii (4.1) la fiecare iteraţie. Pentru probleme de dimensiuni mari ce nu pot fi abordate cu metoda Newton au fost dezvoltate metode de tip cvasi-newton. Această clasă de metode presupun înlocuirea matricei Hessiene cu una simetrică pentru care operaţia de inversare nu este costisitoare. Şirul de matrice rezultat permite evitarea calculului derivatelor de ordinul II şi simplifică rezolvarea sistemului de ecuaţii (4.1) necesar determinării direcţiei. Un algoritm de tip cvasi-newton este definit de următoarea schemă:

91 4.2. Probleme rezolvate de laborator 91 Fie punctul iniţial x 0 domf şi matricea iniţială H 0 0. Pentru k 1, cât timp criteriul de oprire nu este satisfăcut, iterăm: 1. se calculează direcţia cvasi-newton d k = H 1 k f(x k); 2. se determină pasul α k (e.g. prin metoda de backtracking); 3. se calculează următoarea iteraţie: x k+1 = x k +α k d k ; 4. se calculează o nouă matrice H k+1. Metodele de tip cvasi-newton diferă prin regula de actualizare a matricei H k. Cea mai des utilizată variantă este metoda Broyden-Fletcher-Goldfarb-Shanno (sau metoda BFGS pe scurt): unde H k = H k 1 + δ kδ T k δ T k k H k 1 k T k H k 1 T k H k 1 k, k = x k x k 1,δ k = f(x k ) f(x k 1 ). O altă versiune a metodei BFGS consideră actualizarea directă a inversei matricei H k : ( H 1 k = I ) ( kδk T δk T H 1 k 1 I δ ) k T k k δk T + k T k k δk T. k Structura algoritmului cvasi-newton cu actualizare BFGS este definită de următoarea schemă: Selectăm un punct iniţial x 0 R n, o toleranţă ǫ > 0 şi o matrice H 0 R n n simetrică şi pozitiv definită. Cât timp f(x k ) > ǫ, 1. calculăm direcţia d k = H 1 k f(x k); 2. calculăm pasul α k = argmin α>0 f(x k +αd k ); 3. calculăm noua iteraţie x k+1 = x k +α k d k şi k = α k d k ; 4. evaluăm f(x k+1 ) şi calculăm δ k = f(x k+1 ) f(x k ); 5. calculăm H k+1 prin formula BFGS; k = k +1. O observaţie importantă este diferenţa dintre rata de convergenţă locală a metodei Newton şi a metodelor de tip cvasi-newton. Cu toate că metodele cvasi-newton prezintă o complexitate per iteraţie mai mică, rata de convergenţă este (super)liniară în timp ce metoda Newton prezintă o rată de convergenţă pătratică locală.

92 92 Capitolul 4. Metode de ordinul II 4.3 Probleme rezolvate de seminar Metoda Newton şi metoda BFGS Problema 1. Fie problema de optimizare min x R nf(x) unde f: R n R este pătratică, i.e f(x) = 1 2 xt Qx+q T x. Să se arate că pentru f convexă metoda Newton standard converge într-un singur pas. Rezolvare. Din condiţiile de optimalitate de ordinul I, i.e. f(x) = Qx+ q = 0 va rezulta că x = Q 1 q. Reţinem că direcţia metodei Newton este d = ( f(x)) 1 f(x), care in cazul pătratic va fi: d = Q 1 (Qx+q) = x Q 1 q. Astfel, pentru un punct iniţial x 0 şi un pas α 0 = 1, vom avea: x 1 = x 0 +α 0 d 0 = x 0 x 0 Q 1 q = Q 1 q. Din moment ce f este convexă, va rezulta automat că 2 f(x 0 ) = Q 0, iar drept urmare x 1 = x. Problema 2. Fie funcţia f : R n R convexă şi diferenţiabilă de două ori. Să se determine expresia iteraţiei metodei Newton standard prin intermediul aproximării Taylor de ordinul II. Este posibilă şi o altă modalitate de a obţine această iteraţie? Rezolvare. Deoarece funcţia f este diferenţiabilă de două ori, în orice punct al domeniului acesteia x domf, se poate aproxima cu o formă pătratică: f(x) f( x)+ f( x) T (x x)+ 1 2 (x x)t 2 f( x)(x x). Precizăm că partea dreaptă a expresiei anterioare se numeşte aproximarea Taylor de ordinul II în punctul x a funcţiei f. Fie punctul curent x k al metodei Newton, următoarea iteraţie x k+1 se determină din minimizarea neconstrânsă a aproximării de ordinul II în punctul x k a funcţiei obiectiv: x k+1 = argmin y R nf(x k)+ f(x k ) T (y x k )+ 1 2 (y x k) T 2 f(x k )(y x k ).

93 4.3. Probleme rezolvate de seminar 93 Deoarece funcţia f este convexă, matricea 2 f(x k ) este pozitiv semi-definită, deci aproximarea pătratică este convexă. Determinăm punctul de minim al acestei aproximări din condiţiile de optimalitate de ordinul I: 2 f(x k )(y x k )+ f(x k ) = 0, de unde rezultă iteraţia: x k+1 = y = x k [ 2 f(x k ) ] 1 f(xk ). O modalitate alternativă de a deduce iteraţia Newton este descrisă de liniarizarea expresiei gradientului funcţiei obiectiv în punctul curent x k : f(x) f( x)+ 2 f( x)(y x), unde considerăm f( x) şi 2 f( x) cunoscute. Pentru a obţine iteraţia Newton, la momentul k + 1, egalăm cu 0 aproximarea liniară a gradientului, în punctul x k : de unde rezultă: f(x k )+ 2 f(x k )(y x k ) = 0, x k+1 = y = x k [ 2 f(x k ) ] 1 f(x k ). Menţionăm în plus că iteraţia metodei Newton generale x k+1 = x k α k [ 2 f(x k ) ] 1 f(x k ) se obţine din minimizarea unei aproximări Taylor pătratice de forma: x k+1 = argmin y R nf(x k)+ f(x k ) T (y x k )+ 1 2α k (y x k ) T 2 f(x k )(y x k ). De asemenea, iteraţia metodei gradient x k+1 = x k α k f(x k ) se poate obţine dintr-o aproximare pătratică de forma: x k+1 = argmin y R nf(x k)+ f(x k ) T (y x k )+ 1 2α k y x k 2.

94 94 Capitolul 4. Metode de ordinul II Problema 3. Fie problema de optimizare neconstrânsă: min f(x) x R 2 (= 12 x x22 +2x 1x 2 +2x 1 +4x 2 ). (i) Să se scrie problema ca o problemă QP (Quadratic Programming). Să se arate că problema este convexă. (ii) Să se determine punctul de minim x al problemei. (iii) Pornind din punctul x 0 = [1 1] T, să se determine pasul optim α 0 corespunzător metodei gradient şi să se implementeze prima iteraţie a acestei metode cu pasul obţinut. (iv) Să se implementeze prima iteraţie a metodei Newton standard pentru problema precedentă. Să se compare punctul x 1 al metodei gradient cu cel al metodei Newton. Ce se observă? Rezolvare. (i) Prin rescrierea sub formă matriceală a funcţiei obiectiv ajungem la forma QP: f(x) = 1 [ ] xt x+ [ 2 4 ] x. 2 5 Pentru a determina convexitatea funcţiei, verficăm dacă matricea Hessiană: [ ] f(x) = Q = 2 5 este pozitiv semidefinită. Observăm că minorii principali sunt strict pozitivi, rezultând că Hessiana este pozitiv definită. (ii) Deoarece funcţia obiectiv este strict convexă, punctul de minim neconstrâns este dat de condiţiile de optimalitate de ordinul I: unde q = f(x ) = Qx +q = 0, [ ] 2 şi de unde rezultă soluţia unică x 4 = [ ] 2. 0 (iii) Reamintim procedura de selectare a lungimii ideale a pasului: α 0 = argminφ(α) = argmin f(x 0 α f(x 0 )). (4.3) α 0 α 0

95 4.3. Probleme rezolvate de seminar 95 Obţinânddirecţiadegradientd 0 = f(x 0 ) = Qx 0 +q = funcţia obiectiv: [ ] 1, evaluăm 1 φ(α)=f(x 0 α f(x 0 ))= 1 [ (1 α) 2 +5(1+α) 2] 2(1 α 2 ) 6α 2 2 = 5α 2 2α 1. Observăm că punctul de minim global neconstrâns al funcţiei φ(α) este α = 1. Deoarece problema (4.3) este constrânsă, iar punctul de 5 minim neconstrâns α se află în mulţimea fezabilă {α R : α 0}, concluzionăm că lungimea ideală a pasului este α 0 = 1. Prima iteraţie a 5 metodei gradient cu pas ideal este dată de: [ 4 ] x G 1 = x 0 α 0 f(x 0 ) = (iv) Metoda Newton standard presupune următoarea iteraţie: x k+1 = x k [ 2 f(x k ) ] 1 f(x k ). În cazul nostru, funcţia obiectiv este pătratică (implicit de două ori diferenţiabilă) cu Hessiana: [ ] f(x) =. 2 5 Calculăm inversa matricei Hessiene: [ 2 f(x) ] 1 = [ ] 5 2, 2 1 iar primul pas al metodei Newton standard este dat de: x N 1 = x 0 [ 2 f(x 0 ) ] [ ] [ ][ ] [ ] f(x 0 ) = = = x În concluzie, metoda Newton converge pentru această problemă într-un singur pas către punctul de minim. Problema 4. Fie funcţia f: R 2 R, definită de: f(x 1,x 2 ) = x x4 2 4 x3 1 3 x3 2 3.

96 96 Capitolul 4. Metode de ordinul II (i) Să se determine un punct de minim local al problemei: min x R 2f(x) (ii) Să se calculeze prima iteraţie a metodei Newton alegând punctul iniţial x 0 = [ 1 1] T şi considerând cazurile în care pasul α 0 = 1 şi α 0 este selectat ideal. Rezolvare. (i) Calculăm mai întâi expresia gradientului şi Hessianei: [ ] [ ] x 3 f(x) = 1 x 2 1 3x x 3 2 x 2, 2 2 f(x) = 1 2x x x 2 Din condiţia f(x ) = 0 deducem că componentele lui x satisfac condiţia x 1,x 2 {0,1}, iar pentru x = [1 1] T avem: 2 f(1,1) = I 2 0, deci x = [1 1] T este punct de minim strict local. (ii) Pentru punctul iniţial x 0 = [ 1 1] T avem: [ ] [ ] [ f(x 0 ) =, 2 f(x 0 ) = 2 f(x 0 ) ] [ 1 ] 1 0 = 5, de unde rezultă direcţia Newton: [ ] d d 0 = [ 2 f(x 0 )] 1 f(x 0 0 ) = 1 = d 0 2 [ 2 ] 5. 0 Acum, pentru determinarea pasului ideal, trebuie să calculăm φ(α) = f(x 0 +αd 0 ) pentru funcţia noastră obiectiv: φ(α) = 1 4 (x 1 +αd 0 1) (x 2 +αd 0 2) (x 1 +αd 0 1) (x 2 +αd 0 2) 3. = 1 4 (x 1 + 2α 5 )4 1 3 (x 1 + 2α 5 )3 + x4 2 4 x Rezolva m ecuaţia φ (α) = 0, de unde obţinem α = 5. Astfel, pentru pasul α 0 = 1, respectiv α 0 = 5 iteraţiile sunt date de: [ 3 ] [ ] x 1 = 5 1, x 1 1 = = x. 1 Evaluând funcţia obiectiv în cele două puncte f(3/5,1) = , f(1, 1) = , constatăm o descreştere mai bună cu dimensiunea ideală a pasului.

97 4.3. Probleme rezolvate de seminar 97 Problema 5. Dacă efectuăm o actualizare de rang 1 asupra unei matrice pătrate şi nesingulare A şi notăm rezultatul cu Ā, i.e.: Ā = A+uv T, unde a,b R n, atunci formula Sherman-Morrison-Woodbury are loc: Ā 1 = A 1 A 1 uv T A 1 1+v T A 1 u. (4.4) Rezolvare. Pentru a verifica această formulă, conform definiţiei matricei inverse, avem egalitatea Ā 1 Ā = I n. Astfel, simplu înmulţim pe Ā cu Ā 1 : ) Ā 1 Ā = (A 1 A 1 uv T A 1 (A+uv T ) 1+v T A 1 u = I n +A 1 uv T A 1 uv T +A 1 u(v T A 1 u)v T 1+v T A 1 u = I n +A 1 uv T A 1 uv T +(v T A 1 u)a 1 uv T 1+v T A 1 u = I n +A 1 uv T 1+vT A 1 u 1+v T A 1 u A 1 uv T = I n. Problema 6. Fiefuncţia f: R R, definită def(x) = (x 1) 2 /(x 2 +1). Să se implementeze metoda Newton pornind din punctele iniţiale x 0 = { 2,0, 1}. Ce se observă? Rezolvare. Calculăm mai întâi gradientul funcţiei şi Hessiana: f(x) = 2(x2 1) (x 2 +1) 2, 2 f(x) = 4x(3 x2 ) (x 2 +1) 3. Din condiţiile de optimalitate va rezulta desigur că x = 1 este punct de minim local strict. Utilizând expresiile obţinute ale gradientului şi Hessianei, deducem expresia direcţiei Newton: d(x) = [ 2 (f(x)] 1 f(x) = x4 1 2x(3 x 2 ). Astfel, pentru punctele iniţiale avem: d( 2) = 15, d( 1) = 0, 4

98 98 Capitolul 4. Metode de ordinul II iar în x 0 = 0 avem 2 f(0) = 0 şi direcţia Newton în acest caz nu există. Observămcăpentrux 0 = 1metodaNewtonvarămâneînacelaşipunct. Pe de altă parte, pentru x 0 = 0 Hessiana nu este inversabilă, iar metoda Newton standard nu poate fi aplicată. Pentru x 0 = 2 avem x 1 = 2 15/4 = 23/4, iar din expresia direcţiei deducem că metoda diverge. Observăm că pentru un punct iniţial suficient de aproape de punctul de optim, e.g. x 0 = 1.3, metoda Newton converge. Problema 7. Fie funcţia f: R 2 R, definită de f(x) = x 4 1+x 1 x 2 +(1+ x 2 ) 2. Să se descrie performanţele metodei Newton aplicată problemei: min x R 2f(x), pornind din punctul iniţial x 0 = [0 0] T. Rezolvare. Calculăm expresiile gradientului şi Hessianei: [ 4x f(x) = 3 1 +x ] [ ] 2 12x, 2 2 f(x) = 1 1 x 1 +2(x 2 +1) 1 2 şi evaluând aceste expresii în x 0 avem: [ ] [ ] [ ] f(x 0 ) =, 2 f(x 0 ) =, ( 2 f(x 0 )) 1 = Astfel, direcţia Newton pentru punctul x 0 va fi: d 0 = ( 2 f(x 0 )) 1 f(x 0 ) = [ 2 0 iar f(x 0 ) T d 0 = 0. Observăm că aceeaşi egalitate este valabilă de asemenea pentru d 0. Astfel, d 0 nu este direcţie de descreştere. În plus, observăm că f(x 0 ) = 1, iar pentru x 1 = x 0 + d 0 = [ 2 0] T, vom avea f(x 1 ) = 17, iar pentru x 1 = x 0 d 0 vom avea tot f(x 1 ) = 17. Problema 8. O problemă fundamentală din domeniul prelucrării semnalelor o reprezintă recuperarea unui semnal x dintr-unul corupt y (fiind semnalul adevărat x combinat cu zgomot). De cele mai multe ori, problema este abordată prin aproximarea cât mai fidelă a semnalului adevărat prin intermediul rezolvării următoarei probleme de optimizare: min x y n 1 x R n 2 +µ x i+1 x i, i=1 ],

99 4.3. Probleme rezolvate de seminar 99 Observăm că deşi primul termen ce denotă distanţa Euclidiană dintre semnalul adevărat x şi cel corupt y este suficient pentru a găsi o aproximare relativ fidelă, se adaugă un termen de regularizare descris de suma diferenţelor dintre elementele consecutive ale semnalului x. Acest termen de regularizare are scopul de a asigura găsirea unei aproximări cât mai netede, fără variaţii bruşte ale componentelor. Observăm că funcţia obiectiv a problemei anterioare este nediferenţiabilă. (i) Să se determine o aproximare a problemei de optimizare precedente, cu funcţia obiectiv continuu diferentiabilă; (ii) Să se calculeze forma explicită a gradientului şi Hessianei corespunzătoare noii funcţii obiectiv de la punctul a), şi să se aplice un pas al metodei Newton. Rezolvare. (i) O aproximare netedă (smooth) a problemei din enunţ este dată de: ( n 1 min f(x) = x y 2 x R n 2 +µ ( ) ) ǫ2 +(x i+1 x i ) 2 ǫ, i=1 unde ǫ > 0 este suficient de mic. (ii) Determinăm forma explicită a primului pas din metoda Newton. Reamintim direcţia Newton: d N = [ 2 f(x)] 1 f(x). Notând φ ǫ (x) = ( ǫ2 +(x i+1 x i ) ǫ) 2, se observă că gradientul funcţiei obiectiv µ n 1 i=1 a problemei de la punctul a) este: f(x) = 2(x y)+µ φ ǫ (x). Mai departe, Hessiana aceleiaşi funcţii este dată de: 2 f(x) = 2I n + µ 2 φ ǫ (x). În concluzie, dificultatea se reduce la determinarea formei explicite a gradientului şi matricei Hessiane corespunzătoare funcţiei φ ǫ. Pentru o expunere simplificată, notăm g(u) = µ n 1 ( ǫ2 +u 2 i ), ǫ şi observăm că φ ǫ (x) = g(ax), unde A R n 1 n dată de: A = i=1

100 100 Capitolul 4. Metode de ordinul II Precizăm că sunt suficiente expresiile derivatelor funcţiei g pentru a le determina pe cele ale funcţiei φ ǫ. Astfel, determinăm forma explicită a componentelor acestora: i g(u) = u i ǫ2 +u 2 i 2 iig(u) = ǫ 2. ǫ2 +u 2 i Deoarece funcţia g este separabilă, Hessiana acesteia este matrice diagonală. În final avem: f(x) = 2(x y)+µa T g(ax) 2 f(x) = 2I n +µa T 2 g(ax)a şi observăm că matricea 2 f(x) este superior bidiagonală. Direcţia Newton este dată de soluţia sistemului superior bidiagonal: ce se rezolvă în O(n) operaţii. 2 f(x)d N = f(x), 4.4 Probleme propuse Problema 1. Pentru următoarele două probleme, să se determine punctele de optim şi să se implementeze primii trei paşi ai metodei Newton standard, i.e. cu pas constant α = 1: (i) min x R ln(ex +e x ), pornind din x 0 = 1 şi x 0 = 1.1 (ii) min x R lnx+x, pornind din x 0 = 3 Ce se observă după primii trei paşi? Problema 2. Fie următoarea problemă de optimizare: min x R 2x x 2 2 Să se implementeze metoda BFGS cu pas optim la fiecare iteraţie, pornind din punctul iniţial x 0 = [1 1] T şi matricea iniţială H 0 = I 2. În câţi paşi converge metoda la punctul de optim?

101 4.4. Probleme propuse 101 Problema 3. Să se implementeze primii doi paşi ai metodei DFP (Davidon-Fletcher-Powell) pentru următoarea problemă: min x R 2x2 1 +3x 2 2 +e 1+x2 1 +x2 2 pornind din punctul iniţial x = [1 1] T şi matricea iniţială H 0 = I 2. Problema 4. Pentru problema din exerciţiul 2 din cadrul problemelor propuse, să se implementeze primele trei iteraţii ale algoritmului Fletcher-Reeves de gradienţi conjugaţi pornind din acelaşi punct iniţial şi să se compare iteraţiile acesteia cu cele ale metodei BFGS. Problema 5. Fie o matrice B R n n simetrică şi doi vectori s,y R n. Fie B 0 = B şi şirul de matrice: ˆB k = B k + (y B ks)s T s T s, B k+1 = ˆB k + ˆB T k 2 pentru orice k > 0. Arătaţi că şirul B k converge la o matrice B + definită astfel: B + = B + (y Bs)sT +s(y Bs) T s T s (y Bs)T s (s T s) 2 ss T. Problema 6. Fie funcţia f convexă că Hessiana 2 f(x) bloc diagonală. Cum putem exploata această structură în calcularea direcţiei Newton? Ce semnificaţie are pentru f? Problema 7. Pentru următoarele funcţii obiectiv, să se determine expresia lungimii unui pas selectat ideal α = min f(x+αd): α 0 m ( m ) (i) f(x) = log(b a T i x). (ii) f(x) = log. i=1, e (at i x+b i) i=1 Problema 8. Descrieţi o metodă eficientă de calcul al direcţiei Newton corespunzătoare funcţiei: m f(x) = log ( x T Q i x b T i x c i), i=1 unde m n, iar matricele Q i R n n, Q i 0 au dimensiuni mari şi structură rară.

102 102 Capitolul 4. Metode de ordinul II Problema 9. Fie vectorul y R n vector cunoscut, funcţia f : R n R este definită de: f(x) = n n 1 g(x i y i )+λ (x i+1 x i ) 2 i=1 i=1 unde g : R R este o funcţie convexă şi de două ori diferenţiabilă, λ > 0. Să se determine expresia Hessianei 2 f(x). Care este numărul de operaţii necesar pentru calcularea direcţiei Newton în orice punct x? Problema 10. neconstrânsă: Considerăm următoarea problemă de optimizare p min x R nf(x) (= g i (A i x b i )) i=1 unde A i R m i n, b i R m i,m i n, iar g i : R m i R funcţii convexe şi de două ori diferenţiabile. Ştiind că A i au structură rară, calculaţi expresia Hessianei şi a gradientului lui f şi discutaţi o modalitate eficientă de implementare a metodei Newton pentru această problemă. Problema 11. Fie funcţia f(x) = 20 + x cos(2πx 1) + x cos(2πx 2 ). Să se implementeze metoda cvasi-newton (BFGS) cu alegerea ideală a dimensiunii pasului pentru rezolvarea problemei: min x R2f(x). (4.5) Să se rezolve problema (4.5) prin apelarea funcţiei fminunc şi sa se compare rezultatele obţinute.

103 Capitolul 5 Probleme de optimizare constrânsă 5.1 Preliminarii Acest capitol delimitează începutul unei importante părţi din teoria optimizării, şi anume analiza problemelor de optimizare cu restricţii. O problemă de optimizare constrânsă (cu restricţii) în formă generală este dată prin următoarea expresie: min f(x) (5.1) x Rn s.l.: g(x) 0, h(x) = 0, unde funcţia obiectiv f : R n R şi funcţiile vectoriale ce definesc constrângerile g : R n R m,h : R n R p, se presupun a fi de două ori diferenţiabile. Introducem, mai departe, o serie de noţiuni caracteristice problemelor de optimizare constrânse. Lagrangianul corespunzător problemei (5.1) este: L(x,λ,µ) = f(x)+λ T g(x)+µ T h(x), unde λ R m, µ R p reprezintă multiplicatorii Lagrange asociaţi constrângerilor de inegalitate, respectiv de egalitate. Condiţiile necesare de ordin I pentru probleme constrânse de tip (5.1) se formulează astfel: dacă x este un punct de minim local al problemei (5.1), atunci există

104 104 Capitolul 5. Probleme de optimizare constrânsă λ R m şi µ R p astfel încât: f(x )+ m λ i g i(x )+ i=1 p µ i h i(x ) = 0 i=1 g(x ) 0,h(x ) = 0 λ i g i(x ) = 0 λ 0. Aceste relaţii formează sistemul KKT sau condiţiile de optimalitate Karush-Kuhn-Tucker. În cazul nedegenerat, condiţiile suficiente de optimalitate se enunţă după cum urmează: dacă x satisface sistemul KKT iar Hessiana Lagrangianului dată de expresia: m p 2 x L(x,λ,µ) = 2 f(x )+ λ i 2 g i (x )+ µ i 2 h i (x ) i=1 este pozitiv definită pe subspaţiul definit de: M = { d : h(x )d = 0, g j (x ) T d = 0 j A(x ) } (5.2) unde A(x ) este mulţimea constrângerilor active, atunci x este un punct de minim strict local. 5.2 Probleme rezolvate de laborator În acest subcapitol vom utiliza mediul de programare Matlab pentru rezolvarea unui număr de exemple de probleme de optimizare constrânsă Formularea unei probleme de optimizare în formă standard Exemplul 19. Un avion cargo are trei compartimente pentru transport mărfuri, pe care le notăm C 1, C 2 şi C 3. Presupunem că toate cele trei compartimente sunt limitate din punct de vedere al greutăţii şi volumului admis aşa cum se specifică în următorul tabel: Compartiment Limită greutate [t] Limită volum [m 3 ] C C C i=1

105 5.2. Probleme rezolvate de laborator 105 Pentru a menţine echilibrul avionului, încărcătura fiecărui compartiment trebuie să respecte un raport prestabilit cu limita de greutate corespunzătoare. Mărfurile transportate sunt descrise, în plus, şi de profitul adus transportatorului. În cele ce urmează, precizăm pentru fiecare tip de mărfă, notat de la M 1 la M 4, datele corespunzătoare: Tip marfă Total disponibil [t] Volum [m 3 /t] Profit [$/t] M M M M Ţinând cont că avionul ne permite să stocăm mai multe tipuri de marfă într-un singur compartiment, se doreşte determinarea cantităţilor corespunzătoare fiecarui tip de marfă astfel încât profitul pentru zbor să fie maxim. (i) Să se formuleze această problemă ca una de programare liniară. (ii) Să se rezolve problema liniară rezultată la punctul (i) cu ajutorul mediului Matlab utilizând funcţia linprog şi limbajul CVX. Rezolvare. Evident, vectorul variabilelor de decizie pentru această problemă este dat de cantităţile de marfă ce trebuie alocate diferitelor compartimente. Din moment ce putem stoca mai multe tipuri de marfă într-un singur compartiment, avem posibilitatea de a stoca între 1 şi 4 tipuri de marfă în fiecare compartiment. Astfel, avem următoarea variabilă de decizie: x = [x 11 x 12 x 13 x 14...x 34 x 44 ] T = {x ij } 1 i 3,1 j 4, unde x R 12, indicele i = 1,...,3 reprezintă numărul compartimentului, iar j = 1,...,4 reprezintă tipul de marfă. Funcţia obiectiv este liniară f(x) = c T x definită: c = [ ] T. Pe de altă parte, formularea constrângerilor în formă standard presupune: - constrângerea cantităţii disponibile per tip de marfă (nu putem livra mai mult decât este disponibil). Constrângerile în acest caz au forma: x 11 + x 21 + x pentru primul tip de marfă, x 12 + x 22 + x pentru al doilea tip ş.a.m.d; - limitarea masei totale dintr-un compartiment la o cantitate maximă

106 106 Capitolul 5. Probleme de optimizare constrânsă admisă, i.e. x 11 +x 12 +x 13 +x 14 10, x 21 +x 22 +x 23 +x etc; - volumul încărcăturilor este limitat la o anumită valoare în fiecare compartiment, i.e. 0.48x x x x , 0.48x x x x etc; - prin definiţia de pozitivitate a masei restricţionăm cantităţile din fiecare marfă la valori nenegative: x 0; - secţiunea din enunţ: încărcăturile din compartimente trebuie să aibă acelaşi raport cu limitele lor de greutate furnizează o serie de constrângeri de egalitate: 1 10 (x 11 +x 12 +x 13 +x 14 ) = 1 16 (x 21 +x 22 +x 23 +x 24 ) 1 16 (x 21 +x 22 +x 23 +x 24 ) = 1 8 (x 31 +x 32 +x 33 +x 34 ). În final, formularea de programare liniară este definită astfel: max ct x x R 12 s.l.: Ax = b, Cx d, unde parametrii A R 2 12 şi b R 2 cuprind constrângerile de egalitate, iarceledeinegalitatesuntcuprinseîncx dundec R şib R 22. (ii) Pentru simplitate, furnizăm doar codul în limbaj CVX pentru rezolvarea acestei probleme, deoarece sintaxa rezolvării cu funcţia Matlab linprog este evidentă din apelarea comenzii helplinprog : cvx_begin variable x(12,1) maximize ((c )*x) subject to A*x=b C*x<=d x>=0 cvx_end Calcularea proiecţiei ortogonale a unui punct pe o mulţime convexă Exemplul 20. Pentru fiecare din următoarele mulţimi convexe, să se calculeze proiecţia ortogonală a punctului asociat utilizând CVX:

107 5.2. Probleme rezolvate de laborator 107 (i) B = {x R 2 : x 2}, x 0 = [ ] 3 ; 1 (ii) E = {x R 2 : (x c) T P 1 (x c) 1}, unde P = [ ] [ ] 1 4, x 1 0 = ; 4 [ ] 25 0,c = 0 16 [ ] 0 (iii) T = {x R 3 I3 : Ax b}, unde A = 1 T,b = , x 0 = Să se figureze grafic mulţimile, punctele asociate şi proiecţiile ortogonale ale acestor puncte. Rezolvare. În general, calculul proiecţiei ortogonale unui punct a 0 pe o mulţime X se realizează prin rezolvarea următoarei probleme de optimizare: [a 0 ] (In,X) = argmin x a 0 2. (5.3) x X (i) Secvenţa de cod CVX ce calculează proiecţia [x 0 ] (In,B) unui punct x 0 pe mulţimea B R 2 (vezi Fig. 5.1) este dată în cele ce urmează: x0=[3;1]; cvx_begin variable xb(2); minimize (xb *xb-2*xb *x0+x0 *x0) subject to norm(xb)<=2; cvx_end Observând că mulţimea B este de tip bilă cu rază 2 şi centrul în origine, reprezentarea grafică este realizată prin: %Mai intai gasim mai multe puncte din bila: [x1,x2]=meshgrid(-2:0.1:2,-2:0.1:2); z=sqrt(x1.^2+x2.^2); d=(z<=2); ball1=[]; ball2=[]; for i=1:size(d,1) for j=1:size(d,2); if(d(i,j)==1)

108 108 Capitolul 5. Probleme de optimizare constrânsă end end end ball1=[ball1; x1(i,j)]; ball2=[ball2; x2(i,j)]; Mai departe, trasăm grafic toate elementele obţinute: figure(1) hold on axis([ ]); scatter(ball1,ball2, + ); plot(x0(1),x0(2), ro, LineWidth,2); plot(xb(1),xb(2), r+, LineWidth,2); legend( Bila B, x_0, x_b );hold off; 4 3 Bila B x 0 x B Figura 5.1: Proiecţia unui punct exterior pe mulţime tip bilă. (ii) Observăm ca mulţimea E R 2 este un elipsoid definit de matricea P şi centrat în punctul (1, 1). Codul CVX pentru determinarea proiecţiei punctului x 0 pe mulţimea E (vezi Fig. 5.2), este redat de următoarea secvenţă: Pinv=inv([25 0; 0 16]); x0=[-4;-4]; xc=[1;1]; cvx_begin variable xe(2); minimize(xe *xe-2*xe *x0+x0 *x0) subject to (xe-xc) *Pinv*(xE-xc)<=1; cvx_end Trasarea grafică a mulţimii E este realizată de secvenţa de cod:

109 5.2. Probleme rezolvate de laborator 109 [x1,x2]=meshgrid(-6:0.1:6,-6:0.1:6); y=pinv*xc; const=xc *Pinv*xc; z=x1.^2*pinv(1,1)+x2.^2*pinv(2,2)+2.*x1.*x2*pinv(1,2)-... 2*(x1*y(1)+x2*y(2))+const; d=(z<=1); ellipse1=[]; ellipse2=[]; for i=1:size(d,1) for j=1:size(d,2); if(d(i,j)==1) ellipse1=[ellipse1; x1(i,j)]; ellipse2=[ellipse2; x2(i,j)]; end end end figure(1) hold on axis([ ]); scatter(ellipse1,ellipse2, + ); plot(x0(1),x0(2), ro, LineWidth,2); plot(xe(1),xe(2), r+, LineWidth,2); legend( Elipsoidul E, x_0, x_e ); hold off; 6 Elipsoidul E x 0 x E Figura 5.2: Proiecţia unui punct exterior pe mulţime tip elipsoid. (iii) Calcularea proiecţiei unui punct x 0 pe mulţimea politopică T (vezi Fig. 5.3) utilizând CVX se realizează în mod asemănător: A=[-eye(3); ones(1,3)]; b=[zeros(3,1);1]; x0=[1;1;1]; cvx_begin variable xt(3,1); minimize (xt *xt-2*xt *x0+x0 *x0) subject to A*xT<=b;

110 110 Capitolul 5. Probleme de optimizare constrânsă cvx_end Figura 5.3: Proiecţia unui punct exterior pe mulţime tip politop. Pentru a facilita reprezentarea grafică, observăm că mulţimea T poate fi reprezentată ca acoperirea convexă a vârfurilor (vertex) sale. Astfel, obţinându-se proiecţia x T a punctului x 0 pe mulţimea T, reprezentarea grafică se realizează prin următoarea secvenţă de cod: x=[1; 0; 0; 0]; y=[0 ; 1; 0 ; 0]; z=[0 ; 0; 1; 0]; figure(1) hold on tetramesh(tesselation,[x(:) y(:) z(:)]); x0hp = plot3(x0(1),x0(2),x0(3), ro ); set(x0hp, markersize, 10); xthp = plot3(xt(1),xt(2),xt(3), r+ ); plot3(points(1,:),points(2,:),points(3,:), r-- ); set(xthp, markersize, 10); cameramenu; grid; hold off

111 5.2. Probleme rezolvate de laborator Metoda Gauss-Newton Exemplul 21. Considerăm următoarea problemă de optimizare constrânsă: n max x i ln(x i ) x R n s.l.: i=1 n x i = 1, i=1 n x i c i = m, i = 1,2,...,n, i=1 unde c i şi m sunt valori cunoscute. Sistemul KKT al acestei probleme este definit de un sistem neliniar de ecuaţii F(y) = 0, unde vectorul y este compus din variabila primală x şi multiplicatorii Lagrange µ asociaţi constrângerilor de egalitate, i.e. [ ] x y = µ Rezolvarea sistemului KKT poate fi abordată prin două metode: (i) metoda Gauss-Newton; (ii) metoda Newton clasică. Să se rezolve problema anterioară în Matlab prin aplicarea celor două metode enumerate. Rezolvare. Metoda Gauss-Newton este o metodă destinată rezolvării de probleme CMMP neliniare, i.e. de exemplu: 1 min y R n 2 F(y) 2, (5.4) a cărei soluţie rezolvă sistemul de ecuaţii F(y) = 0 în sens CMMP. Procedura urmată de metoda Gauss-Newton presupune ca într-un punct dat y k la iteraţia k, F(y) este liniarizat: F(y) F(y k )+J(y k )(y y k ), unde J(y) este Jacobianul lui F(y). La următoarea iteraţie, y k+1, poate fi determinată ca o soluţie a problemei liniare aproximative: y k+1 = argmin y R n 1 2 F(y k)+j(y k )(y y k ) 2.

112 112 Capitolul 5. Probleme de optimizare constrânsă Pentru simplitatea expunerii, renotăm J(y k ) cu J k, iar în loc de F(y k ) folosim F k. Dacă presupunem că J T k J k este inversabilă, atunci rezultă iteraţia metodei Gauss-Newton definită de: 1 y k+1 = argmin y R n 2 F k +J k (y y k ) 2 1 = y k +argmin d R n 2 F k +J k d 2 = y k (Jk T J k) 1 Jk T F k. Astfel, în cazul particular în care x R 3, punctul iniţial este dat de x 0 = [ ]T, m = 6 şi c = [3 6 9] T, scriem funcţia Matlab auxiliară cu sintaxa[f,j]=fgauss(y,c,m) ce returnează în F şi J valoarea vectorului F(y) şi a Jacobianului J(y). Utilizăm criteriul de oprire F(y) < ǫ, unde ǫ este toleranţă prestabilită. Astfel, codul Matlab corespunzător implementării metodei Gauss-Newton este: function y=gauss_newt x0=[1/9; 3/7; 3/10]; c=[3;6;9];mu1=0; mu2=0; y=[x0;mu1;mu2]; eps=0.0001;m=6; [F,J]=Fgauss(y,p,m); while(norm(f)>eps) y=y-(j *J)^(-1)*J *F; [F,J]=Fgauss(y,p,m); end În Fig. 5.4 observăm descreşterea lui F(y). 1.4 F(y ) k k Figura 5.4: Evoluţia F(y) pentru metoda Gauss-Newton. Implementarea metodei Newton clasice o lăsăm ca exerciţiu cititorului.

113 5.2. Probleme rezolvate de laborator Metoda gradientului proiectat Exemplul 22. Fie problema de optimizare: min x R 2 (x 1 x 2 ) 2 +6(x 1 x 2 ) 4 +4x 1 +8x 2 s.l.: 4x 1 +3x 2 5, 2x 1 +x 2 3, x 1 +x 2 = 3. Să se rezolve problema în Matlab cu metoda gradientului proiectat. Rezolvare. Metoda gradient proiectat presupune proiecţia ortogonală a unui punct auxiliar (definit de deplasarea în direcţia antigradientului) pe mulţimea constrângerilor notată cu X, i.e. x k+1 = [x k α k f(x k )] (In,X), unde α k poate fi ales de exemplu prin metoda backtracking. Definiţia proiecţiei ortogonale a unui punct y pe o mulţime X, notată [y] (In,X) este dată de soluţia problemei: 1 [y] (In,X) = argmin x 2 x y 2 (5.5) s.l.: x X. În general, proiecţia pe mulţimea descrisă de: X = {x R n : Ax b,cx = d}, se realizează observând formularea echivalentă a problemei (5.5): min 2 xt I n x (x k ) T x s.l.: Ax b, Cx = d, x 1 ce poate fi abordată, de exemplu, cu funcţia quadprog din Matlab. În cazul particular prezentat, mulţimea constrângerilor este definită de: X = { x R 2 : 4x 1 +3x 2 5,2x 1 +x 2 3,x 1 +x 2 = 3 } Creăm funcţiile auxiliare: [f,g]=f_proj(x) f=phi_proj(alpha,x,d),

114 114 Capitolul 5. Probleme de optimizare constrânsă unde prima funcţie returnează f(x) şi f(x), iar cea de-a doua returnează f(x+αd). Pentru criteriul de oprire, vom folosi x k x k < ǫ, unde x k este vectorul x k α k f(x k ) proiectat pe mulţimea constrângerilor. Astfel, codul Matlab pentru implementarea metodei gradientului proiectat este: function x=projected_gradient(x0,eps) x=x0; %Multimea constrangerilor este poliedru %definit de matricele si vectorii A=[4 3; 2 1]; b=[5;-3]; C=[1 1]; d=3.5; xbar=x0+1; alpha2=0.5; while (norm(xbar-x)>=eps) [f,g]=f_proj(x); alpha=fminsearch(@(alpha) phi_proj(alpha,x,-g),1); grad_step=x-alpha*g; xbar=quadprog(2*eye(2),-2*grad_step,a,b,c,d); x=x+alpha2*(xbar-x); end În Fig. 5.5 observăm punctele obţinute de metoda gradientului proiectat, pornind din x 0 = [ 5 2] x x 1 Figura 5.5: Puncte obţinute de metoda gradientului proiectat.

115 5.3. Probleme rezolvate de seminar Probleme rezolvate de seminar Problema duală, condiţii şi puncte Karush-Kuhn- Tucker Problema 1. Fie problema de optimizare: min x R 2 Ax s.l: x 1 1, e x 1+x 2 = 1, (a T x b) 2 1, [ ] 2 1 unde A =, a = [3 4] 1 2 T şi b = 1. Să se scrie această problemă de optimizare în formă LP explicită. [ ] a T Rezolvare. Dacă considerăm matricea A = 1 şi definiţia normei infinit, atunci funcţia obiectiv se poate scrie drept: [ ] Ax = a T 1 { x = max a T 1 x, a T 2x }. a T 2 Introducem o variabilă artificială t pentru a muta funcţia obiectiv în constrângeri, obţinându-se astfel o problemă echivalentă cu cea originală: min x R 2,t R t s.l: a T 1x t, a T 2x t, x a T 2 x 1 1, e x 1+x 2 = 1, (a T x b) 2 1. Din definiţia modulului, observăm că putem scrie primele două constrângeri drept: { t a T 1 x t t a T 2 x t a T 1x t a T 2 x t a T 1 x t a T 2 x t [ ] A x t1 A 4 unde 1 4 este vectorul de dimensiune 4 cu toate elementele egale cu 1. Dacă introducem două variabile adiţionale s 1, s 2, şi ne reamintim

116 116 Capitolul 5. Probleme de optimizare constrânsă definiţia normei 1, putem atunci rescrie constrângerea x 1 1 drept: s 1 +s 2 1 x 1 1 x 1 + x 2 1 x 1 s 1 x 2 s 2 Observăm acum faptul că egalitatea e x 1+x 2 = 1 se reduce simplu la x 1 + x 2 = 0, iar constrângerea (a T x b) 2 1 se reduce la: { 1 a T a T x b 1 x b 1 a T x+b 1 Luând astfel o variabilă de decizie z = [t x 1 x 2 s 1 s 2 ] T, problema noastră originală se poate rescrie ca un LP: min ct z z R 5 s.l A z z = b z C z z d z unde c = [ ] T, A z = [ ] şi b z = 0, iar C z = şi d z = Problema 2. Fie problema de optimizare următoare: min x R n x 1 s.l.: Ax = b.

117 5.3. Probleme rezolvate de seminar 117 (i) Arătaţi că această problemă se poate reformula ca una de programare liniară. (ii) Aduceţi problema la forma de programare liniară (LP) standard. (iii) Determinaţi problema duală corespunzătoare. Rezolvare. (i) Utilizând definiţia normei 1 obţinem reformularea: n x i min x R n i=1 s.l.: Ax = b. Mai departe, folosim procedura de reformulare a unei probleme de optimizare generale într-o problemă cu funcţie obiectiv liniară, coborând în constrângeri componentele sumei: min x,t R n n i=1 t i s.l.: x i t i, i = 1,...,n, Ax = b. Din definiţia modulului rezultă echivalenţa inegalităţii y t cu t y t. Aplicând în problema noastră această transformare obţinem o problemă de programare liniară: min x,t R n n i=1 t i s.l.: x i t i, i = 1,...,n, x i t i, i = 1,...,n, Ax = b, (ii) Forma standard a problemelor de programare liniară este definită de: min x R ct x n s.l.: Ax = b, x 0. Pentru a aduce problema de la punctul (i) la forma standard, introducem un set de variabile virtuale, rescriind fiecare variabilă de decizie din problema de optimizare iniţială: x i = x + i x i, unde x+ i 0,x i 0.

118 118 Capitolul 5. Probleme de optimizare constrânsă În plus, reformulăm inegalităţile în următorul mod: t i x i = s 2i 1, unde s 2i 1 0, t i +x i = s 2i, unde s 2i 0, i = 1,...,n. Cu ajutorul acestei reformulări obţinem o problemă de programare liniară în formă standard: min x +,x,t R n,s R 2n n i=1 t i s.l.: t i x i = s 2i 1, t i +x i = s 2i, i = 1,...,n, A(x + x ) = b, unde x + = [x x + n ]T,x = [x 1...x n ]T. Mai compact avem: s 0,x + 0,x 0,t 0. min ct z z R 5n s.l.: Dz = d z 0, x + [ ] unde z = x M t, D =,M R N m 5n,N R 2n 5n. s (iii) Pentru a determina problema duală, calculăm Lagrangianul asociat problemei primale: n L(x,t,λ,µ +,µ ) = t i +λ T (Ax b)+µ +T (t x) µ T (t+x) i=1 = (e+µ + µ ) T t µ +T x µ T x+λ T (Ax b) = (e+µ + µ ) T t+ ( A T λ µ + µ ) T x λ T b, unde vectorul e are componentele egale cu 1. Obţinem funcţia duală prin minimizarea Lagrangianului în raport cu variabilele primale: q(λ,µ +,µ ) = min x,t R n(e+µ+ µ ) T t+ ( A T λ µ + µ ) T x λ T b.

119 5.3. Probleme rezolvate de seminar 119 Observând că q(λ,µ +,µ ) ia valori finite doar în cazul în care e+µ + µ = 0 A T λ µ + µ = 0, aceste relaţii au rolul de constrângeri în componenţa problemei duale. În concluzie, problema duală asociată problemei din enunţ este dată de: max λt b λ,µ +,µ e+µ + µ = 0 A T λ µ + µ = 0 µ + 0,µ 0. Remarca 3. Observaţi că problema din enunţ reprezintă proiecţia ortogonală a punctului 0 pe subspaţiul Ax = b, în raport cu norma 1. Problema 3. Fie problema de programare liniară: min x 1,x 2 50x 1 +80x 2 s.l.: 3x 1 6, 2x 1 +4x 2 10, 2x 1 +5x 2 8, x 1 0,x 2 0. Determinaţi problema duală corespunzătoare. Rezolvare. Pentru o expunere simplă notăm funcţia obiectiv şi constrângerile problemei precedente după cum urmează: min c T x x 1,x 2 s.l.: Ax b, x 0, [ ] unde c =, A = 2 4,b = 10. În continuare, observăm că Lagrangianul problemei este dat de relaţia: L(x,λ 1,λ 2 ) = c T x+λ T 1 (Ax b) λt 2 x, unde λ 1 R 3, λ 1 = [λ 1 1 λ 2 1 λ 3 1 ]T, iar λ 2 R 2.

120 120 Capitolul 5. Probleme de optimizare constrânsă Funcţia duală q(λ 1,λ 2 ) = min x R 2 ( c+a T λ 1 λ 2 ) x λ T 1 b ia valori finite atunci când c+a T λ 1 λ 2 = 0. De aceea, impunând această constrângere variabilelor duale, rezultă problema duală: sau echivalent, max λt λ 1 R 3,λ 2 R 2 1 b s.l.: c+a T λ 1 λ 2 = 0, λ 1 0,λ 2 0, max λt λ 1 R 3,λ 2 R 2 1 b s.l.: c+a T λ 1 0, λ 2 0. Mai exact, substituind valorile parametrilor obţinem: max λ 1 R 3,λ 2 R 2 6λ λ λ 3 1 s.l.: 3λ λ2 1 +2λ3 1 50, 4λ λ , λ 2 0. Problema 4. Numeroase probleme din statistică, învăţare automată, recunoaştere de imagini/feţe, presupun clasificarea de obiecte sau imagini prin determinarea unui model matematic capabil să recunoască şi să încadreze într-o clasă o instanţă nouă de obiect/imagine. Una dintre cele mai renumite tehnici de recunoaştere/clasificare este SVM (Support Vector Machine), ce se formulează sub forma unei probleme pătratice de optimizare: min a R n,b R 1 2 a 2 s.l.: c i ( a T y i b ) 1, i = 1,...,m. Variabilele de decizie a, b reprezintă parametrii unui hiperplan de separare a claselor de obiecte/imagini, aşa cum se observă în Fig. 5.6 (vezi [1]). Să se determine problema duală.

121 5.3. Probleme rezolvate de seminar 121 Figura 5.6: Hiperplan de separare a două clase de obiecte. Rezolvare. Lagrangianul problemei este dat de relaţia: L(x,λ) = 1 2 a 2 n [ λ i ci (a T y i b) 1 ]. i=1 Forma explicită a funcţiei duale: 1 q(λ) = min a R n,b R 2 a 2 n [ λ i ci (a T y i b) 1 ], i=1 este definită de condiţiile de optimalitate de ordin I: a n c i λ i y i = 0, i=1 n c i λ i = 0. i=1 Ambele relaţii se obţin din derivarea Lagrangianului în raport cu a, respectiv cu b, anularea expresiei rezultate şi egalarea cu 0. Deoarece a doua egalitate asigură că funcţia duală ia valori finite, aceasta devine o constrângere necesară a problemei duale. De aceea, prin substituirea valorii optime a în expresia Lagrangianului avem: q(λ) = 1 n n n 2 c i λ i y i 2 λ i c i c j λ j (yi T y j )+ i=1 i=1 i=1 j=1 = 1 n n 2 c i λ i y i 2 c i λ i y i 2 + = 1 n 2 c i λ i y i 2 + i=1 i=1 i=1 n λ i, n i=1 λ i n i=1 λ i

122 122 Capitolul 5. Probleme de optimizare constrânsă putem obţine problema duală asociată, care observăm că este concavă: max 1 n n λ R m 2 c i λ i y i 2 + λ i s.l.: i=1 i=1 n c i λ i = 0, λ i 0, i = 1,...,n. i=1 Utilizând notaţiile λ = [λ 1...λ m ] T,c = [c 1...c m ] T,e = [1...1] T şi observând forma pătratică a problemei duale obţinem reformularea: max λ R m 1 2 λt Qλ e T λ s.l.: c T λ = 0, λ 0, unde matricea Q R n,q = Q T, are elementele Q ij = c i c j a T i a j. Problema 5. Fie problema celor mai mici pătrate (CMMP), ce presupune calculul unei soluţii corespunzătoare unui sistem liniar de ecuaţii subdeterminat. Se observă uşor că problema se reduce la determinarea unui vector de normă minimă ce satisface sistemul liniar studiat: 1 min x R n 2 x 2 s.l.: Ax = b, unde A R m n,b R m. Să se calculeze problema duală a problemei de minimizare. Rezolvare. Deoarece problema de minimizare prezintă doar constrângeri de tip egalitate, definim Lagrangianul: L(x,µ) = 1 2 xt x+µ T (Ax b). Astfel, funcţia duală este dată de soluţia problemei următoare: 1 q(µ) = min x R n 2 xt x+µ T (Ax b). Se obţine uşor soluţia x = A T µ. Substituind în problema precedentă, obţinem funcţia duală pătratică concavă: q(µ) = 1 2 µt AA T µ µ T b.

123 5.3. Probleme rezolvate de seminar 123 În concluzie, problema duală poate fi formulată ca o problemă pătratică convexă: q = max µ R m 1 2 µt AA T µ µ T b. Mai mult decât atât, din condiţiile de optimalitate ale problemei duale avem: q(µ) = AA T µ b = 0. În cazul în care rang(a) = m, obţinem µ = (AA T ) 1 b şi x = A T (AA T ) 1 b, cu remarca importantă că x este soluţia clasică CMMP. Problema 6. Fie problema de optimizare: 1 min x R n 2 xt x s.l.: Ax b, unde A R m n, iar rang(a) = m. Să se determine problema duală şi punctul de optim. Rezolvare. Pentru determinarea problemei duale calculăm Lagrangianul problemei primale: L(x,λ) = 1 2 xt x+λ T (Ax b). De asemenea, funcţia duală este dată de: 1 q(λ) = min L(x,λ) = min x Rn x R n 2 xt x+λ T (Ax b). Deoarece funcţia obiectiv a acestei probleme este convexă, condiţiile de optimalitate de ordin I sunt suficiente pentru determinarea optimului x (λ) = A T λ, iar prin substituţia în q(λ) obţinem: q(λ) = 1 2 λt AA T λ+λ T (A( A T λ) b) = 1 2 λt AA T λ λ T b. În final, problema duală este definită de: q = max λ 0 q(λ) ( := 1 ) 2 λt AA T λ λ T b. (5.6)

124 124 Capitolul 5. Probleme de optimizare constrânsă Dacă matricea A are rangul maxim (implicit AA T inversabilă şi pozitiv definită), observăm că soluţia problemei (5.6) este dată de: λ = argmin λ AT λ+a T (AA T ) 1 b 2 2 = argmin 1 λ 0 2 AT (λ+(aa T ) 1 b) 2 2. În concluzie, observăm un compromis între problema primală şi cea duală: în cazul problemei primale funcţia obiectiv are o formă foarte simplă, iar constrângerile reprezintă dificultatea centrală; în cazul problemei duale, funcţia obiectiv este relativ complicată, iar constrângerile au formă simplă. Problema 7. Fie problema de optimizare constrânsă: min x R ct x n s.l. n x i lnx i i=1 n x i = 1, x 0, i=1 unde c R n. (i) Să se determine dacă problema este convexă. (ii) Să se determine un punct KKT pentru această problemă. Rezolvare. (i) Pentru a determina convexitatea problemei, observăm în primul rând că toate constrângerile sunt liniare, deci mulţimea constrângerilor este convexă. În cazul funcţiei obiectiv însă, calculăm matricea Hessiană: 1 x x f(x) = x n şi observăm că este negativ semidefinită pe tot domeniul de definiţie al funcţiei obiectiv domf = R n +. În concluzie, funcţia obiectiv este concavă, rezultând o problemă de optimizare neconvexă. (ii) Indicăm o procedură relativ inedită pentru determinarea unui punct KKT. Şi anume, folosim structura problemei observând condiţiile de optimalitate de ordin I: c i lnx i 1 = 0, i = 1,...,n.

125 5.3. Probleme rezolvate de seminar 125 Aceste condiţii furnizează punctul de optim neconstrâns definit de componentele x i = e ci 1. Dacă proiectăm punctul de optim neconstrâns pe hiperplanul: { } n H = x R n : x i = 1 i=1 obţinem vectorul y definit de componentele: y i = e c i 1 0, n j=1 ec j 1 i y i = 1. În final, verificăm dacă y obţinut satisface următorul sistem KKT: c i lnyi 1+λ i +µ = 0, n yi = 1, y i 0, i=1 λ i 0, = 0,i = 1,...,n. λ i y i Observând că y i > 0 atunci condiţiile de complementaritate impun λ i = 0pentruoricei = 1...n. Deasemenea, condiţiadeoptimalitatec i (c i 1)+ln n j=1 ec j 1+µ = 0estesatisfăcutădacăimpunemµ = ln j ec j. În aceste condiţii, y satisface condiţiile KKT, fiind un punct staţionar pentru problema din enunţ. Problema 8. Fie problema de minimizare: min x 1,x 2 R x 2 s.l.: 1 x 2 1 x (i) Determinaţi punctele KKT pentru această problemă. (ii) Găsiţi punctele de minim strict locale. Rezolvare. (i) Funcţia Lagrange corespunzătoare funcţiei obiectiv are următoarea formă: L(x,µ) = x 2 +λ(x 2 1 +x2 2 1).

126 126 Capitolul 5. Probleme de optimizare constrânsă DerivândLagrangianul înfuncţiedevariabilele x 1 şi x 2 rezultă următorul sistem KKT asociat problemei: 2λx 1 = 0 1+2λx 2 = 0 x 2 1 +x λ 0 λ(x 2 1 +x 2 2 1) = 0. Prima relaţie λx 1 = 0 impune x 1 = 0 sau λ = 0. Constatăm uşor că pentru λ = 0, sistemul nu are soluţie. De aceea, din x 1 = 0 avem x 2 = 1 şi substituind în constrângerea de tip inegalitate obţinem: 2λ 1 4λ λ Din moment ce λ 0, avem λ 1. Iar din relaţia de complementaritate 2 avem: λ 4λ 2 = 0 λ = 1 4λ 2 2. În concluzie, [ ] x 2 = 1, iar punctele KKT în acest caz sunt definite de: 0 x = şi λ 1 = 1. 2 (ii) Pentru a arăta că punctul KKT găsit este punct de minim, calculăm mai întâi planul tangent: M = { d: g j (x ) T d = 0 j A(x ) } unde A(x ) = {j : g j (x ) = 0}. Evident pentru x = [0 1] T, constrângerea noastră g(x ) = (x 1 )2 + (x 2 )2 1 = 0, deci este activă, iar λ = 1 0. Gradientul funcţiei de constrângere este: 2 [ ] 2x1 g(x) = (5.7) 2x 2 iar g(x ) = [0 2] T. Astfel, planul tangent este: M = { d R 2 : d 2 = 0 } Pentru ca x să fie punct de minim strict, atunci 2 x L(x,λ ) trebuie să fie pozitiv definită pe M. Printr-un calcul simplu, observăm că: [ ] [ ] 2λ 2 x L(x,λ ) = 0 2λ = 0 1

127 5.3. Probleme rezolvate de seminar 127 Deci pentru d M avem: d T 2 x L(x,λ )d = d 2 1 > 0 şi concluzionăm că x = [0 1] T este punct de minim strict local. Problema 9. Fie problema de optimizare constrânsă: 1 min x R 2 2 (x2 1 +x2 2 ) s.l (x 1 +x 2 1) 2 = 0 (i) Să se arate că problema este convexă. (ii) Să se rezolve sistemul KKT asociat problemei. Verificaţi dacă punctul obţinut este punct de minim global. Rezolvare. (i) Funcţia obiectiv se formulează matriceal f(x) = 1 2 xt I 2 x. Observăm că Hessiana acesteia este pozitiv definită, deci funcţia obiectiv este convexă. Pe de altă parte, constrângerea (x 1 + x 2 1) 2 = 0 este evident echivalentă cu egalitatea liniară x 1 +x 2 1 = 0. Deoarecesingura constrângere este liniară, avem că mulţimea fezabilă este convexă. (ii) Derivând Lagrangianul asociat problemei: L(x,µ) = 1 2 (x2 1 +x 2 2)+µ(x 1 +x 2 1) obţinem sistemul KKT: x 1 +µ = 0 x 2 +µ = 0 x 1 +x 2 1 = 0 din care rezultă µ = 1 2 şi x 1 = x 2 = 1 2. Pentru a verifica dacă x este punct de minim strict local, atunci calculăm mai întâi planul tangent M = { d R 2 : h(x )d = 0 } = { d R 2 : d 1 +d 2 = 0 }. (5.8) Remarcând că: d T 2 f(x )d = d 2 1 +d2 2 > 0, d M, concluzionăm că x este punct de minim global strict.

128 128 Capitolul 5. Probleme de optimizare constrânsă Problema 10. Fie următoarea problemă: min x R 3 f(x): = 1 2 (x2 1 +x2 2 +x2 3 ) s.l g 1 (x): = x 1 +x 2 +x 3 0 g 2 (x): = x 1 0. Să se găsească punctele KKT asociate. Rezolvare. Observăm că orice punct fezabil pentru această problemă este un punct regulat, iar din condiţiile ale sistemului KKT obţinem: Optimalitate x 1 +λ 1 +λ 2 = 0, x 2 +λ 1 = 0, x 3 +λ 1 = 0, Fezabilitate x 1 +x 2 +x 3 0, x 1 0, λ 1 0, λ 2 0, Complementaritate λ 1(x 1 +x 2 +x 3) = 0, λ 2 x 1 = 0. Din condiţiile de optimalitate avem x 1 = λ 1 λ 2,x 2 = λ 1,x 3 = λ 2. Substituind aceste expresii în condiţiile de complementaritate rezultă sistemul: 3(λ 1 )2 +λ 1 λ 2 = 0, (λ 2 )2 +λ 1 λ 2 = 0, ce elimină posibilităţile ca λ 1 = 0,λ 2 > 0 sau λ 1 > 0,λ 2 = 0. De aceea, rămâne să verificăm cazurile când λ 1 > 0,λ 2 > 0 sau λ 1 = 0,λ 2 = 0. Primul din cazurile rămase nu este posibil deoarece x 1 = λ 1 λ 2 şi a doua condiţie de complementaritate nu este satisfăcută. În concluzie, doar punctul nul satisface condiţiile KKT. Problema 11. Fie problema de optimizare constrânsă: min x R 2 x2 1 x2 2 x 1 +x 2 0. (i) Să se determine punctele KKT; (ii) Aflaţi funcţia duală şi problema duală. Rezolvare. (i) Lagrangianul acestei probleme este definit de: L(x,λ) = x 2 1 x2 2 λ(x 1 +x 2 ),

129 5.4. Probleme propuse 129 deci sistemul KKT este dat de: x L(x,λ ) = 0, x 1 x 2 0, λ 0, λ (x 1 +x 2) = 0. Din prima ecuaţie a sistemului KKT rezultă: x 1 = λ 2, x 2 = λ 2. Înlocuind în ultima ecuaţie şi remarcând că fezabilitatea primală este satisfăcută, deducem că λ poate lua o infinitate de valori. (ii) Remarcăm o expresie neobişnuită a funcţiei duale: q(λ) = min x R2L(x,λ) = min x R 2x2 1 x 2 2 λ(x 1 +x 2 ) = 0, de aceea constatăm că problema duală nu este o problemă de optimizare propriu-zisă: max λ Probleme propuse Problema 1. Să se arate că x = [1 1/2 1] T este punctul minim global pentru următoarea problemă de optimizare: 1 min x R 3 2 xt Px+q T x+r s.l.: 1 x i 1, i = 1,2,3, unde P = , q = 14.5, r = Problema 2. Să se determine condiţiile necesare şi suficiente în cea mai simplă formă pentru ca x R n să reprezinte punctul de optim corespunzător unei funcţii convexe diferenţiabile f peste mulţimea de

130 130 Capitolul 5. Probleme de optimizare constrânsă tip simplex, i.e.: {x : n x i = 1,x i 0, i = 1,...,n}. i=1 Problema 3. Să se înlocuiască funcţia obiectiv din problema 1 (Probleme rezolvate) cu x şi să se rezolve noua problemă. Problema 4. Să se determine sistemul KKT pentru următoarea problemă de optimizare: min x R 2 x2 1 +x2 2 s.l (x 1 1) 2 +(x 2 1) 2 1, (x 1 1) 2 +(x 2 +1) 2 1. Există multiplicatori Lagrange λ 1 şi λ 2 x este optim? care să demonstreze că punctul Problema 5. Fie problema de optimizare: min x4 x R 3 1 +x 4 2 +x 4 3 +(x 1 +2x 2 4) 2 s.l x 1 +x 2 +x 3 = 1, x 0. Să se scrie primul pas al metodei gradient proiectat, pornind din punctul iniţial x 0 = [1 0 0] T şi alegând pasul s k = 1. Problema 6. Fie problema de optimizare: min x4 x R 2 1 +x 4 2 +(x 1 1) 2 +(x 2 4) 2 s.l x 1 +x 2 = 16 Să se scrie aproximarea Taylor de ordin II pentru funcţia obiectiv şi să se scrie primul pas al metodei Newton proiectat pornind din punctul iniţial x 0 = [14 2] T. Problema 7. Fie problema de optimizare: min x2 x R s.l (x 1)(x 4) 0 Să se determine mulţimea fezabilă, punctul de minim şi valoarea minimă pentru această problemă. Să se traseze pe acelaşi grafic funcţia obiectiv,

131 5.4. Probleme propuse 131 mulţimea fezabilă, punctul de minim şi Lagrangianul L(x, λ) pentru două valori pozitive ale lui λ luate la alegere. Să se formuleze problema duală, săsedemonstreze căesteconcavăşi săsegăseascăpunctul optimdualλ. Problema 8. Considerăm problema celor mai mici pătrate cu constrângeri de egalitate: min x R n Ax b 2 2 s.l.: Cx = d unde A R m n, rang(a) = n, C R p n, cu rang(c) = p. Să se expliciteze condiţiile KKT ale acestei probleme şi să se determine expresia soluţiei primale x şi a celei duale µ. Problema 9. Fie problema de optimizare: min 3x2 x R 2 1 +x x (x 1 +x 2 +x 3 ) s.l.: x 2 1 +x2 2 +x2 3 = 1 Să se determine punctele punctele KKT pentru această problemă. Care pereche de puncte îi va corespunde punctului de optim?. Problema 10. Fie problema de optimizare: min x R n n log(c i +x i ) i=1 s.l.: x 0, n x i = 1, i=1 unde c i reprezintă parametrii cunoscuţi. (i) Să se determine problema duală. (ii) Să se determine un punct KKT.

132 Capitolul 6 Metode pentru probleme de optimizare constrânsă 6.1 Preliminarii Considerăm o problemă de optimizare NLP generală de următoarea formă: min f(x) (6.1) x Rn s.l.: g(x) 0, h(x) = 0, unde funcţia obiectiv f : R n R şi funcţiile vectoriale ce definesc constrângerile de egalitate şi inegalitate h : R n R p şi respectiv g : R n R m se presupun a fi de două ori diferenţiabile. În acest capitol vom implementa algoritmi bine cunoscuţi pentru rezolvarea acestui tip de problemă de optimizare Probleme neconvexe cu constrângeri de egalitate Considerăm mai întâi probleme în care avem doar constrângeri de egalitate neliniare: min x R n f(x) (6.2) s.l.: h(x) = 0,

133 6.1. Preliminarii 133 unde h(x) este o funcţie neliniară. Pentru acest tip de probleme vom utiliza metoda Lagrange-Newton, ce se bazează esenţial pe condiţiile KKT: x L(x,µ) = 0, h(x) = 0 L(x,µ) = 0, (6.3) unde L( ) este funcţia Lagrange. Concatenăm variabila de decizie x şi multiplicatorul Lagrange µ într-o singură variabilă y = [x T µ T ] T, iar soluţiile problemei (6.2) se găsesc printre rădăcinile sistemului neliniar de ecuaţii: [ ] x L(x,µ) F(y) = L(x,µ) = = 0. h(x) Acest sistem poate fi rezolvat prin metoda Newton: F(y k )+ F y (y k)(y y k ) = 0 şi iteraţia y k+1 = y k Dacă scriem în termeni de gradienţi avem: ( ) 1 F y (y k) F(y k ). x L(x k,µ k )+ 2 xl(x k,µ k )(x x k )+ h(x k ) T (µ µ k ) = 0 iar în formă matriceală: [ ][ ] 2 x L(x k,µ k ) h(x k ) T x xk = h(x k ) 0 µ µ k din care obţinem iteraţia Lagrange-Newton h(x k )+ h(x k )(x x k ) = 0, x k+1 = x k +d k, µ k+1 = µ k +d µ k, unde direcţiile d x k, dµ k vor fi desigur soluţiile sistemului: [ ][ ] 2 x L(x k,µ k ) h(x k ) T d x k = h(x k ) 0 d µ k [ ] x L(x k,µ k ) h(x k ) [ x L(x k,µ k ) h(x k ) Probleme convexe cu constrângeri de egalitate În cazul problemelor convexe având numai constrângeri de egalitate, i.e.: ]. min x R n f(x) (6.4) s.l.: Ax = b,

134 134 Capitolul 6. Metode pentru probleme de optimizare constrânsă se utilizează metoda Newton extinsă, după cum urmează. În mod analogic cu metoda Newton pentru probleme neconstrânse, înlocuim funcţia obiectiv cu aproximarea Taylor de ordin II: min d R n ˆf(x+d) = f(x)+ f(x) T d+ 1 2 dt 2 f(x)d s.l.: A(x+d) = b Sistemul KKT rezultat pentru problema pătratică convexă anterioară este: [ ][ ] [ ] 2 f(x) A T d f(x) = µ 0 } A {{ 0 } K }{{} l de unde obţinem direcţia d. Iteraţia metodei Newton extinse constă în x k+1 = x k +d k, unde d k este soluţia problemei pătratice precedente considerând x = x k (sau echivalent a sistemului liniar anterior). Definim acum decrementul Newton: D(x) = ( d T 2 f(x)d ) 1/2 Diferenţa dintre f(x) şi minimul aproximării pătratice este: deci D(x)2 f(x) min } {ˆf(x+d) A(x+d) = b = D(x)2, 2 reprezintă o estimare bună pentru f(x) f şi poate fi astfel 2 utilizată drept criteriu de oprire, i.e. D(x k ) ǫ pentru o precizie ǫ > 0 2 dată Probleme convexe generale Revenind la problema generală (6.1) convexă (i.e. funcţiile f şi g i sunt convexe, iar funcţia h este liniară de forma h(x) = Ax b), introducem clasa metodelor de punct interior (numite adesea şi metode tip barieră) pentru rezolvarea acestora. Presupunem că problema (6.1) este strict fezabilă, anume să existe un x încât Ax = b şi g(x) < 0. Astfel, condiţiile Slater pentru constrângeri sunt satisfăcute, iar drept urmare dualitatea puternicăareloc,i.e. existăunpunctdualformatdinλ R m şiµ R p,

135 6.1. Preliminarii 135 careîmpreună cuun x să satisfacă condiţia f(x ) = q(λ,µ ). Mai mult, condiţiile KKT au loc: f(x )+ m λ i g i(x )+A T µ = 0 i=1 g(x ) 0,Ax = b λ i g i(x ) = 0 λ 0. Metodele de punct interior rezolvă problema (6.1) sau condiţiile KKT menţionate anterior prin aplicarea metodei Newton asupra unei secvenţe de probleme cu constrângeri de egalitate, sau asupra unei secvenţe de condiţiikktmodificate. Încontinuare, neconcentrămasuprauneiastfel de metode. Ideea fundamentală ce stă la baza clasei algoritmilor de punct interior este reformularea problemei (6.1) ca o problemă cu constrângeri de egalitate, prin transferul constrângerilor de inegalitate în functia obiectiv: min x f(x)+ s.l.: Ax = b, m I ( g i (x)) i=1 unde I : R R este funcţia indicator pentru numere nepozitive: { 0,daca y 0 I (y) =,daca y > 0. (6.5) Prin această reformulare am eliminat constrângerile de inegalitate, însă apare problema majoră a nediferenţiabilităţii noii funcţii obiectiv. În acest scop, funcţia indicator I se aproximează cu una diferenţiabilă: Î (y) = τ log( y), unde τ > 0, numit şi parametru de barieră, este un parametru ajustabil pentru acurateţea aproximării. Problema noastră originală (6.1) va fi astfel aproximată cu: min x R n f(x)+τb(x) (6.6) s.l.: Ax = b,

136 136 Capitolul 6. Metode pentru probleme de optimizare constrânsă unde B(x) = m i=1 log( g i(x)) se numeşte barieră logaritmică pentru problema (6.1). Această subproblemă reprezintă o aproximare a problemei originale şi poate fi rezolvată prin metoda Newton extinsă. Notăm cu x(τ) soluţia acestei subprobleme. Menţionăm că gradientul şi Hessiana barierei logaritmice sunt date de următoarele relaţii: B(x) = 2 B(x) = m i=1 m i=1 1 g i (x) g i(x) 1 g i (x) 2 g i(x) g i (x) T + 1 g i (x) 2 g i (x). Un concept esenţial în metodele de punct interior este acela de cale centrală: punctele x(τ) se află pe calea centrală dacă sunt strict fezabile, anume satisfac constrângerile: şi există un ˆµ R p astfel încât Ax(τ) = b, g(x(τ)) < 0 f(x(τ))+τ B(x(τ))+A Tˆµ = 0. (6.7) Astfel, putem deriva o proprietate importantă a punctelor de pe calea centrală: orice punct de pe această cale produce un punct dual fezabil, şi astfel o limită inferioară a lui f. În mod specific, considerând: λ i (τ) = τ g i (x(τ)) şi µ(τ) = τˆµ se poate demonstra uşor că perechea λ(τ) şi µ(τ) este dual fezabilă. Astfel, funcţia duală q(λ(τ),µ(τ)) este finită, iar: q(λ(τ),µ(τ)) = f(x(τ))+ m λ i (τ)g i (x (t))+µ(τ) T (Ax(τ) b) i=1 = f(x(τ)) mτ. În mod particular, diferenţa de dualitate dintre f şi q, asociată cu punctul x(τ) şi perechea duală fezabilă λ(τ),µ(τ) este simplu mτ. Drept urmare, avem: f(x(τ)) f mτ, ceea ce confirmă că x(τ) converge către punctul de optim când τ 0, i.e. avem o aproximare cât mai bună a funcţiei indicator I.

137 6.2. Probleme rezolvate de laborator 137 Iteraţiile metodei de punct interior sunt definite de următorii paşi: 1. Se selectează un punct iniţial x = x 0 strict fezabil, un τ = τ 0 > 0, un σ < 1 şi o acurateţe ǫ > Cât timp mτ k ǫ repetă (a) calculează x k+1 = x(τ k ) ca soluţie a problemei (6.6), pornind din punctul iniţial x k (warm start); (b) descreşte τ k+1 = στ k. După cum observăm, pentru metoda de punct interior un aspect esenţial este selectarea unei actualizări corespunzătoare pentru τ la fiecare pas. 6.2 Probleme rezolvate de laborator Metoda Lagrange-Newton Exemplul 23. Fie problema de optimizare neconvexă: min (x 1 6) 4 +(x 1 4x 2 ) 2 x R 2 s.l.: x 2 1 +x2 2 = 1. Să se rezolve această problemă în Matlab prin metoda Lagrange-Newton. Rezolvare. Vom avea nevoie în primul rând de două funcţii: [grad_lagr_x,hess_lagr_x]=eval_lagr_x(x,mu) [h,jacob_h]=eval_h(x) care să returneze x L(x,µ) şi 2 xl(x,µ), respectiv h(x) şi Jacobianul h(x). Vom utiliza norma gradientului Lagrangianului pentru criteriul de oprire. Astfel, codul Matlab pentru algoritmul Lagrange-Newton este: x=[0;1]; n=2; mu=1; eps=0.0001; %In norm_grad vom retine norma %gradientului Lagrangianului norm_grad=1;

138 138 Capitolul 6. Metode pentru probleme de optimizare constrânsă while(norm_grad>=eps) [grad_lagr,hess_lagr]=eval_lagr(x,mu) [h,grad_h]=eval_h(x); %Formam sistemul KKT K=[hess_lagr jacob_h ; jacob_h 0] l=[-grad_lagr; -h]; %Obtinem solutia sistemului KKT si directiile pentru %x si mu sol_kkt=k\l; x=x+sol_kkt(1:n); mu=mu+sol_kkt(n+1:end); %Gradientul Lagrangianului va fi chiar -l %din sistemul KKT norm_grad=norm(-l); end În Fig. 6.1 observăm liniile de contur ale funcţiei obiectiv şi iteraţiile metodei Lagrange-Newton x x 1 Figura 6.1: Liniile de contur şi iteraţiile metodei Lagrange-Newton Metoda Newton extinsă Fie problema de optimizare convexă: min x R 2 (x 1 2) 4 +(x 1 2x 2 ) 2 s.l.: Ax = b

139 6.2. Probleme rezolvate de laborator 139 unde A = [ 1 2 ] şi b = 16. Să se rezolve această problemă prin metoda Newton pentru probleme cu constrângeri de egalitate, cu pasul constant α = 1 şi cu pasul α ideal. Rezolvare. Pentru a implementa această metodă în Matlab, vom avea nevoie de o funcţie care să returneze f(x), f(x) şi 2 f(x): [f,g,h]=newt_equal(x) şi o funcţie care să returneze f(x+αd) f=phi_newt_equal(alpha,x,d) Este impus să pornim dintr-un punct iniţial fezabil, x 0 = [10 3] T. Codul Matlab pentru metoda Newton cu constrângeri de egalitate convexe este: %Trebuie sa obtinem dimensiunile corespunzatoare matricei A [p,n]=size(a); %Folosim decrementul pentru criteriul de oprire D=1; while(d>=eps) %Evaluam functia, gradientul si hessiana [f,g,h]=newt_equal(x); %Formam sistemul KKT K=[h A ; A zeros(p,p)]; l=[-g; zeros(p,1)]; %Obtinem solutia la sistemul KKT si %extragem directia aferenta sol_kkt=k\l; d=sol_kkt(1:n); %Calculam pasul ideal si nouta iteratie alpha=fminsearch(@(alpha) phi_newt_equal(alpha,x,d),1); x=x+alpha*d; %Calculam decrementul Newton D=sqrt((d *h*d)); end În Fig. 6.2 observăm liniile de contur ale funcţiei obiectiv şi punctele obţinute din metoda Newton pentru probleme cu constrângeri de egalitate cu pasul α = 1.

140 140 Capitolul 6. Metode pentru probleme de optimizare constrânsă 10 8 x x 1 Figura 6.2: Liniile de contur şi punctele obţinute prin metoda Newton pentru probleme cu constrângeri de egalitate convexe Metoda de punct interior Exemplul 24. Fie problema de optimizare convexă: min (x 1 4) 4 +(x 1 6x 2 ) 2 x R 2 s.l.: x 2 1 +x , Ax = b unde A = [ 2 3 ] şi b = 12. Să se rezolve această problemă în Matlab prin metoda de punct interior descrisă la începutul capitolului. Să se compare rezultatul acestei metode cu rezolvarea problemei în CVX. Rezolvare. Vom utiliza metoda Newton pentru problemele cu constrângeri de egalitate (6.6) din cadrul metodei de punct interior. Astfel, vom avea nevoie din nou de funcţii care returnează ˆf(x) = f(x)+τb(x), unde B(x) este funcţia barieră, ˆf(x) şi 2 ˆf(x) şi ˆf(x+αd), precum la problema anterioară, pe care le apelăm astfel: [f,g,h]=barrier_equal(x,t) f=alpha_barrier_equal(alpha,x,d,tau) Vom porni dintr-un punct iniţial strict fezabil, x 0 = [3 2] T. Algoritmul va fi astfel format din două bucle, una internă pentru găsirea lui x (τ) cu metoda Newton, iar cealaltă externă pentru actualizarea lui τ. Codul Matlab al algoritmului va fi astfel: %Selectam parametrul initial tau, %sigma pentru actualizarea lui tau, si dimensiunile lui A

141 6.2. Probleme rezolvate de laborator 141 t=2; sigma=0.5; [p,n]=size(a); %Din moment ce este doar o %singura constrangere de inegalitate avem: m=1; %Selectam doua tolerante eps_outer si eps_inner eps_outer=0.001; eps_inner=0.01; while(m/tau>=eps_outer) D=1; %Aici avem bucla interna pentru metoda Newton while(d>=eps_inner) [f,g,h]=barrier_equal(x,tau) K=[h A ; A zeros(p,p)]; l=[-g; zeros(p,1)]; sol_kkt=k\l; d=sol_kkt(1:n); alpha=... fminsearch(@(alpha)phi_barrier_equal(alpha,x,d,tau),1); x=x+alpha*d; D=sqrt((d *h*d)) end %Actualizam tau-ul tau=tau*sigma; end În Fig. 6.3 putem observa iteraţiile obţinute de metoda de punct interior aplicată problemei din enunţ. Exemplul 25. În cadrul acestui exemplu abordăm rezolvarea unei probleme de control optimal pentru un sistem discret: z t+1 = A z z t +B u u t, (6.8) unde z t R nz reprezintă vectorul de stare al sistemului, u t R nu reprezintă vectorul de intrări ale sistemului, iar matricele A z R nz nz şi B u R nz nu descriu dinamica sistemului. În continuare, considerăm un caz particular de sistem dinamic discret des întâlnit în laboratoarele de control, şi anume pendulul invers. Acest sistem fizic este compus dintr-un cărucior de masă M = 2 kg ce alunecă unidimensional de-a lungul axei Ox pe o suprafaţă orizontală, şi un pendul format dintr-o bilă de masă m = 0.1 kg aflată la capătul unei tije de lungime l = 0.5 m considerată imponderabilă. Vectorul de stare al sistemului este z R 4, z = [z 1 z 2 z 3 z 4 ] T, unde z 1 reprezintă

142 142 Capitolul 6. Metode pentru probleme de optimizare constrânsă x x 1 Figura 6.3: Liniile de contur şi punctele obţinute prin metoda de punct interior. unghiul cu verticala θ, z 2 este viteza unghiulară, z 3 este deplasarea pe axa 0x, iar z 4 este viteza pe axa Ox. Dinamica discretă a sistemului este exprimată prin z t+1 = A z z t +B u u t unde u t R este intrarea sistemului, reprezentând o corecţie de deplasare orizontală aplicată căruciorului. Matricele dinamicilor în acest caz sunt: A z = si B u = Scopul pendulului invers este să menţinem tija suficient de aproape de verticală, anume să menţinem z 1 = θ într-un interval admisibil centrat în 0, i.e. θ min z 1 θ max, ce reprezintă constrângeri pe stare ale sistemului, unde θ max = θ min = 0.2 rad. Astfel, formulăm problema de control optimal pe un orizont finit N, cu scopul menţinerii tijei în poziţie verticală (i.e. referinţele sunt z ref t = 0 şi u ref t = 0): N 1 1 min z t,u t 2 R 0u 2 t + t=0 N k=1 s.l.: z 0 = z, z t+1 = A z z t +B u u t θ min z 1 t θ max t = 0,...,N, 1 2 zt t Q 0 z t (6.9)

143 6.2. Probleme rezolvate de laborator 143 unde z 0 este starea iniţială dată (estimată sau măsurată) a pendulului. Matricele din costurile de etapă sunt: Q 0 = I 4 şi R 0 = 10. Reformulăm problema(6.9) ca o problemă QP convexă şi apoi o rezolvăm cu unul din algoritmii prezentaţi anterior(e.g. metoda de punct interior). Rezolvare. Pentru reformularea problemei, definim o variabilă de decizie x R N(nz+nu) care să cuprindă variabilele de stare şi intrare peste întreg orizontul de predicţie, i.e: x = [ u T 0 x T 1 u T 1 z T 2... ut N 1 zt N] T. Din datele problemei (6.9) vor rezulta două tipuri de constrângeri pentru problema QP rezultată. Prima categorie de constrângeri va fi cea de egalitate, rezultată din dinamica sistemului z t+1 = A z z t + B u u t. Considerând variabila de decizie aleasă x, vom încorpora constrângerile de egalitate rezultate din dinamica sistemului peste tot orizontul de predicţie într-o constrângere Ax = b, unde matricea A R Nnz N(nz+nu) va fiformatădin componentele bloccorespunzătoare şi vectorul b R Nnz va depinde de starea iniţială a sistemului: B u I nz A z z 0 0 A z B u I nz A = , b = A z B u I nz 0 Fiecare linie de blocuri din sistemul Ax = b reprezintă satisfacerea constrângerilor rezultate din dinamici la un pas t, i.e. prima linie va asigura că z 1 = Az 0 +Bu 0 sau rescris Bu 0 +I nz z 1 = Az 0, a doua linie va asigura că Az 1 Bu 1 + I nz z 2 = 0, etc. Considerând că z R 4, constrângerea că prima componentă a vectorului de stare z t se află în intervalul corespunzător, anume θ min zt 1 θ max poate fi rescrisă ca: C z z t d z, unde C z = [ ] şi d z = [ θmax θ min Pentru întreg orizontul de predicţie vom avea Cx d, unde C şi d vor fi de forma: 0 C z d z C z 0 0 C = , d = d z C z d z ].

144 144 Capitolul 6. Metode pentru probleme de optimizare constrânsă Funcţia obiectiv a problemei QP rezultate va fi x T Qx, unde Q este bloc diagonală, formată din matricele din costurile de etapă pentru stare şi intrare, i.e.: Q = diag(r 0,Q 0,R 0,Q 0,...,R 0,Q 0 ). Problema QP finală va fi de forma: min 2 xt Qx s.l.: Ax = b, Cx d. x 1 În Matlab vom implementa două funcţii care să primească orizontul de predicţie N şi să genereze matricele şi vectorii A, b, C, d şi o funcţie principală care să rezolve problema QP finală. Problema poate fi rezolvată prin metode de punct interior. Pentru un orizont de prediţie N = 70, putem observa în Fig. 6.4 traiectoria unghiului şi comanda rezultate din problema de control optimal. Observăm că unghiul rămâne în limitele impuse [ 0.2, 0.2] radiani şi apoi după un număr de paşi (i.e. pentru t 60) se stabilizează în jurul lui unghiul (Θ) comanda (u) t t Figura 6.4: Unghiul pendulului şi comanda aferentă obţinută din problema de control optimal cu orizont de predicţie N = 70 folosind metoda de punct interior.

145 6.3. Probleme rezolvate de seminar Probleme rezolvate de seminar Metoda Newton pentru probleme constrânse Problema 1. Fie problema de minimizare neconvexă: 3 min x R 2 2 x x2 2 2x 1 +x 2 s.l.: 3x x 2 2 2x 1 = 2. Pornind din punctul iniţial x 0 = [1 0] T şi µ 0 = 1, să se aplice primul pas al metodei Lagrange-Newton. Rezolvare. Observăm că problema se poate rescrie ca o problemă QP: 1 min x R 2 2 xt Qx+q T x s.l.: h(x) = 0 unde Q = 3I 2, q = [ 2 1] T, h(x) = 3x x 2 2 2x 1 2. Se poate deduce uşor că mulţimea constrângerilor rezultată este neconvexă. Din condiţiile KKT pentru problema anterioare rezultă sistemul: F(y) = L(x,µ) = [ ] x L(x,µ) = 0 h(x) unde y = [x T µ] T. Lagrangianul problemei este definit de: L(x,µ) = 3 2 x x2 2 2x 1 +x 2 +µ(3x x2 2 2x 1 2), unde µ R, rezultând expresia gradientului său în raport cu x x L(x,µ) = Qx+q + h(x) T µ. Împreună cu Jacobianul funcţiei h(x): h(x) = [ 6x 1 2 4x 2 ], este determinată expresia operatorului F(y): 3x 1 2+6x 1 µ 2µ F(y) = L(x,µ) = 3x µx 2 3x x 2 2 2x 1 2.

146 146 Capitolul 6. Metode pentru probleme de optimizare constrânsă Mai departe, din expresia lui F(y) calculăm J acobianul acesteia: F(y) = F 3+6µ 0 6x 1 2 y (y) = 0 3+4µ 4x 2. 6x 1 2 4x 2 0 Acum, pentru y = y 0 = [1 0 1] T avem: F(y 0 ) = 1, iar F(y 0 ) = (6.10) iar inversa Jacobianului este: ( F(y 0 )) 1 4 = Astfel, prima iteraţie a metodei Lagrange-Newton va fi: ( ) 1 1 F y 1 = y 0 y (y 4 0) F(y 0 ) = = Problema 2. Fie problema de optimizare convexă: min x R 2 2x2 1 +2x2 2 +2x 1x 2 x 1 +x 2 s.l.: x 1 x 2 = 1 Să se aplice primul pas al metodei Newton extinse, pornind din punctul iniţial x 0 = [0 1] T şi pasul α 0 = 1 Rezolvare. Problema poate fi scrisă ca o problemă QP în formă standard: unde: Q = 2 f(x) = 1 min x R 2 2 xt Qx+q T x s.l.: Ax = b [ ] 4 2 0, q = 2 4 [ ] 1, A = [ 1 1 ],b = 1. 1

147 6.3. Probleme rezolvate de seminar 147 Gradientul funcţiei va fi desigur f(x) = Qx+q = iar pentru punctul nostru iniţial: f(x 0 ) = Formăm astfel sistemul KKT: [ ][ ] 2 f(x) A T d = A 0 µ [ ] 4x1 +2x 2 1, 2x 1 +4x 2 +1 [ ] 3. 3 [ f(x) care pentru punctul nostru iniţial se rezumă la: d d 2 0 = µ 0 0 [ 1 ] [ 1 ] de unde rezultă d 0 = 2 1 şi x 1 = x 0 +α 0 d 0 = Probleme de control optimal Problema 3. Fie un sistem liniar cu dinamică discretă: z t+1 = A z z t +B u u t, unde z t R nz reprezintă vectorul de stare al sistemului, u t R nu reprezintă vectorul de intrări ale sistemului, iar matricele A z R nz nz şi B u R nz nu sunt matricele ce descriu dinamica sistemului. Obiectivul problemei decontrol optimal este urmărirea referinţei z ref t 0 ], pestareşi u ref t pe intrare peste un orizont de predicţie N. Formulăm acum problema de control optimal de urmărire a referinţei pe un orizont finit N, dar cu satisfacerea unor constrângeri pe stare şi intrare, în care utilizăm funcţii de cost pe etapă pătratice: 1 min z t,u t 2 N t=1 z t z ref t 2 Q z + 1 N 1 u t u ref t 2 R 2 u (6.11) t=0 s.l.: z 0 = z, z t+1 = A z z t +B u u t, lb z z t ub z, C u u t d u,

148 148 Capitolul 6. Metode pentru probleme de optimizare constrânsă unde z t z ref t 2 Q z = (z z ref t ) T Q z (z z ref t ). Să se reformuleze această problemă ca un QP utilizând două tehnici: păstrarea vectorului stărilor şi eliminarea vectorului stărilor. Rezolvare. Considerăm două moduri de abordare(pentru detalii vezi [1]). Cazul 1: fără eliminarea stărilor În acest caz, vom defini o variabilă de decizie x R N(nz+nu) care să cuprindă variabilele de stare şi intrare peste întreg orizontul de predicţie, i.e: x = [ u T 0 z T 1 u T 1 z T 2... ut N 1 zt N] T. Din problema(6.11) vor rezulta constrângeri de egalitate şi de inegalitate. Constrângerile de egalitate vor rezulta din faptul că variabilele de stare şi intrare trebuie să respecte dinamica procesului z t+1 = A z z t +B u u t peste întreg orizontul de predicţie. Luând în calcul forma variabilei x, putem concatena aceste constrângeri într-o constrângere de forma Ax = b unde A R Nnz N(nz+nu) şi b R Nnz vor fi de forma: B u I nz A z z 0 0 A z B u I nz A = , b = A z B u I nz 0 Privind constrângerile de inegalitate, observăm că avem constrângeri de tip box pe stare şi constrângeri poliedrale pe intrare. Dorim să concatenăm toate aceste constrângeri peste întreg orizontul de predicţie într-o singură constrângere de forma Cx d. Constrângerea de tip box pentru stare poate fi rescrisă ca: [ ] [ ] I ubz z t. I }{{} C z lb z }{{} d z Matricea C şi vectorul d vor avea astfel următoarea formă: C u d u 0 C z d z C = şi d = C u 0 d u C z d z

149 6.3. Probleme rezolvate de seminar 149 În privinţa funcţiei obiectiv, putem lua un vector care să concateneze referinţele pentru stare şi intrare peste întreg orizontul de predicţie: x ref = [ (u ref 0 ) T (z ref 1 ) T... (u ref N 1 )T (z ref N )T ] T. Cu x şi x ref putem rescrie întregul cost din (7.2) sub forma: x x ref 2 Q = (x x ref ) T Q(x x ref ), în care Q R N(nz+nu) N(nz+nu) va fi de forma Q = diag(r u,q z,...,r u,q z ). Pentru a aduce în final problema la forma QP, observăm că: (x x ref ) T Q(x x ref ) = x T Qx x T Qx ref (x ref ) T Qx+(x ref ) T Qx ref = x T Qx+(Qx ref +Q T x ref ) T x+(x ref ) T Qx ref. Dacă luăm q = Qx ref + Q T x ref şi ignorând termenul constant (x ref ) T Qx ref din moment ce nu depinde de variabila x, atunci problema (7.2) poate fi rescrisă ca următorul QP: min 2 xt Qx+q T x s.l.: Ax = b, Cx d. x 1 Cazul 2: cu eliminarea stărilor Pentru a elimina stările din problema(6.11), utilizăm dinamica sistemului z t+1 = A z z t +B u u t pentru a exprima stările de-a lungul întregului orizont de predicţie: z 1 = A z z 0 +B u u 0 z 2 = A z z 1 +B u u 1 = A 2 z z 0 +A z B u u 0 +B u u 1 z 3 = A z z 2 +B u u 2 = A 3 zz 0 +A 2 zb u u 0 +A z B u u 1 +B u u 2. z N = A z z N 1 +B u u N 1 = A N z z 0 +Az N 1 B u u 0 +Az N 2 B u u A 2 z B uu N 3 +A z B u u N 2 +B u u N 1 Dacă eliminăm stările, atunci singurele variabile de decizie rămân intrările. Notăm astfel x = [u T 0...uT N 1 ]T si z = [z T 1...,zT N ]T, ecuaţiile

150 150 Capitolul 6. Metode pentru probleme de optimizare constrânsă anterioare pot fi scrise sub forma z = ABx+A p z 0, unde: B u A z B u B u AB = A 2 z B u A z B u B u A N 1 z B u A N 2 z B u A N 3 z B u A N 4 z B u... B u şi A p = Dacă rescriem constrângerile de tip box pentru stare sub forma C z z t d z, precum în cazul unde nu eliminăm stările, şi le concatenăm peste întreg orizontul de predicţie astfel încât să avem C z z d z, unde C z = diag(c z,c z,...,c z ) şi dz = [d T z d T z...d T z] T, atunci constrângerile de inegalitate pentru stare se transformă în constrângeri pentru intrare: C z z d z C z ( ABx+A p z 0 ) d z C z AB x d z A p z 0. }{{} =C x }{{} =d x Pentru constrângerile de inegalitate pentru intrare luăm C x x d x, unde matricea este C x = diag(c u,c u,...,c u ) şi d x = [dt u dt u... d T u ]T. Concatenăm acum cele două constrângeri într-un singură, Cx d, unde: [ ] [ ] C x d x C = şi d =. C x d x Privind funcţia obiectiv, definim mai întâi matricea Q = diag(q z,...,q z ) şi de asemenea R = diag(ru,...,r u ) şi apoi z ref = [(z ref ) T...(z ref ) T ] T, x ref = [(u ref ) T...(u ref ) T ] T. Atunci, observăm că funcţiile de cost pot fi rescrise: N 1 2 t=1 z t z ref 2 Q u = 1 2 z zref Q = 1 2 ABx+A p z 0 z ref Q = 1 ( x T AB T Q ABx+x T AB T QAp z 0 +z T 2 0A T Q ) p ABx 1 ( ) ( z ref ) T Q ABx+x T AB T ref Q z + termen constant. 2 De asemenea, avem N 1 1 u t u ref 2 R 2 u = 1 2 x xref R t=0 = 1 ( x T Rx (x ref ) T T Rx x Rx ref +(x ref ) T Rx ) ref. 2 A z A 2 z A 3 z. A N z.

151 6.3. Probleme rezolvate de seminar 151 Ignorând termenii ce nu conţin x şi ţinând cont că matricele Q şi R sunt simetrice, funcţia obiectiv va fi de forma f(x) = 1 2 xt Qx + q T x, unde Hessiana Q = R+ AB T Q AB, iar vectorul q este dat de expresia: q = AB T QAp z 0 AB T Q z ref Rx ref. Problema de optimizare finală va fi un QP fără constrângeri de egalitate: min 2 xt Qx+q T x s.l.: Cx d. x 1 Problema 5. Considerăm sistemul dublu integrator: [ ] ż = Āzz + B 0 1 u u, cu Āz =, Bu = 0 0 unde z 1 şi z 2 reprezintă poziţia şi respectiv viteza unui corp de masă M. Considerând M = 1, o perioadă de eşantionare t = 1 şi folosing metoda Euler de discretizare, se obţine următorul sistem liniar discret: z t+1 = A z z +B u u, cu A z = [ ], B u = Considerăm de asemenea restricţii de tip box pe intrare: şi cost pătratic pe etapă de forma: 1 u 1 [ 0 1 M [ 0 1 z t 2 Q 0, u t 2 R 0, unde Q 0 = 0.1I 2, R 0 = 1. Să se aducă problema de control optimal cu orizont de predicţie N = 2 la o problemă QP prin păstrarea stărilor şi respectiv prin eliminarea lor pornind din starea iniţială z 0 = [1 1] T. Rezolvare. Pentru această problemă observăm că referinţele pentru stări z ref t şi intrări u ref t sunt 0. Pentru cazul când păstrăm starea în variabila de decizie, avem următoarea problemă de optimizare QP convexă: min 2 xt Qx s.l.: Ax = b, Cx d, x 1 ], ].

152 152 Capitolul 6. Metode pentru probleme de optimizare constrânsă unde matricele şi vectorii corespunzători problemei sunt daţi de: u 0 Q = 0 0.1I , x = z 1 u 1 R6, I 2 z A = , b = 1 0, C = , d = Pentru cazul când eliminăm stările din variabila de decizie, avem următoarea problemă de optimizare QP convexă: u 1 1 min x R 2 2 xt Qx+q T x s.l.: Cx d, unde matricele şi vectorii corespunzători problemei sunt daţi de: AB = , A p = , C = , d = 1 1, [ ] [ ] u0 x =, Q = I 2 + AB T (0.1I 4 ) AB =, q = AB T (0.1I 4 )A p z 0 = [ ] Problema 6. Fie matricea A R m n,m n, cu rang maxim pe linii. Pentru orice matrice Q R n n, ce satisface x T Qx > 0, oricare ar fi x Ker(A),x 0, să se arate că matricea: [ ] Q A T este nesingulară (inversabilă). A 0

153 6.4. Probleme propuse 153 Rezolvare. Reamintim definiţia subspaţiului kernel(a): kernel(a) = {x R n : Ax = 0}. O formulare echivalentă a proprietăţii de inversabilitate pentru o matrice pătratică implică ca singura soluţie a sistemului: [ ] Q A T y = 0, (6.12) A 0 să fie[ vectorul ] cu elementele 0. Dacă partiţionăm soluţiile sistemului prin u y =, rămâne de arătat că singurele instanţe ale vectorilor u şi v ce v satisfac sistemul (6.12) sunt nule. Din (6.12) avem: Qu+A T v = 0, Au = 0. A doua ecuaţie indică u kernel(a). Înmulţind la stânga în prima ecuaţie cu u T obţinem: u T Qu+u T A T v = 0. (6.13) Ţinând cont că u kernel(a), iar în enunţ am presupus că u T Qu > 0, concluzionăm (6.14) este imposibil de satisfăcut pentru orice u 0. Pe de altă parte, considerând u = 0 şi v 0, prima ecuaţie a sistemului (6.12) devine: A T v = 0. (6.14) Deoarece matricea A are rang maxim pe linii, matricea A T are rang maxim pe coloane, singurul vector ce satisface A T v = 0 este v = 0. În concluzie, am arătat că singurul vector ce satisface sistemul (6.12) este vectorul nul. 6.4 Probleme propuse Problema 1. Ce se întâmplă dacă aplicăm metoda barieră următoarei probleme: min x R 2 x 2 s.l.: x 1 x 2, 0 x 2.

154 154 Capitolul 6. Metode pentru probleme de optimizare constrânsă Problema 2. Fie problema: min f(x) (= x R x2 +1) s.l.: 2 x 4. Să se găsească punctele KKT pentru această problemă, funcţia de barieră logaritmică B(x) corespunzătoare şi să se traseze grafic f(x) şi f(x)+τb pentru mai multe valori ale lui τ. Problema 3. Fie o problemă convexă de forma: min f(x) x R n s.l.: g i (x) 0 i = 1,...,m, în care g i sunt de două ori diferenţiabile. Definim funcţia de barieră m inversă φ inv (x) = 1 şi calea centrală din această funcţie g i=1 i (x) drept punctele x(t) = argmintf(x) + φ inv (x). Să se demonstreze că x tf(x) + φ inv (x) este o funcţie convexă în x, pentru orice t > 0. Să se arate de asemenea cum se poate construi o variabilă duală λ fezabilă din x(t). Problema 4. Considerăm din nou problema convexă definită în ecuaţia (6.1) la care mai adaugăm o constrângere: min x R n f(x) s.l.: g(x) 0, Ax = b, x T x r 2, unde r R, g i sunt convexe şi de două ori diferenţiabile, iar A R p n cu rang(a) = p < n. Fie B(x) funcţia de barieră logaritmică pentru această problemă. Să se găsească un α > 0 astfel încât 2 (f(x)+τb(x)) αi n pentru orice x fezabil şi τ > 0. Problema 5. Considerăm problema convexă definită în ecuaţia (6.4), unde adăugăm un termen pătratic funcţiei obiectiv: min x R n f(x)+(ax b)t Q(Ax b) s.l.: Ax = b,

155 6.4. Probleme propuse 155 unde Q 0. Este pasul metodei Newton extinse, d, acelaşi pentru această problemă modificată ca acela al problemei originale (6.4)? Problema 6. Considerăm din nou problema convexă definită în ecuaţia (6.4). Preusupunem căf(x)estededouăoridiferenţiabilăşi 2 f(x) > 0, iar Lagrangianul L(x, λ) pentru această problemă are un punct de minim unic. Să se demonstreze că dacă există un K astfel încât: [ ] 2 f(x) A T 1 K, A 0 2 atunci funcţia duală q este puternic concavă in λ, cu 2 q(λ) 1 K I p. Problema 7. Pentru problema neconvexă următoare: 5 min x R 2 2 x x2 2 +3x 1 x 2 +x 1 +x 2 s.l: x x 2 2 2x 2 = 2, să se aplice prima iteraţie a metodei Lagrange-Newton, pornind din punctul iniţial x 0 = [1 1] T şi µ 0 = 1. Problema 8. Fie problema: min x R 2 x4 1 +x4 2 +2x2 1 x2 2 s.l: x 1 +x 2 = 0, Să se găsească un punct iniţial fezabil şi să se implementeze prima iteraţie a metodei Newton extinsă cu un pas α 0 > 0 selectat la alegere. Problema 9. Fie problema: min Tr(X) logdet(x) X Rn n s.l: X 0, Xs = y, unde X R n n este variabila, y,s R n sunt date, iar s T y = 1. Observăm că funcţia B(x) = log det(x) este bariera logaritmică pentru conul matricelor pozitiv semidefinite S n +. Să se determine condiţiile KKT pentru această problemă. Să se verifice că punctul optim este: X = I +yy T 1 s T s sst.

156 156 Capitolul 6. Metode pentru probleme de optimizare constrânsă Problema 10. Pentru problema convexă: 5 min x R 2 2 x x2 2 +x 1 x 2 s.l: 4x 1 +x 2 = 16, x 2 1 +x2 2 20, aplicaţi prima iteraţie a metodei barieră pornind din punctul fezabil x 0.

157 Capitolul 7 Aplicaţii din inginerie În acest capitol prezentăm o serie de aplicaţii ale metodelor şi claselor de probleme de optimizare descrise în materialul anterior. În secţiunile ce urmează definim probleme reale din diferite domenii ale ingineriei, analizăm modelele matematice ale acestora şi în final, selectăm şi aplicăm fiecărui caz o metodă de optimizare numerică adecvată rezolvării problemei respective. 7.1 Control optimal Teoria optimizării se află în strânsă legătură cu teoria sistemelor şi controlului, ambele domenii vizând convergenţa traiectoriei\şirului generat către anumite referinţe sau puncte de optim. De aceea, multe probleme din teoria sistemelor se pot formula şi rezolva sub forma problemelor de optimizare. Dacă teoria controlului presupune analiza stabilităţii şi reglarea proceselor dinamice, controlul optimal propune în plus, realizarea celor două obiective menţinând la minimum un anumit criteriu şi satisfăcând constrângeri fizice de fezabilitate. De exemplu, dacă urmărim reglarea şi menţinerea nivelului de lichid dintr-un rezervor, trebuie să ţinem cont de debitul maxim admisibil, performanţele senzorilor de nivel, puterea pompei hidraulice etc. De aceea, procesul de reglare vizat trebuie să ia în calcul şi limitele componentelor fizice. Fie un sistem neliniar cu dinamica discretă: z t+1 = φ(z t,u t ), (7.1) în care z t R nz reprezintă vectorul de stare al sistemului, u t R nu reprezintă vectorul de intrări ale sistemului şi funcţia φ : R n R m R n

158 158 Capitolul 7. Aplicaţii din inginerie descrie dinamica sistemului. Un caz particular de sistem dinamic este cel liniar z t+1 = A z z t + B u u t, unde matricele A z R nz nz şi B u R nz nu. Considerăm de asemenea constrângeri de inegalitate liniare pe stare şi intrare, e.g. de forma: lb z z t ub z, C u u t d u t 0, unde C u R n i nz şi d u R n i. Aşa cum am precizat anterior, în general se doreşte minimizarea unui criteriu (e.g. combustibil, energie, lucru mecanic etc.) odată cu stabilizarea sistemului. Cunoscând starea iniţială z 0, definim problema de control optimal prin următoarea problemă de optimizare constrânsă: 1 min z t,u t 2 N N 1 z t z ref t 2 Q t + u t u ref t 2 R t (7.2) t=1 t=0 s.l: z 0 = z, z t+1 = φ(z t,u t ) lb z z t ub z, C u u t d u t = 0,...,N 1, unde presupunem cunoscută starea iniţială a sistemului z 0 = z şi definim z z ref 2 Q = (z zref ) T Q(z z ref ). Parametrul N se numeşte orizont de predicţie. Mai mult, presupunem că matricele Q t şi R t sunt pozitiv definite pentru oricetşi z ref t şi respectiv u ref t reprezintă anumite referinţe impuse peste orizontul de predicţie pentru starea şi intrarea sistemului. Pe scurt, problema de control optimal presupune determinarea unui şir de intrări (u t ) 0 t N 1 care, aplicate sistemului (7.1), vor conduce starea (z t ) 0 t N pe o traiectorie dorită. Se observă că problema de control optimal se poate reformula ca o problemă de optimizare (e.g. in cazul sistemului liniar avem o problemă pătratică standard, vezi capitolul anterior) şi se rezolvă cu diferite metode numerice de optimizare (e.g. metoda Lagrange-Newton, metoda de punct interior etc.) Control optimal aplicat unui robot E-Puck O aplicaţie des întâlnită, simplă şi favorabilă pentru testarea algortimilor de optimizare şi control este robotul E-Puck (vezi Fig. 7.1). Acest sistem robotic reprezintă un ansamblu electronic mobil ce suportă implementarea numerică şi experimentarea cu algoritmi de optimizare de complexitate relativ ridicată. Mai exact, structura mecanică a robotulului E-Puck este susţinută de două motoare pas-cu-pas ataşate

159 7.1. Control optimal 159 ambelor roţi, iar cea electronică este definită de următoarele componente: microcontroller dspic30 (16-bit), dispozitiv de comunicaţie Bluetooth (folosit în simularea sistemelor de tip reţea), senzori infraroşu, cameră video CMOS (rez ), senzor ultrasunete, accelerometru 3D etc. Figura 7.1: Robot e-puck. Chiar şi pentru cele mai simple probleme ce implică sisteme multi-robot, modelul matematic al unui sistem robotic este crucial în proiectarea de algoritmi numerici. În acest subcapitol considerăm un model simplificat al robotului E-Puck, şi anume cel restricţionat doar la deplasarea înainte (fără a considera posibilitatea de deplasare înapoi). Modelul dinamic simplificat este liniar, continuu şi este definit de următoarele ecuaţii: ẏ = ru ru 2 2 θ = ru 1 ru 2 2l 2l, în care y reprezintă distanţa parcursă în direcţia înainte, θ unghiul de viraj, r raza roţilor, l distanţa de la roată la centrul de greutate al robotului, iar u 1 şi u 2 reprezintă viteza unghiulară a primei roţi şi respectiv, a celei de-a doua roţi. [ Pentru ] a respecta consistenţa [ ] notaţiilor, y u1 notămstarea sistemului cuz = şi intrarea cuu =. Mai departe, θ u 2 rescrierea modelului anterior va avea următoarea formă: în care Āz = 0 R 2 2 şi Bu = ż = Āzz + B u u, [ r r 2 2 r r 2l 2l ]. În scopul efectuării de experimente numerice, discretizăm sistemul liniar continuu definit de modelul anterior. Una dintre metodele cele mai vechi şi mai simple este

160 160 Capitolul 7. Aplicaţii din inginerie metoda Euler de discretizare, ce presupune aproximarea derivatei unei funcţii diferenţiabile f(t) cu următoarea expresie: df f(t+ t) f(t) (t), dt t unde intervalul t se determină în funcţie de viteza de evoluţie a procesului. Obţinem aproximarea discretă a modelului robotului, dată de următoarea relaţie de recurenţă: z t+1 = ( I 2 tāz) zt + t B u u t, în care I 2 este matricea identitate de ordin 2. Alegând t = 0.5 s, obţinem sistemul dinamic şi matricele sistemului de forma: z t+1 = A z z t +B u u u, unde A z = I 2 1 2Āz, B u = 1 2 B u. Un exemplu simplu de problemă de control optimal poate fi definit de urmărirea unei traiectorii sinusoidale pe o suprafată plană de către robotul E-Puck. În acest caz, definim traiectoria discretă z ref t = (y ref t,θ ref t ) T cesedoreşteafiurmărită. Caracteristicadiscretăareferinţei impune eşantionarea funcţiei sinus continue cu o anumită perioadă T (în simulări am considerat T = 0.1). Acurateţea cu care robotul urmăreşte o curbă sinusoidală variază în funcţie de perioada de eşantionare a funcţiei sinus, orizontul de predicţie considerat şi de constrângerile aplicate problemei de control optimal. În cel mai simplu caz, considerăm că robotul pleacă din origine şi dorim urmărirea unui şir de puncte (x t,sinx t ), unde x t+1 x t = T. În acest caz, nu putem considera că referinţa este definită de şirul propriu-zis de puncte, deoarece mărimile x t şi sinx t diferă de mărimile stării sistemului date de distanţa parcursă y ref t şi unghiul de orientare θ ref t. Pentru a realiza conversia mărimilor facem următoarele observaţii: observăm că orice punct de pe graficul funcţiei sinx se află la un unghi θ = arctancosx faţă de orizontală; distanţa dintre două puncte din şirul definit anterior este dată de: y = (x t+1 x t ) 2 +(sinx t+1 sinx t ) 2. În concluzie, realizăm conversia şirului (x t,sinx t ) şi obţinem referinţa: ( ) z ref t = (y ref t,θ ref t ) = (xt+1 x t ) 2 +(sinx t+1 sinx t ) 2, arctancosx t, u ref t = 0.

161 7.1. Control optimal 161 ProblemadecontroloptimalpentruunorizontdepredicţieN = 2devine: 1 [ ] min (z 1 z ref 1 ) T Q 1 (z 1 z ref 1 )+(z 2 z ref 2 ) T Q 2 (z 2 z ref 2 ) + (7.3) z t,u t 2 1 ( u T 2 0 R 0 u 0 +u T 1 R ) 1u 1 s.l.: z 0 = z, z 1 = A z z 0 +B u u 0, z 2 = A z z 1 +B u u 1, u min u 0 u max, u min u 1 u max, unde considerăm Q 1 = Q 2 = I 2 şi R 0 = R 1 = 0.1I 2. Mai mult, considerăm r = 2 cm, l = 1 cm, u max = [20 20] T şi u min = [ 2 2] T. Folosim procedura de control bazată pe orizontul alunecător, i.e. la fiecare pas se măsoară/estimează starea sistemului şi se rezolvă problema de control optimal cu orizont finit enunţată anterior; se obţine o secvenţă de N intrări optimale, dar se aplică doar primele N c N intrări din această secvenţă, după care procedura se repetă. Metoda de control bazată pe principiul orizontului alunecător se numeşte control predictiv (MPC - Model Predictive Control). Rescriem compact problema de control optimal pentru starea iniţială z 0 = z şi orizont de predicţie N = 2 sub forma unei probleme de optimizare pătratică convexă: 1 min x R 8 2 xt Qx+q T x (7.4) s.l.: Ax = b, Cx d, unde matricele şi vectorii corespunzători problemei sunt daţi de: u 0 x = z 1 u 1, Q = z 2 R Q R Q 2, A = [ Bu I A z B u I 2 0 q = Q 1 z ref [ ] I u max 1 0, b = Az z 0, C = I I 2 0, d = u min u max. Q 2 z ref I 2 0 u min Exerciţiul 3. Să se rezolve problema pătratică convexă (7.4) cu metoda de punct interior. ],

162 162 Capitolul 7. Aplicaţii din inginerie Rezolvare. Reamintim că primul pas din metoda de punct interior presupune transformarea echivalentă a problemei (7.4) într-una fără constrângeri de inegalitate: 1 min x R 8 2 xt Qx+q T x τ s.l. Ax = b, 8 log( C i x d i ) (7.5) unde C i reprezintă linia i a matricei C. Apoi, aplicăm algoritmul propriu-zis: 1. Se dau un punct iniţial x = x 0 strict fezabil, τ = τ 0 > 0, σ < 1, toleranţa ǫ > 0 şi parametrul m numărul de inegalităţi; 2. Cât timp m/t ǫ repetă: i=1 (a) calculează x(τ) soluţia problemei (7.5); (b) actualizează x = x(τ) şi τ = στ. Funcţia Matlab următoare rezolvă problema (7.4) cu ajutorul metodei de punct interior: function []=robot_interior_point(eps) Q=eye(2); R=0.1*eye(2); r=2; l=1; iter=1; zinit=[0;0]; vec=[0:0.1:40]; z_collect=[]; C=[-eye(4);eye(4)]; d=[2*ones(4,1);20*ones(4,1)]; while (iter<380) B=[r/2 r/2;r/(2*l) -r/(2*l)]; zref1=[norm([vec(iter+1)-vec(iter)... sin(vec(iter+1))-sin(vec(iter))]);atan(cos(vec(iter)))]; iter=iter+1; zref2=[norm([vec(iter+1)-vec(iter)... sin(vec(iter+1))-sin(vec(iter))]);atan(cos(vec(iter)))]; iter=iter+1; zref=[zref1;zref2]; t=3; ro=5; z0=zinit; while ((4/t)>eps)

163 7.1. Control optimal 163 cvx_begin quiet variable z(4); variable u(4); minimize ((1/2)*(z-zref) *(z-zref)+(0.05*u *u)... -(1/t)*ones(1,8)*log(-C*u+d)) subject to z(1:2) == z0 + B*u(1:2)/2; z(3:4) == z(1:2) + B*u(3:4)/2; cvx_end t=ro*t; end zinit=z(3:4); z_collect=[z_collect z]; end s=0; for i=1:length(z_collect)/2 s=s+z_collect(2*i-1)*tan(z_collect(2*i)); delta_x(i)=s; end sine=sin([0:0.1:length(delta_x)/10]); figure; hold on; plot(1:length(delta_x),delta_x, LineWidth,2); plot(1:length(sine),sine, r, LineWidth,2); xlabel( Numar iteratii ); ylabel( Traiectorie ); legend ( Pozitia z, Referinta ); end Rezultatele obţinute pe baza strategiei de control predictiv, unde la fiecare pas problema de control optimal se rezolvă cu metoda de punct interior pentru probleme convexe, sunt prezentate în Fig Se observă o urmărire bună a traiectoriei impuse robotului. În cea de-a doua figură reprezentăm traiectoria optimă a intrărilor peste orizontul de simulare.

164 164 Capitolul 7. Aplicaţii din inginerie Pozitia z Referinta Traiectorie Numar iteratii 0.8 Intrari optime (u 1, u 2 ) viteza unghiulara 1 viteza unghiulara t Figura 7.2: Traiectoria robotului folosind tehnica de control optimal cu orizont alunecător: evoluţia stărilor sistemului (stânga) şi a intrărilor optimale (dreapta) Control optimal aplicat unei instalaţii cu patru rezervoare În acest subcapitol, considerăm o instalaţie cu patru rezervoare interconectate, prezentată în Fig. 7.3, dispusă cu două pompe de propulsie a apei. Modelul matematic corespunzător instalaţiei este

165 7.1. Control optimal 165 neliniar, dat de următoarele ecuaţii diferenţiale: dh 1 dt = a 1 2gh1 + a 4 2gh4 + γ a S S S q a, dh 2 dt = a 2 2gh2 + a 3 2gh3 + γ b S S S q b, dh 3 dt = a 3 2gh3 + (1 γ a) q a, S S dh 4 dt = a 4 2gh4 + (1 γ b) q b, S S unde funcţiile h 1,h 2,h 3,h 4 reprezintă dinamicile nivelurilor lichidului în rezervoare, cu rolul de stări ale sistemului, iar q a,q b reprezintă debitele de intrare, cu rolul de comenzi (intrări). Pentru conformitate cu subcapitolul anterior, vom renota nivelul h i cu z i pentru i = 1,...,4, iar debitele (q a,q b ) cu (u 1,u 2 ). Figura 7.3: Structura instalaţiei cu patru rezervoare. Pentru discretizare, utilizăm metoda Euler pentru care putem alege perioada de eşantionare t = 5 s, deoarece procesul este unul lent. Pentru o prezentare simplificată, scriem compact sistemul neliniar discret prin intermediul următoarelor notaţii: z t+1 = φ(z t )+B u u t, unde z 1 5a 1 2gz1 + 5a 4 2gz4 S S φ : R 4 R 4, φ(z) = z 2 5a 2 2gz2 + 5a 3 2gz3 S S z 3 5a 3 2gz3, S z 4 5a 4 2gz4 S

166 166 Capitolul 7. Aplicaţii din inginerie B u = 5γ a 0 S 5γ 0 b S 5(1 γ a) 0 S 0 5(1 γ b ) S Valorile parametrilor din cadrul modelului se pot identifica experimental prin diferite tehnici. Valorile aproximative identificate în laborator sunt prezentate în Tabelul 7.1. Formulăm o problemă de control optimal. Parametri S a 1 a 2 a 3 a 4 γ a γ b Valori e 5 6.2e 5 2e 5 3.6e Unitate m 2 m 2 m 2 m 2 m 2 Tabelul 7.1: Parametrii procesului cu patru rezervoare. pentru modelul neliniar al instalaţiei, considerând un orizont de predicţie N şi referinţe pentru intrare şi stare date z ref t şi u ref t : 1 N min z t z ref t 2 Q z t,u t N 1 u t u ref t 2 R 2 0 (7.6) t=1 s.l.: z 0 = z, z t+1 = φ(z t )+B u u t t = 0,...,N 1. Observăm că problema de optimizare neconvexă ce rezultă din problema de control optimal fără eliminarea stărilor (7.6) are forma: t=0 1 min x R 6N 2 xt Qx+q T x (7.7) s.l.: h(x) = 0, în care matricea Q, vectorul q şi funcţia h sunt definiţi în aceeaşi manieră ca în subcapitolul anterior. Exerciţiul 4. Să se rezolve problema (7.6) cu metoda Newton-Lagrange, considerând N = 2 şi procedura de orizont alunecător (i.e. implementarea controlului predictiv). Rezolvare. Problema de control optimal (7.6) pentru N = 2 devine: 1 ( ) min (z 1 z ref 1 ) T Q 0 (z 1 z ref 1 )+(z 2 z ref 2 ) T Q 0 (z 2 z ref 2 ) + z t,u t 2 1 ( u T 2 0 R 0 u 0 +u T 1 R ) 0u 1 s.l. z 0 = z, z 1 = φ(z 0 )+B u u 0, z 2 = φ(z 1 )+B u u 1,

167 7.2. Problema Google 167 unde z t R 4 şi u t R 2, iar z ref t R 4 este o referinţă dorită pentru nivelurile din cele patru rezervoare. Această problemă de control optimal se rescrie ca o problemă de optimizare de forma (7.7), unde: u 0 x = z 1 u 1, Q = z 2 R Q R Q 0, q = [ h : R 12 R 8 φ(z0 ) z, h(x) = 1 +B u u 0 φ(z 1 ) z 2 +B u u 1 0 Q 0 z ref 1 0, Q 0 z ref 2 ] Reamintim că metoda Lagrange-Newton presupune rezolvarea sistemului de ecuaţii: Qx+q + h(x) T µ = 0 (7.8) h(x) = 0, cu metoda Newton clasică de rezolvare a sistemelor neliniare. Mai exact, fie sistemul de ecuaţii neliniare F(x) = 0, metoda Newton presupune liniarizarea acestuia în punctul curent x k şi rezolvarea sistemului liniar rezultat în x, i.e. F(x k )+ F(x k )(x x k ) = 0. Algoritmul de rezolvare a problemei de control optimal a fost implementat pe un PLC Siemens din Laboratorul de Optimizare şi Control Distribuit al UPB. În Fig. 7.4 considerăm două referinţe pentru fiecare rezervor, fiecare constantă pe o anumită perioadă de timp. Se observă că sistemul urmăresţe foarte bine aceste referinţe prin strategia de control optimal folosind principiul de orizont alunecător (i.e. control predictiv) Problema Google Internetul este dominat progresiv de motoare de căutare, în sprijinul selecţiei şi găsirii surselor de informaţii cu relevanţă maximă. Unul dintre cele mai vechi şi eficiente motoare de căutare este Google, care se află în continuă dezvoltare pe masură ce progresele în domeniul algoritmilor

168 168 Capitolul 7. Aplicaţii din inginerie level(cm) h1 40 sh1 h4 sh time(seconds) level(cm) h2 sh2 h3 sh time(seconds) Figura 7.4: Traiectoria nivelului de apă din cele patru rezervoare. avansează. Tehnica folosită de Google pentru căutarea şi clasificarea paginilor web se numeşte PageRank, iar pasul central din această tehnică presupune clasificarea (ranking-ul) unui număr uriaş de pagini web. În acest fel, rezultă o listă ordonată de site-uri în sensul descrescător al relevanţei în legătură cu subiectul căutat. Datorită conexiunilor permanente dintre paginile web în reţeaua internet-ului, putem să reprezentăm structura legăturilor dintre pagini prin intermediul unui graf ponderat orientat. Nodurile grafului reprezintă paginile, iar muchiile au rolul link-urilor. Ponderea p ij (corespunzătoare muchiei dintre nodurile i şi j) reprezintă probabilitatea ca la o navigare aleatorie în reţeaua de pagini să se ajungă din pagina i în pagina j. În plus, putem atribui grafului o matrice de adiacenţă E R n n, cu componenta E ij 0 dacă între nodurile i şi j există muchie, iar E ij 0 dacă nodurile i şi j nu sunt legate de o muchie. Numărul de muchii din graf se reflectă în numărul de elemente nenule ale matricei E; de aceea, pentru un graf rar (cu puţine muchii), matricea de adiacenţă va fi rară (va conţine preponderent zerouri). Pentru a analiza mai îndeaproape proprietăţile matricei de adiacenţă

169 7.2. Problema Google 169 Figura 7.5: Exemplu de graf orientat. rezultate din graful paginilor web, introducem următoarele noţiuni: Definiţia 4. O matrice E R m n se numeşte stocastică pe linii dacă are elemente nenegative (i.e. E ij 0), iar suma pe fiecare linie este egală cu 1. O matrice E R m n se numeşte stocastică pe coloane dacă are elemente nenegative (i.e. E ij 0), iar suma pe fiecare coloană este egală cu 1. Deoarece componentele nenule ale matricei de adiacenţă E au rolul de probabilităţi, acestea sunt nenegative, iar matricea E este stocastică pe coloane. Forma algebrică a problemei Google se reduce la a găsi vectorul propriu corespunzător valorii proprii maxime 1, adică soluţia următorului sistem liniar supus constrângerilor: { Ex = x e T x = 1, x 0. Problema rezolvării acestui sistem se poate formula uşor în termeni de optimizare: min (= f(x) 12 ) x R Ex x 2 (7.9) n s.l.: e T x = 1, x 0, unde e = [1...1] T, matricea E R n n este rară (elementele au valori preponderent nule). Observăm că problema rezultată este constrânsă, însă dacă alegem un parametru τ > 0 suficient de mare, putem obţine o formulare echivalentă fără constrângeri folosind funcţia de penalitate pătratică: min F(x,τ) x R n (= 12 Ex x 2 + τ2 (et x 1) 2 ). (7.10)

170 170 Capitolul 7. Aplicaţii din inginerie Pe baza teoremei Peron-Frobenius, observăm că putem elimina constrângerile de inegalitate x 0, deoarece soluţia optimă globală a problemei de optimizare (7.10) satisface automat această constrângere. Datorită dimensiunilor foarte mari ale ambelor probleme considerate (7.9) şi (7.10), ne orientăm atenţia către algoritmi de ordinul I deoarece au o complexitate scăzută per iteraţie: metoda de gradient proiectat pentru cazul constrâns (7.9): x k+1 = [x k α f(x k )] (In, n) metoda gradient pentru cazul neconstrâns (7.10): x k+1 = x k α F(x k,τ) unde n = {x : e T x = 1,x 0} este mulţimea numită simplex şi α > 0 este un pas constant. Rezultatele obţinute sunt prezentate în Fig. 7.6 şi 7.7. Se observă o convergenţă rapidă în ambele metode. De asemenea, observăm că metoda de penalitate produce o soluţie optimă pentru problema originală pentru valori relativ mici ale parametrului de penalitate τ. Exerciţiul 5. Fie o matrice E dată cu proprietăţile descrise anterior. Să se rezolve prima formulare (7.9) cu ajutorul metodei de gradient proiectat, iar cea de-a doua (7.10) cu metoda gradient pentru cazul neconstrâns. Rezolvare. Deoarece mulţimea fezabilă este descrisă de o combinaţie de inegalităţi\egalităţi liniare, nu putem deduce proiecţia ortogonală a unui punct pe această mulţime în mod explicit. De accea, în implementare folosim funcţia Matlab quadprog pentru a obţine o proiecţie aproximativă. Considerăm următoarea funcţie Matlab ce primeşte ca argument matricea de adiacenţă E şi rezolvă problema de optimizare prin metoda gradientului proiectat: function [x]=google(e,eps) [m n]=size(e); if (m~=n) error( Dimensiunile matricii nu sunt compatibile! ); end

171 7.2. Problema Google 171 e=ones(n,1); %%%% Dac\u a matricea E nu este stochastica pe coloane, %%%% se creaza o noua matrice care %%%% indeplineste aceasta proprietate. if (norm(sum(e,1).^(-1) -e)>0.0001) inv=diag(sum(e,1).^(-1)); E=E*inv; end I=eye(n); x=5*rand(n,1); x=x/sum(x); crit_stop=norm(e*x-x); L=norm(E-I); while (crit_stop>eps) %%% Se calculeaza gradientul %%%% grad=(e-i) *(E-I)*x; %%% Se calculeaza pasul metodei gradient %%%% d=x-(1/l)*grad; %%% Se proiecteaza pe mul\c timea fezabila%%%% [grad_proj]=quadprog(eye(n),-d,[],[],e,1,zeros(n,1)); x=grad_proj; %%% Criteriul de oprire %%%% crit_stop=norm(e*x-x); end end f(x k ) f * Iteratii Figura 7.6: Convergenţa metodei gradient proiectat aplicată unei probleme Google de dimensiune n = 50 în termeni de valorile funcţiei obiectiv.

172 172 Capitolul 7. Aplicaţii din inginerie În cel de-al doilea caz, implementăm metoda gradient cu parametrul τ dat de utilizator: function [x]=google_unc(e,eps,gamma) [m n]=size(e); if (m~=n) error( Dimensiunile matricii nu sunt compatibile! ); end e=ones(n,1); %%%% Dac\u a matricea E nu este stochastica pe coloane, %%%% se creaza o noua matrice cu aceasta proprietate. if (norm(sum(e,1).^(-1) -e)>0.0001) inv=diag(sum(e,1).^(-1)); E=E*inv; end I=eye(n); x=5*rand(n,1); x=x/sum(x); crit_vec=[]; crit_stop=norm(e*x-x)/norm(x); L=norm(E-I+(gamma*e*e )); crit_vec=[crit_vec;crit_stop]; while (crit_stop>eps) %%% Se calculeaza gradientul %%%% grad=(e-i) *(E-I)*x + gamma*(e*e *x-e); %%% Se calculeaza pasul metodei gradient %%%% x=x-(1/l)*grad; %%% Criteriul de oprire %%%% crit_stop=norm(e*x-x)/norm(x); crit_vec=[crit_vec;crit_stop]; end figure; plot(0:length(crit_vec)-1,crit_vec, LineWidth,2); xlabel( Iteratii ); ylabel( f(x_k) - f^* ); end

173 7.3. Clasificarea de imagini f(x k ) f * f(x k ) f * τ=5 τ=10 τ=15 τ=30 τ= Iteratii (k) x 10 4 (a) Iteratii (k) x 10 4 (b) Figura 7.7: Convergenţa metodei gradient pentru problema Google cu n = 10 3,τ = 50 în termeni de valorile funcţiei obiectiv (a). Dependenţa convergenţei metodei gradient de parametrul τ aplicată problemei Google pe n = 10 3 (b). 7.3 Clasificarea de imagini Tehnicile de clasificare şi învăţare automată sunt noţiuni centrale în domeniul statisticii, calculatoarelor, prelucrării semnalelor etc. Ambele se ocupă în mod fundamental cu problema recunoaşterii tiparelor (pattern recognition) prin dezvoltarea de modele matematice ce suportă o etapă preliminară de antrenare (experienţă), pe baza căreia realizează operaţii de clasificare/regresie de obiecte şi funcţii. O parte din numeroasele aplicaţii ale acestor tehnici cuprinde: 1. recunoaşterea -urilor de tip spam sau malware; 2. recunoşterea vocii/feţei; 3. compresia cantităţilor uriaşe de date; 4. detecţia de tipare în cadrul unei imagini; 5. recunoaşterea scrisului de mână. Una dintre cele mai renumite tehnici de recunoaştere/clasificare este SVM - Support Vector Machine. Această tehnică presupune determinarea unui model matematic ce separă două sau mai multe clase de obiecte cu o

174 174 Capitolul 7. Aplicaţii din inginerie Figura 7.8: Hiperplan de separare a doua clase de obiecte. anumită acurateţe. În vederea clasificării sau recunoaşterii unui obiect necunoscut, se introduc datele obiectului în modelul matematic, iar la ieşire se primeşte id-ul clasei din care face parte. În cele mai simple cazuri, modelul matematic căutat este reprezentat de un hiperplan H = {y R n : a T y = b} caracterizat de parametrii a R n şi b R. De aceea, problema se reduce la a găsi parametrii optimi (a,b) care să separe cât mai bine clasele de obiecte (vezi Fig. 7.8). În termenii teoriei optimizării, problema se formulează după cum urmează: 1 2 a 2 (7.11) s.l.: c i ( a T y i b ) 1 i = 1,...,m, min a R n,b R unde a şi b reprezintă parametrii hiperplanului, iar c i indică clasa din care face parte obiectul y i. Variabilele de decizie x = [a T b] T reprezintă parametrii unui hiperplan de separare a claselor de obiecte/imagini, aşa cum se observă în Fig Problema de optimizare convexă pătratică având numai constrângeri de inegalitate (7.11) o rezolvăm prin metoda de punct interior aplicată problemelor convexe (CP). În continuare, exemplificăm o aplicaţie practică a tehnicii SVM prin problema recunoaşterii cifrei 7 dintr-o imagine. Se cunoaşte că orice imagine poate fi reprezentată sub forma unei serii de pixeli, unde fiecare pixel la rândul său este definit de o valoare (e.g. între 0 256) dată de culoarea acestuia. Pentru a simplifica exemplul, considerăm imagini mono-colore compuse din 49 de pixeli, în care pixelii sunt reprezentaţi de niveluri de gri cu valori între 0 şi 5 (vezi Fig. 7.9). În etapa de iniţializare a tehnicii SVM se fixează o mulţime de antrenare compusă din diferite

175 7.3. Clasificarea de imagini 175 imagini ce conţin variante ale cifrei 7 (ce fac parte din clasa I de obiecte) şi imagini aleatorii complet diferite de cifra 7 (ce fac parte din clasa a II-a de obiecte). Deoarece această etapă se mai numeşte şi antrenare, se cunoaşte pentru fiecare imagine clasa din care face parte. Fiecărei imagini i i se asociază un vector de 49 de componente (fiecare componentă luând valoriîntregiîntre0şi5)şiunparametruccereprezintăindexulclaseidin care face parte imaginea respectivă (dacă c = 1 atunci imaginea conţine cifra 7, dacă c = 1 atunci imaginea este aleatorie). Pe baza acestei mulţimi de antrenare, urmărim realizarea unui hiperplan de separare a acestor două clase. (a) (b) Figura 7.9: Mulţimea de antrenare a modelului matematic de separare: (a) imagini ce fac parte din clasa I; (b) imagini ce fac parte din clasa a II-a. Exerciţiul 6. Să se rezolve problema (7.11) în contextul prezentat anterior. Să se testeze eficienţa soluţiei (hiperplanului) obţinute prin evaluarea ratei de succes în recunoaşterea cifrei 7. Rezolvare. Alegem un set de imagini ale cifrei 7(vezi Fig. 7.9 (a)) şi un set de imagini aleatorii (vezi Fig. 7.9 (b)) ce reprezintă mulţimea de

176 176 Capitolul 7. Aplicaţii din inginerie antrenare a hiperplanului de separare. Transformăm aceste imagini în vectori de pixeli cum am descris înainte, ce pot fi introduşi într-o funcţie Matlab şi folosiţi în rezolvarea problemei (7.11). Următoarea secvenţă de cod rezolvă problema SVM pe baza mulţimii de antrenare date de vectorii de pixeli introduşi de la tastatură. function []=pattern() %% Elemente clasa 1 din mul\c timea de antrenare C1=zeros(12,49); C1(1,:)=[zeros(1,16) zeros(1,6) 2 zeros(1,5) 2... zeros(1,6) 2 zeros(1,10)]; C1(2,:)=[zeros(1,15) zeros(1,6) 3 zeros(1,5) 3... zeros(1,6) 3 zeros(1,11)]; C1(3,:)=[zeros(1,16) zeros(1,4) zeros(1,6) 2 zeros(1,6) 2 zeros(1,9)]; C1(4,:)=[zeros(1,16) zeros(1,4) zeros(1,4) 4... zeros(1,6) 4 zeros(1,11)]; C1(5,:)=[zeros(1,10) 3 zeros(1,5) zeros(1,3) 3 zeros(1,3) 3 zeros(1,3) 3 zeros(1,3) 3 zeros(1,14)]; C1(6,:)=[zeros(1,8) zeros(1,6) 2 zeros(1,5)... 2 zeros(1,5) 2 zeros(1,6) 2 zeros(1,10)]; C1(7,:)=[zeros(1,15) zeros(1,6) 2 zeros(1,5)... 2 zeros(1,5) 2 zeros(1,6) 2 zeros(1,3)]; C1(8,:)=[zeros(1,17) zeros(1,6) 3 zeros(1,5)... 3 zeros(1,6) 3 zeros(1,8)]; C1(9,:)=[zeros(1,17) 3 zeros(1,5) zeros(1,3)... 3 zeros(1,3) zeros(1,3) 3 zeros(1,9)]; C1(10,:)=[zeros(1,8) 3 3 zeros(1,5) 3 zeros(1,6) 3... zeros(1,6) zeros(1,16)]; C1(11,:)=[zeros(1,17) zeros(1,4) zeros(1,6) 2... zeros(1,6) 2 zeros(1,8)]; C1(12,:)=[zeros(1,15) zeros(1,3) 2 zeros(1,7) 2... zeros(1,6) 2 zeros(1,11)]; %% Elemente clasa 2 din mul\c timea de antrenare C2=zeros(7,49); for i=1:7 x=full(round(5*sprand(1,49,0.5))); x(x<2)=0; C2(i,:)=x; end

177 7.3. Clasificarea de imagini 177 %% Elemente de testare a hiperplanului rezultat C3=zeros(8,49); C3(1,:)=[zeros(1,11) 3 3 zeros(1,6) 3 zeros(1,6)... 3 zeros(1,3) zeros(1,15)]; C3(2,:)=[zeros(1,9) zeros(1,3) zeros(1,6) 4 zeros(1,6) 4 zeros(1,15)]; C3(3,:)=[zeros(1,9) zeros(1,6) 3 zeros(1,5) 3... zeros(1,6) 3 zeros(1,16)]; C3(4,:)=[ones(1,15) ones(1,6) 4 ones(1,5) 4... ones(1,6) 4 ones(1,11)]; C3(5,:)=[0 3*ones(1,5) 0 0 3*ones(1,5) zeros(1,5) zeros(1,4) 4 4 zeros(1,5) 4 4 zeros(1,5) 4 4 zeros(1,9)]; C3(6,:)=[zeros(1,9) 2*ones(1,5) zeros(1,5) 2 2 zeros(1,4) zeros(1,4) 2 2 zeros(1,5) 2 2 zeros(1,9)]; C3(7,:)=[zeros(1,8) 2*ones(1,6) 0 2 zeros(1,3) zeros(1,5) 2 2 zeros(1,5) 2 2 zeros(1,14)]; C3(8,:)=[0 3*ones(1,5) 0 0 3*ones(1,5) zeros(1,5) zeros(1,4) 3 3 zeros(1,5) 3 3 zeros(1,5) 3 3 zeros(1,9)]; C4=zeros(12,49); for i=1:12 x=full(round(5*sprand(1,49,0.5))); x(x<2)=0; C4(i,:)=x; end %%% Rezolvare problema SVM cvx_begin variable w(49); variable b(1); minimize ((1/2)*w *w) subject to C1*w-b*ones(12,1)>=ones(12,1); C2*w-b*ones(7,1)<=-ones(7,1); cvx_end end Pentru a testa soluţia găsită (a,b ) prin rezolvarea problemei (7.11), verificăm certitudinea cu care hiperplanul rezultat situează punctele de

178 178 Capitolul 7. Aplicaţii din inginerie test în clasele aferente: { a T < 0, atunci imaginea dată de y nu conţine cifra 7 y b > 0, atunci imaginea dată de y conţine cifra 7. În cazul punctelor considerate în secvenţa de cod precedentă, tragem următoarele concluzii: dacă testăm hiperplanul cu diferite imagini aleatorii cu densitate mare de pixeli gri (vezi Fig. 7.10) şi respectiv, imagini cu cifra 7 transformată în diverse moduri (translaţie la stânga/dreapta, înclinare etc.) atunci rezultă o rată de succes(recunoaştere corectă) de 80%; dacă pentru testare considerăm imagini aleatorii cu densitate mică şi respectiv, imagini cu cifra 7 transformată în diverse moduri (translaţie la stânga/dreapta, înclinare etc.) atunci rezultă o rată de succes de 52%. Figura 7.10: Exemple de imagini aleatorii cu densitate ridicată de pixeli gri. Motivaţia ratei de succes în al doilea caz este dată de doi factori: (i) similaritatea ridicată între imaginile cu densitate mică de pixeli şi cele ce conţin cifra 7, (ii) numărul relativ mic de imagini de antrenare (cu cât mulţimea de antrenare conţine mai multe puncte, cu atât hiperplanul rezultat este mai eficient). În concluzie, am obţinut un hiperplan de separare ce recunoaşte cu o anumită rată de succes imagini ce conţin sau nu cifra 7.

Metode iterative pentru probleme neliniare - contractii

Metode iterative pentru probleme neliniare - contractii Metode iterative pentru probleme neliniare - contractii Problemele neliniare sunt in general rezolvate prin metode iterative si analiza convergentei acestor metode este o problema importanta. 1 Contractii

Διαβάστε περισσότερα

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

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate. Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie p, q N. Fie funcţia f : D R p R q. Avem următoarele

Διαβάστε περισσότερα

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile Metode de Optimizare Curs V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile Propoziţie 7. (Fritz-John). Fie X o submulţime deschisă a lui R n, f:x R o funcţie de clasă C şi ϕ = (ϕ,ϕ

Διαβάστε περισσότερα

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

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE. 5 Eerciţii reolvate 5 UNCŢII IMPLICITE EXTREME CONDIŢIONATE Eerciţiul 5 Să se determine şi dacă () este o funcţie definită implicit de ecuaţia ( + ) ( + ) + Soluţie ie ( ) ( + ) ( + ) + ( )R Evident este

Διαβάστε περισσότερα

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

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică Gh. Asachi Curs 14 Funcţii implicite Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie F : D R 2 R o funcţie de două variabile şi fie ecuaţia F (x, y) = 0. (1) Problemă În ce condiţii ecuaţia

Διαβάστε περισσότερα

Sisteme diferenţiale liniare de ordinul 1

Sisteme diferenţiale liniare de ordinul 1 1 Metoda eliminării 2 Cazul valorilor proprii reale Cazul valorilor proprii nereale 3 Catedra de Matematică 2011 Forma generală a unui sistem liniar Considerăm sistemul y 1 (x) = a 11y 1 (x) + a 12 y 2

Διαβάστε περισσότερα

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

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a. Definiţie Spunem că: i) funcţia f are derivată parţială în punctul a în raport cu variabila i dacă funcţia de o variabilă ( ) are derivată în punctul a în sens obişnuit (ca funcţie reală de o variabilă

Διαβάστε περισσότερα

Metode de interpolare bazate pe diferenţe divizate

Metode de interpolare bazate pe diferenţe divizate Metode de interpolare bazate pe diferenţe divizate Radu Trîmbiţaş 4 octombrie 2005 1 Forma Newton a polinomului de interpolare Lagrange Algoritmul nostru se bazează pe forma Newton a polinomului de interpolare

Διαβάστε περισσότερα

Asupra unei inegalităţi date la barajul OBMJ 2006

Asupra unei inegalităţi date la barajul OBMJ 2006 Asupra unei inegalităţi date la barajul OBMJ 006 Mircea Lascu şi Cezar Lupu La cel de-al cincilea baraj de Juniori din data de 0 mai 006 a fost dată următoarea inegalitate: Fie x, y, z trei numere reale

Διαβάστε περισσότερα

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

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor. Fiind date doua multimi si spunem ca am definit o functie (aplicatie) pe cu valori in daca fiecarui element

Διαβάστε περισσότερα

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

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1 Functii definitie proprietati grafic functii elementare A. Definitii proprietatile functiilor. Fiind date doua multimi X si Y spunem ca am definit o functie (aplicatie) pe X cu valori in Y daca fiecarui

Διαβάστε περισσότερα

Seminar 5 Analiza stabilității sistemelor liniare

Seminar 5 Analiza stabilității sistemelor liniare Seminar 5 Analiza stabilității sistemelor liniare Noțiuni teoretice Criteriul Hurwitz de analiză a stabilității sistemelor liniare În cazul sistemelor liniare, stabilitatea este o condiție de localizare

Διαβάστε περισσότερα

Curs 4 Serii de numere reale

Curs 4 Serii de numere reale Curs 4 Serii de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Criteriul rădăcinii sau Criteriul lui Cauchy Teoremă (Criteriul rădăcinii) Fie x n o serie cu termeni

Διαβάστε περισσότερα

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

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea Serii Laurent Definitie. Se numeste serie Laurent o serie de forma Seria n= (z z 0 ) n regulata (tayloriana) = (z z n= 0 ) + n se numeste partea principala iar seria se numeste partea Sa presupunem ca,

Διαβάστε περισσότερα

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

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare 1 Planul în spaţiu Ecuaţia generală Plane paralele Unghi diedru 2 Ecuaţia generală Plane paralele Unghi diedru Fie reperul R(O, i, j, k ) în spaţiu. Numim normala a unui plan, un vector perpendicular pe

Διαβάστε περισσότερα

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

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă. III. Serii absolut convergente. Serii semiconvergente. Definiţie. O serie a n se numeşte: i) absolut convergentă dacă seria modulelor a n este convergentă; ii) semiconvergentă dacă este convergentă iar

Διαβάστε περισσότερα

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

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice 1 Conice pe ecuaţii reduse 2 Conice pe ecuaţii reduse Definiţie Numim conica locul geometric al punctelor din plan pentru care raportul distantelor la un punct fix F şi la o dreaptă fixă (D) este o constantă

Διαβάστε περισσότερα

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

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 Facultatea de Hidrotehnică, Geodezie şi Ingineria Mediului Matematici Superioare, Semestrul I, Lector dr. Lucian MATICIUC SEMINAR 4 Funcţii de mai multe variabile continuare). Să se arate că funcţia z,

Διαβάστε περισσότερα

Curs 1 Şiruri de numere reale

Curs 1 Şiruri de numere reale Bibliografie G. Chiorescu, Analiză matematică. Teorie şi probleme. Calcul diferenţial, Editura PIM, Iaşi, 2006. R. Luca-Tudorache, Analiză matematică, Editura Tehnopress, Iaşi, 2005. M. Nicolescu, N. Roşculeţ,

Διαβάστε περισσότερα

Laborator/Seminar 2. Probleme de optimizare convexa

Laborator/Seminar 2. Probleme de optimizare convexa Laborator/Seminar 2 Probleme de optimizare convexa 1 Introducere Problemele de optimizare, min f(x) x R n s.l. g i (x) 0, i = 1,..., m, (1) Ax b = 0, in care functia obiectiv f si functiile ce definesc

Διαβάστε περισσότερα

Integrala nedefinită (primitive)

Integrala nedefinită (primitive) nedefinita nedefinită (primitive) nedefinita 2 nedefinita februarie 20 nedefinita.tabelul primitivelor Definiţia Fie f : J R, J R un interval. Funcţia F : J R se numeşte primitivă sau antiderivată a funcţiei

Διαβάστε περισσότερα

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

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor Facultatea de Matematică Calcul Integral şi Elemente de Analiă Complexă, Semestrul I Lector dr. Lucian MATICIUC Seminariile 9 20 Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reiduurilor.

Διαβάστε περισσότερα

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE ABSTRACT. Materialul prezintă o modalitate de a afla distanţa dintre două drepte necoplanare folosind volumul tetraedrului. Lecţia se adresează clasei a VIII-a Data:

Διαβάστε περισσότερα

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

z a + c 0 + c 1 (z a) 1 Serii Laurent (continuare) Teorema 1.1 Fie D C un domeniu, a D şi f : D \ {a} C o funcţie olomorfă. Punctul a este pol multiplu de ordin p al lui f dacă şi numai dacă dezvoltarea în serie Laurent a funcţiei

Διαβάστε περισσότερα

Functii Breviar teoretic 8 ianuarie ianuarie 2011

Functii Breviar teoretic 8 ianuarie ianuarie 2011 Functii Breviar teoretic 8 ianuarie 011 15 ianuarie 011 I Fie I, interval si f : I 1) a) functia f este (strict) crescatoare pe I daca x, y I, x< y ( f( x) < f( y)), f( x) f( y) b) functia f este (strict)

Διαβάστε περισσότερα

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

Examen AG. Student:... Grupa:... ianuarie 2011 Problema 1. Pentru ce valori ale lui n,m N (n,m 1) graful K n,m este eulerian? Problema 2. Să se construiască o funcţie care să recunoască un graf P 3 -free. La intrare aceasta va primi un graf G = ({1,...,n},E)

Διαβάστε περισσότερα

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

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM Seminar S ANALA ÎN CUENT CONTNUU A SCHEMELO ELECTONCE S. ntroducere Pentru a analiza în curent continuu o schemă electronică,

Διαβάστε περισσότερα

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

EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă Coordonatori DANA HEUBERGER NICOLAE MUŞUROIA Nicolae Muşuroia Gheorghe Boroica Vasile Pop Dana Heuberger Florin Bojor MATEMATICĂ DE EXCELENŢĂ pentru concursuri, olimpiade şi centre de excelenţă Clasa a

Διαβάστε περισσότερα

Laborator 6. Integrarea ecuaţiilor diferenţiale

Laborator 6. Integrarea ecuaţiilor diferenţiale Laborator 6 Integrarea ecuaţiilor diferenţiale Responsabili: 1. Surdu Cristina(anacristinasurdu@gmail.com) 2. Ştirbăţ Bogdan(bogdanstirbat@yahoo.com) Obiective În urma parcurgerii acestui laborator elevul

Διαβάστε περισσότερα

Curs 2 Şiruri de numere reale

Curs 2 Şiruri de numere reale Curs 2 Şiruri de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Convergenţă şi mărginire Teoremă Orice şir convergent este mărginit. Demonstraţie Fie (x n ) n 0 un

Διαβάστε περισσότερα

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

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane Subspatii ane Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane Oana Constantinescu Oana Constantinescu Lectia VI Subspatii ane Table of Contents 1 Structura de spatiu an E 3 2 Subspatii

Διαβάστε περισσότερα

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

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0 SERII NUMERICE Definiţia 3.1. Fie ( ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0 şirul definit prin: s n0 = 0, s n0 +1 = 0 + 0 +1, s n0 +2 = 0 + 0 +1 + 0 +2,.......................................

Διαβάστε περισσότερα

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

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale. 5p Determinați primul termen al progresiei geometrice ( b n ) n, știind că b 5 = 48 și b 8 = 84 5p Se consideră funcția f : intersecție a graficului funcției f cu aa O R R, f ( ) = 7+ 6 Determinați distanța

Διαβάστε περισσότερα

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

Examen AG. Student:... Grupa: ianuarie 2016 16-17 ianuarie 2016 Problema 1. Se consideră graful G = pk n (p, n N, p 2, n 3). Unul din vârfurile lui G se uneşte cu câte un vârf din fiecare graf complet care nu-l conţine, obţinându-se un graf conex

Διαβάστε περισσότερα

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

2 Transformări liniare între spaţii finit dimensionale Transformări 1 Noţiunea de transformare liniară Proprietăţi. Operaţii Nucleul şi imagine Rangul şi defectul unei transformări 2 Matricea unei transformări Relaţia dintre rang şi defect Schimbarea matricei

Διαβάστε περισσότερα

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

Toate subiectele sunt obligatorii. Timpul de lucru efectiv este de 3 ore. Se acordă din oficiu 10 puncte. SUBIECTUL I. Modelul 4 Se acordă din oficiu puncte.. Fie numărul complex z = i. Calculaţi (z ) 25. 2. Dacă x şi x 2 sunt rădăcinile ecuaţiei x 2 9x+8 =, atunci să se calculeze x2 +x2 2 x x 2. 3. Rezolvaţi în mulţimea

Διαβάστε περισσότερα

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

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)). Teoremă. (Y = f(x)). Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism Demonstraţie. f este continuă pe X: x 0 X, S Y (f(x 0 ), ε), S X (x 0, ε) aşa ca f(s X (x 0, ε)) = S Y (f(x 0 ), ε) : y

Διαβάστε περισσότερα

INTERPOLARE. y i L i (x). L(x) = i=0

INTERPOLARE. y i L i (x). L(x) = i=0 INTERPOLARE Se dau punctele P 0, P 1,..., P n in plan sau in spatiu, numite noduri si avand vectorii de pozitie r 0, r 1,..., r n. Problemă. Să se găsească o curbă (dintr-o anumită familie) care să treacă

Διαβάστε περισσότερα

Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă

Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă Noţiunea de spaţiu liniar 1 Noţiunea de spaţiu liniar Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară 2 Mulţime infinită liniar independentă 3 Schimbarea coordonatelor unui vector la o schimbare

Διαβάστε περισσότερα

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

Concurs MATE-INFO UBB, 1 aprilie 2017 Proba scrisă la MATEMATICĂ UNIVERSITATEA BABEŞ-BOLYAI CLUJ-NAPOCA FACULTATEA DE MATEMATICĂ ŞI INFORMATICĂ Concurs MATE-INFO UBB, aprilie 7 Proba scrisă la MATEMATICĂ SUBIECTUL I (3 puncte) ) (5 puncte) Fie matricele A = 3 4 9 8

Διαβάστε περισσότερα

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite Capitolul 4 Integrale improprii 7-8 În cadrul studiului integrabilităţii iemann a unei funcţii s-au evidenţiat douăcondiţii esenţiale:. funcţia :[ ] este definită peintervalînchis şi mărginit (interval

Διαβάστε περισσότερα

1.3 Baza a unui spaţiu vectorial. Dimensiune

1.3 Baza a unui spaţiu vectorial. Dimensiune .3 Baza a unui spaţiu vectorial. Dimensiune Definiţia.3. Se numeşte bază a spaţiului vectorial V o familie de vectori B care îndeplineşte condiţiile de mai jos: a) B este liniar independentă; b) B este

Διαβάστε περισσότερα

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

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1) Ecuatii exponentiale Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. Cea mai simpla ecuatie exponentiala este de forma a x = b, () unde a >, a. Afirmatia.

Διαβάστε περισσότερα

Esalonul Redus pe Linii (ERL). Subspatii.

Esalonul Redus pe Linii (ERL). Subspatii. Seminarul 1 Esalonul Redus pe Linii (ERL). Subspatii. 1.1 Breviar teoretic 1.1.1 Esalonul Redus pe Linii (ERL) Definitia 1. O matrice A L R mxn este in forma de Esalon Redus pe Linii (ERL), daca indeplineste

Διαβάστε περισσότερα

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

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca Conice Lect. dr. Constantin-Cosmin Todea U.T. Cluj-Napoca Definiţie: Se numeşte curbă algebrică plană mulţimea punctelor din plan de ecuaţie implicită de forma (C) : F (x, y) = 0 în care funcţia F este

Διαβάστε περισσότερα

Vectori liberi Produs scalar Produs vectorial Produsul mixt. 1 Vectori liberi. 2 Produs scalar. 3 Produs vectorial. 4 Produsul mixt.

Vectori liberi Produs scalar Produs vectorial Produsul mixt. 1 Vectori liberi. 2 Produs scalar. 3 Produs vectorial. 4 Produsul mixt. liberi 1 liberi 2 3 4 Segment orientat liberi Fie S spaţiul geometric tridimensional cu axiomele lui Euclid. Orice pereche de puncte din S, notată (A, B) se numeşte segment orientat. Dacă A B, atunci direcţia

Διαβάστε περισσότερα

Criptosisteme cu cheie publică III

Criptosisteme cu cheie publică III Criptosisteme cu cheie publică III Anul II Aprilie 2017 Problema rucsacului ( knapsack problem ) Considerăm un număr natural V > 0 şi o mulţime finită de numere naturale pozitive {v 0, v 1,..., v k 1 }.

Διαβάστε περισσότερα

CONCURSUL DE MATEMATICĂ APLICATĂ ADOLF HAIMOVICI, 2017 ETAPA LOCALĂ, HUNEDOARA Clasa a IX-a profil științe ale naturii, tehnologic, servicii

CONCURSUL DE MATEMATICĂ APLICATĂ ADOLF HAIMOVICI, 2017 ETAPA LOCALĂ, HUNEDOARA Clasa a IX-a profil științe ale naturii, tehnologic, servicii Clasa a IX-a 1 x 1 a) Demonstrați inegalitatea 1, x (0, 1) x x b) Demonstrați că, dacă a 1, a,, a n (0, 1) astfel încât a 1 +a + +a n = 1, atunci: a +a 3 + +a n a1 +a 3 + +a n a1 +a + +a n 1 + + + < 1

Διαβάστε περισσότερα

Laborator 11. Mulţimi Julia. Temă

Laborator 11. Mulţimi Julia. Temă Laborator 11 Mulţimi Julia. Temă 1. Clasa JuliaGreen. Să considerăm clasa JuliaGreen dată de exemplu la curs pentru metoda locului final şi să schimbăm numărul de iteraţii nriter = 100 în nriter = 101.

Διαβάστε περισσότερα

Metode de optimizare

Metode de optimizare Metode de optimizare numerică Ion Necoară Departamentul de Automatică şi Ingineria Sistemelor Universitatea Politehnica din Bucureşti Email: ion.necoara@acse.pub.ro 2013 Prefaţă Lucrarea de faţă este

Διαβάστε περισσότερα

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

Cursul Măsuri reale. D.Rusu, Teoria măsurii şi integrala Lebesgue 15 MĂSURI RELE Cursul 13 15 Măsuri reale Fie (,, µ) un spaţiu cu măsură completă şi f : R o funcţie -măsurabilă. Cum am văzut în Teorema 11.29, dacă f are integrală pe, atunci funcţia de mulţime ν : R, ν()

Διαβάστε περισσότερα

CURS XI XII SINTEZĂ. 1 Algebra vectorială a vectorilor liberi

CURS XI XII SINTEZĂ. 1 Algebra vectorială a vectorilor liberi Lect. dr. Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei Algebră, Semestrul I, Lector dr. Lucian MATICIUC http://math.etti.tuiasi.ro/maticiuc/ CURS XI XII SINTEZĂ 1 Algebra vectorială

Διαβάστε περισσότερα

Criterii de comutativitate a grupurilor

Criterii de comutativitate a grupurilor Criterii de comutativitate a grupurilor Marius Tărnăuceanu 10.03.2017 Abstract În această lucrare vom prezenta mai multe condiţii suficiente de comutativitate a grupurilor. MSC (2010): 20A05, 20K99. Key

Διαβάστε περισσότερα

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

METODE NUMERICE: Laborator #5 Metode iterative pentru rezolvarea sistemelor: Jacobi, Gauss-Siedel, Suprarelaxare METODE NUMERICE: Laborator #5 Metode iterative pentru rezolvarea sistemelor: Jacobi, Gauss-Siedel, Suprarelaxare Titulari curs: Florin Pop, George-Pantelimon Popescu Responsabil Laborator: Mădălina-Andreea

Διαβάστε περισσότερα

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

CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă. Sala: 2103 Decembrie 2014 Conf. univ. dr.: Dragoş-Pătru Covei CURS 11: ALGEBRĂ Specializarea: C.E., I.E., S.P.E. Nota: Acest curs nu a fost supus unui proces riguros de recenzare pentru a fi oficial publicat.

Διαβάστε περισσότερα

Geometrie computationala 2. Preliminarii geometrice

Geometrie computationala 2. Preliminarii geometrice Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Geometrie computationala 2. Preliminarii geometrice Preliminarii geometrice Spatiu Euclidean: E d Spatiu de d-tupluri,

Διαβάστε περισσότερα

MARCAREA REZISTOARELOR

MARCAREA REZISTOARELOR 1.2. MARCAREA REZISTOARELOR 1.2.1 MARCARE DIRECTĂ PRIN COD ALFANUMERIC. Acest cod este format din una sau mai multe cifre şi o literă. Litera poate fi plasată după grupul de cifre (situaţie în care valoarea

Διαβάστε περισσότερα

prin egalizarea histogramei

prin egalizarea histogramei Lucrarea 4 Îmbunătăţirea imaginilor prin egalizarea histogramei BREVIAR TEORETIC Tehnicile de îmbunătăţire a imaginilor bazate pe calculul histogramei modifică histograma astfel încât aceasta să aibă o

Διαβάστε περισσότερα

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

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R În cele ce urmează, vom studia unele proprietăţi ale mulţimilor din R. Astfel, vom caracteriza locul" unui punct în cadrul unei mulţimi (în limba

Διαβάστε περισσότερα

Tehnici de Optimizare

Tehnici de Optimizare Tehnici de Optimizare Cristian OARA Facultatea de Automatica si Calculatoare Universitatea Politehnica Bucuresti Fax: + 40 1 3234 234 Email: oara@riccati.pub.ro URL: http://riccati.pub.ro Tehnici de Optimizare

Διαβάστε περισσότερα

Algebra si Geometrie Seminar 9

Algebra si Geometrie Seminar 9 Algebra si Geometrie Seminar 9 Decembrie 017 ii Equations are just the boring part of mathematics. I attempt to see things in terms of geometry. Stephen Hawking 9 Dreapta si planul in spatiu 1 Notiuni

Διαβάστε περισσότερα

8 Intervale de încredere

8 Intervale de încredere 8 Intervale de încredere În cursul anterior am determinat diverse estimări ˆ ale parametrului necunoscut al densităţii unei populaţii, folosind o selecţie 1 a acestei populaţii. În practică, valoarea calculată

Διαβάστε περισσότερα

Matrice. Determinanti. Sisteme liniare

Matrice. Determinanti. Sisteme liniare Matrice 1 Matrice Adunarea matricelor Înmulţirea cu scalar. Produsul 2 Proprietăţi ale determinanţilor Rangul unei matrice 3 neomogene omogene Metoda lui Gauss (Metoda eliminării) Notiunea de matrice Matrice

Διαβάστε περισσότερα

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

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy Metode Runge-Kutta Radu T. Trîmbiţaş 8 ianuarie 7 Probleme scalare, pas constant Dorim să aproximăm soluţia problemei Cauchy y (t) = f(t, y), a t b, y(a) = α. pe o grilă uniformă de (N + )-puncte din [a,

Διαβάστε περισσότερα

Subiecte Clasa a VIII-a

Subiecte Clasa a VIII-a Subiecte lasa a VIII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul

Διαβάστε περισσότερα

Conice - Câteva proprietǎţi elementare

Conice - Câteva proprietǎţi elementare Conice - Câteva proprietǎţi elementare lect.dr. Mihai Chiş Facultatea de Matematicǎ şi Informaticǎ Universitatea de Vest din Timişoara Viitori Olimpici ediţia a 5-a, etapa I, clasa a XII-a 1 Definiţii

Διαβάστε περισσότερα

Seminar Algebra. det(a λi 3 ) = 0

Seminar Algebra. det(a λi 3 ) = 0 Rezolvari ale unor probleme propuse "Matematica const în a dovedi ceea ce este evident în cel mai puµin evident mod." George Polya P/Seminar Valori si vectori proprii : Solutie: ( ) a) A = Valorile proprii:

Διαβάστε περισσότερα

riptografie şi Securitate

riptografie şi Securitate riptografie şi Securitate - Prelegerea 12 - Scheme de criptare CCA sigure Adela Georgescu, Ruxandra F. Olimid Facultatea de Matematică şi Informatică Universitatea din Bucureşti Cuprins 1. Schemă de criptare

Διαβάστε περισσότερα

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

Problema a II - a (10 puncte) Diferite circuite electrice Olimpiada de Fizică - Etapa pe judeţ 15 ianuarie 211 XI Problema a II - a (1 puncte) Diferite circuite electrice A. Un elev utilizează o sursă de tensiune (1), o cutie cu rezistenţe (2), un întrerupător

Διαβάστε περισσότερα

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 +

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 + Semnul local al unei funcţii care are limită. Propoziţie. Fie f : D (, d) R, x 0 D. Presupunem că lim x x 0 f(x) = l 0. Atunci f are local semnul lui l, adică, U 0 V(x 0 ) astfel încât sgnf(x) = sgnl,

Διαβάστε περισσότερα

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

CONCURS DE ADMITERE, 17 iulie 2017 Proba scrisă la MATEMATICĂ UNIVERSITATEA BABEŞ-BOLYAI CLUJ-NAPOCA FACULTATEA DE MATEMATICĂ ŞI INFORMATICĂ CONCURS DE ADMITERE, 7 iulie 207 Proba scrisă la MATEMATICĂ SUBIECTUL I (30 puncte) ) (0 puncte) Să se arate că oricare ar

Διαβάστε περισσότερα

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

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005. SUBIECTUL Editia a VI-a 6 februarie 005 CLASA a V-a Fie A = x N 005 x 007 si B = y N y 003 005 3 3 a) Specificati cel mai mic element al multimii A si cel mai mare element al multimii B. b)stabiliti care

Διαβάστε περισσότερα

Aplicaţii ale principiului I al termodinamicii la gazul ideal

Aplicaţii ale principiului I al termodinamicii la gazul ideal Aplicaţii ale principiului I al termodinamicii la gazul ideal Principiul I al termodinamicii exprimă legea conservării şi energiei dintr-o formă în alta şi se exprimă prin relaţia: ΔUQ-L, unde: ΔU-variaţia

Διαβάστε περισσότερα

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:, REZISTENTA MATERIALELOR 1. Ce este modulul de rezistenţă? Exemplificaţi pentru o secţiune dreptunghiulară, respectiv dublu T. RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii

Διαβάστε περισσότερα

Ecuatii trigonometrice

Ecuatii trigonometrice Ecuatii trigonometrice Ecuatiile ce contin necunoscute sub semnul functiilor trigonometrice se numesc ecuatii trigonometrice. Cele mai simple ecuatii trigonometrice sunt ecuatiile de tipul sin x = a, cos

Διαβάστε περισσότερα

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

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2 .1 Sfera Definitia 1.1 Se numeşte sferă mulţimea tuturor punctelor din spaţiu pentru care distanţa la u punct fi numit centrul sferei este egalăcuunnumăr numit raza sferei. Fie centrul sferei C (a, b,

Διαβάστε περισσότερα

Capitolul 3. Serii Fourier. a unei funcţii periodice de perioadă Dezvoltarea în serie Fourier

Capitolul 3. Serii Fourier. a unei funcţii periodice de perioadă Dezvoltarea în serie Fourier Capitolul Serii Fourier 7-8. Dezvoltarea în serie Fourier a unei funcţii periodice de perioadă Pornind de la discuţia asupra coardei vibrante începută în anii 75 între Euler şi d Alembert, se ajunge la

Διαβάστε περισσότερα

Subiecte Clasa a VII-a

Subiecte Clasa a VII-a lasa a VII Lumina Math Intrebari Subiecte lasa a VII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate

Διαβάστε περισσότερα

SEMINAR TRANSFORMAREA FOURIER. 1. Probleme

SEMINAR TRANSFORMAREA FOURIER. 1. Probleme SEMINAR TRANSFORMAREA FOURIER. Probleme. Să se precizeze dacă funcţiile de mai jos sunt absolut integrabile pe R şi, în caz afirmativ să se calculeze { transformata Fourier., t a. σ(t), t < ; b. f(t) σ(t)

Διαβάστε περισσότερα

Teme de implementare in Matlab pentru Laboratorul de Metode Numerice

Teme de implementare in Matlab pentru Laboratorul de Metode Numerice Teme de implementare in Matlab pentru Laboratorul de Metode Numerice As. Ruxandra Barbulescu Septembrie 2017 Orice nelamurire asupra enunturilor/implementarilor se rezolva in cadrul laboratorului de MN,

Διαβάστε περισσότερα

3. Momentul forţei în raport cu un punct...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...4

3. Momentul forţei în raport cu un punct...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...4 SEMINAR 3 MMENTUL FRŢEI ÎN RAPRT CU UN PUNCT CUPRINS 3. Momentul forţei în raport cu un punct...1 Cuprins...1 Introducere...1 3.1. Aspecte teoretice...2 3.2. Aplicaţii rezolvate...4 3. Momentul forţei

Διαβάστε περισσότερα

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

O generalizare a unei probleme de algebră dată la Olimpiada de Matematică, faza judeţeană, 2013 O generalizare a unei probleme de algebră dată la Olimpiada de Matematică, faza judeţeană, 2013 Marius Tărnăuceanu 1 Aprilie 2013 Abstract În această lucrare vom prezenta un rezultat ce extinde Problema

Διαβάστε περισσότερα

avem V ç,, unde D = b 4ac este discriminantul ecuaţiei de gradul al doilea ax 2 + bx +

avem V ç,, unde D = b 4ac este discriminantul ecuaţiei de gradul al doilea ax 2 + bx + Corina şi Cătălin Minescu 1 Determinarea funcţiei de gradul al doilea când se cunosc puncte de pe grafic, coordonatele vârfului, intersecţii cu axele de coordonate, puncte de extrem, etc. Probleme de arii.

Διαβάστε περισσότερα

Principiul Inductiei Matematice.

Principiul Inductiei Matematice. Principiul Inductiei Matematice. Principiul inductiei matematice constituie un mijloc important de demonstratie in matematica a propozitiilor (afirmatiilor) ce depind de argument natural. Metoda inductiei

Διαβάστε περισσότερα

Cum folosim cazuri particulare în rezolvarea unor probleme

Cum folosim cazuri particulare în rezolvarea unor probleme Cum folosim cazuri particulare în rezolvarea unor probleme GHEORGHE ECKSTEIN 1 Atunci când întâlnim o problemă pe care nu ştim s-o abordăm, adesea este bine să considerăm cazuri particulare ale acesteia.

Διαβάστε περισσότερα

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu INTRODUCERE Laborator 1: ÎN ALGORITMI Întocmit de: Claudia Pârloagă Îndrumător: Asist. Drd. Gabriel Danciu I. NOŢIUNI TEORETICE A. Sortarea prin selecţie Date de intrare: un şir A, de date Date de ieşire:

Διαβάστε περισσότερα

7 Distribuţia normală

7 Distribuţia normală 7 Distribuţia normală Distribuţia normală este cea mai importantă distribuţie continuă, deoarece în practică multe variabile aleatoare sunt variabile aleatoare normale, sunt aproximativ variabile aleatoare

Διαβάστε περισσότερα

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE 5.5. A CIRCUITELOR CU TRANZISTOARE BIPOLARE PROBLEMA 1. În circuitul din figura 5.54 se cunosc valorile: μa a. Valoarea intensității curentului de colector I C. b. Valoarea tensiunii bază-emitor U BE.

Διαβάστε περισσότερα

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.

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. Lucrare Soluţii 28 aprilie 2015 Varianta 1 I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2 Definiţie. Numărul întreg p se numeşte număr prim dacă p 0,

Διαβάστε περισσότερα

1. Sisteme de ecuaţii liniare Definiţia 1.1. Fie K un corp comutativ. 1) Prin sistem de m ecuaţii liniare cu n necunoscute X 1,...

1. Sisteme de ecuaţii liniare Definiţia 1.1. Fie K un corp comutativ. 1) Prin sistem de m ecuaţii liniare cu n necunoscute X 1,... 1. Sisteme de ecuaţii liniare Definiţia 1.1. Fie K un corp comutativ. 1) Prin sistem de m ecuaţii liniare cu n necunoscute X 1,..., X n şi coeficienţi în K se înţelege un ansamblu de egalităţi formale

Διαβάστε περισσότερα

Activitatea A5. Introducerea unor module specifice de pregătire a studenţilor în vederea asigurării de şanse egale

Activitatea A5. Introducerea unor module specifice de pregătire a studenţilor în vederea asigurării de şanse egale Investeşte în oameni! FONDUL SOCIAL EUROPEAN Programul Operaţional Sectorial pentru Dezvoltarea Resurselor Umane 2007 2013 Axa prioritară nr. 1 Educaţiaşiformareaprofesionalăînsprijinulcreşteriieconomiceşidezvoltăriisocietăţiibazatepecunoaştere

Διαβάστε περισσότερα

APLICAŢII ALE CALCULULUI DIFERENŢIAL. Material pentru uzul studenţilor de la FACULTATEA DE

APLICAŢII ALE CALCULULUI DIFERENŢIAL. Material pentru uzul studenţilor de la FACULTATEA DE 1 APLICAŢII ALE CALCULULUI DIFERENŢIAL Material pentru uzul studenţilor de la FACULTATEA DE MECANICĂ 2 Contents 1 Aplicaţii ale calculului diferenţial 5 1.1 Extreme ale funcţiilor reale de mai multe variabile

Διαβάστε περισσότερα

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

CURS VII-IX. Capitolul IV: Funcţii derivabile. Derivate şi diferenţiale. 1 Derivata unei funcţii. Interpretarea geometrică. Lect dr Facultatea de Hidrotehnică, Geodezie şi Ingineria Mediului Matematici Superioare, Semestrul I, Lector dr Lucian MATICIUC CURS VII-IX Capitolul IV: Funcţii derivabile Derivate şi diferenţiale 1

Διαβάστε περισσότερα

Sisteme liniare - metode directe

Sisteme liniare - metode directe Sisteme liniare - metode directe Radu T. Trîmbiţaş 27 martie 2016 1 Eliminare gaussiană Să considerăm sistemul liniar cu n ecuaţii şi n necunoscute Ax = b, (1) unde A K n n, b K n 1 sunt date, iar x K

Διαβάστε περισσότερα

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

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3 SEMINAR 2 SISTEME DE FRŢE CNCURENTE CUPRINS 2. Sisteme de forţe concurente...1 Cuprins...1 Introducere...1 2.1. Aspecte teoretice...2 2.2. Aplicaţii rezolvate...3 2. Sisteme de forţe concurente În acest

Διαβάστε περισσότερα

Să se arate că n este număr par. Dan Nedeianu

Să se arate că n este număr par. Dan Nedeianu Primul test de selecție pentru juniori I. Să se determine numerele prime p, q, r cu proprietatea că 1 p + 1 q + 1 r 1. Fie ABCD un patrulater convex cu m( BCD) = 10, m( CBA) = 45, m( CBD) = 15 și m( CAB)

Διαβάστε περισσότερα

* 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

* 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 FNCȚ DE ENERGE Fie un n-port care conține numai elemente paive de circuit: rezitoare dipolare, condenatoare dipolare și bobine cuplate. Conform teoremei lui Tellegen n * = * toate toate laturile portile

Διαβάστε περισσότερα

13. Grinzi cu zăbrele Metoda izolării nodurilor...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...

13. Grinzi cu zăbrele Metoda izolării nodurilor...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate... SEMINAR GRINZI CU ZĂBRELE METODA IZOLĂRII NODURILOR CUPRINS. Grinzi cu zăbrele Metoda izolării nodurilor... Cuprins... Introducere..... Aspecte teoretice..... Aplicaţii rezolvate.... Grinzi cu zăbrele

Διαβάστε περισσότερα

Curs 2 DIODE. CIRCUITE DR

Curs 2 DIODE. CIRCUITE DR Curs 2 OE. CRCUTE R E CUPRN tructură. imbol Relația curent-tensiune Regimuri de funcționare Punct static de funcționare Parametrii diodei Modelul cu cădere de tensiune constantă Analiza circuitelor cu

Διαβάστε περισσότερα

V O. = v I v stabilizator

V O. = v I v stabilizator Stabilizatoare de tensiune continuă Un stabilizator de tensiune este un circuit electronic care păstrează (aproape) constantă tensiunea de ieșire la variaţia între anumite limite a tensiunii de intrare,

Διαβάστε περισσότερα