Cap. 9. REZOLVAREA NUMERICĂ A PROBLEMELOR DE OPTIMIZARE

Σχετικά έγγραφα
Metode iterative pentru probleme neliniare - contractii

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

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

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

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

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

Metode de interpolare bazate pe diferenţe divizate

Sisteme diferenţiale liniare de ordinul 1

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

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

Esalonul Redus pe Linii (ERL). Subspatii.

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

Curs 1 Şiruri de numere reale

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

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

Seminar 5 Analiza stabilității sistemelor liniare

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

Algoritmi genetici. 1.1 Generalităţi

8 Intervale de încredere

Asupra unei inegalităţi date la barajul OBMJ 2006

Laborator 6. Integrarea ecuaţiilor diferenţiale

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

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

Curs 4 Serii de numere reale

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

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

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

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

Tehnici de Optimizare

prin egalizarea histogramei

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

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

Integrala nedefinită (primitive)

Sisteme liniare - metode directe

MARCAREA REZISTOARELOR

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

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


V O. = v I v stabilizator

3. ALGORITMI GENETICI

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

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

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

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

Subiecte Clasa a VIII-a

Aplicaţii ale principiului I al termodinamicii la gazul ideal

Curs 2 DIODE. CIRCUITE DR

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

2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER

Curs 2 Şiruri de numere reale

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

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

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

Conice - Câteva proprietǎţi elementare

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

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

Laborator 11. Mulţimi Julia. Temă

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

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

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

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

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

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

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

5.4. MULTIPLEXOARE A 0 A 1 A 2

Ecuatii trigonometrice

Teme de implementare in Matlab pentru Laboratorul de Metode Numerice

Functii Breviar teoretic 8 ianuarie ianuarie 2011

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

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

Metode iterative pentru rezolvarea sistemelor de ecuatii liniare

Proiectarea Algoritmilor 2. Scheme de algoritmi Divide & Impera

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

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

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

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

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

Criptosisteme cu cheie publică III

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


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

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

VII.2. PROBLEME REZOLVATE

Noţiuni introductive

9 Testarea ipotezelor statistice

CURS 8: METODE DE OPTIMIZARE PARAMETRICĂ

Stabilizator cu diodă Zener

Subiecte Clasa a VII-a

Exemple de probleme rezolvate pentru cursurile DEEA Tranzistoare bipolare cu joncţiuni

Progresii aritmetice si geometrice. Progresia aritmetica.

Aparate de măsurat. Măsurări electronice Rezumatul cursului 2. MEE - prof. dr. ing. Ioan D. Oltean 1

Matrice. Determinanti. Sisteme liniare

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

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

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

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

UNIVERSITATEA TEHNICĂ GH. ASACHI IAŞI FACULTATEA DE AUTOMATICĂ ŞI CALCULATOARE. Algoritmi genetici. Inteligenţă artificială - referat -

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

I. Noţiuni introductive

Analiza funcționării și proiectarea unui stabilizator de tensiune continuă realizat cu o diodă Zener

Transcript:

Cap. 9. REZOLVAREA NUMERICĂ A PROBLEMELOR DE OPTIMIZARE 9.1. Definirea unei probleme de optimizare În sens larg, optimizare înseamnă [D5], [I1] acţiunea de stabilire, pe baza unui criteriu prestabilit, a celei mai bune decizii într-o situaţie dată când sunt posibile mai multe decizii, precum şi acţiunea de implementare a deciziei stabilite precum şi a rezultatului acesteia. În sens restrâns, optimizare înseamnă doar acţiunea de stabilire a celei mai bune decizii (soluţii), numite decizie optimală (soluţie optimală). Enunţul unei probleme de optimizare (PO) în sens restrâns trebuie să conţină două elemente: A) modelul mediului la care se referă situaţia dată, B) criteriul de optimizare. Rezolvarea unei PO presupune existenţa unui al treilea element, şi anume: C) metoda de optimizare. În cele ce urmează vor fi făcute referiri la aceste trei elemente. A) Modelul mediului. Modelul mediului caracterizează procesul cauzal din cadrul mediului la care se referă PO şi reprezintă elementul pe baza căruia sunt estimate efectele diferitelor decizii care pot fi luate în considerare. Modelul mediului conţine patru categorii de relaţii: 1) Ecuaţiile procesului la care se referă PO, în diferite forme exprimate ca modele matematice ale proceselor. În cadrul acestora apar trei tipuri de mărimi: a) Variabile în timp: - de intrare (comandă), u U R m, - de stare, x X R n, - de ieşire, y Y R p. b) Variabila indepentă timp: t T 0f R pentru sisteme cu timp continuu (SC); t T 0f = {t 0, t 0+1,, t f } = {t = 0,, f Z} R pentru sisteme cu timp discret (SD). Domeniul T 0f se numeşte interval de optimizare (orizont de timp). În anumite probleme orizontul de timp este finit: T 0f = [t 0, t f ] R, cu t 0 şi t f finite pentru SC, respectiv 0 şi f finite pentru SD, iar în altele este infinit: T 0f = [t 0, ) R, cu t 0 finit pentru SC, respectiv 0 finit, f infinit pentru SD. Momentul t 0 (t 0 ) se numeşte moment iniţial şi t f (t f ) se numeşte moment final. c) Constante în timp (parametri): - parametri constructivi (de proiectare), p c P c R qc, - parametri de acordare (funcţionali), p a P a R qa. ) Domeniile admise pentru mărimile care apar în ecuaţiile procesului. Acestea au fost prezentate anterior, (U, X, Y, T 0f, P c, P a ). 3) Condiţiile iniţiale şi finale care se asociază capetelor (bornelor) t 0 (t 0 ) şi t f (t f ) ale orizontului de timp pe care a fost definită PO. Aceste condiţii se referă de regulă la mărimile de stare: 113

x(t 0 ) = x 0, x(t f ) = x f şi, mai rar, la mărimile de ieşire: y(t 0 ) = y 0, y(t f ) = y f, domeniile corespunzătoare având expresiile: x 0 X 0 X, x f X f X, respectiv: y 0 Y 0 Y, y f Y f Y şi purtând denumirile: - X 0, Y 0 varietate (domeniu) iniţial (de lansare), - X f, Y f varietate (domeniu) final (ţintă). 4) Condiţiile suplimentare impuse mărimilor care apar în ecuaţiile procesului. Aceste condiţii sunt datorate particularităţilor situaţiei în care se află mediul considerat. Ele pot fi exprimate printr-un sistem de ecuaţii algebrice şi / sau diferenţiale (cu diferenţe) şi / sau inecuaţii algebrice şi / sau integrale şi / sau diferenţiale (cu diferenţe), valabil pe întregul orizont de timp T 0f sau numai la anumite momente ale acestuia. În cazul utilizării unor ecuaţii, condiţiile suplimentare sunt numite restricţii de tip egalitate (RTE). Pe de altă parte, în cazul utilizării unor inecuaţii, condiţiile suplimentare sunt numite restriţii de tip inegalitate (RTI). Se numeşte proces admisibil sau traiectorie globală admisibilă orice soluţie a sistemelor de ecuaţii ale procesului menţionate la punctul 1), care aparţine integral domeniilor admise şi care satisface condiţiile iniţiale, finale şi suplimentare impuse. Se notează cu Π 0f mulţimea proceselor admisibile, care are expresia (9.1.1): Π 0f = {{x(t), u(t),, p a } x X, u U,, p a P a, t T 0f ; x 0 X 0,, y f Y f ; g(x,..., p a ) = 0, h(x,..., p a ) 0, t T 0f ; (9.1.1) g 0 (x 0,..., y 0 ) = 0, g f (x f,..., y f ) = 0}, în care cu g(x,..., p a ) = 0, g 0 (x 0,..., y 0 ) = 0 şi g f (x f,..., y f ) = 0 au fost exprimate RTE, iar cu h(x,..., p a ) 0 au fost exprimate RTI. B) Criteriul de optimizare. Criteriul de optimizare este exprimat în general prin funcţia obiectiv (numită şi funcţie criteriu sau funcţie cost şi abreviată FO) şi reflectă atitudinea faţă de FO, imprimată de problema de optimizare (PO). FO serveşte la evaluarea numerică a diferitelor decizii, iar atitudinea faţă de FO trebuie să specifice sensul de variaţie dorit al FO, minimizare sau maximizare. Funcţia obiectiv este de regulă o funcţională notată cu J: J : Π 0 f R, (9.1.) care asociază fiecărui proces admisibil Π = { x ( t), u( t),!, p a} Π 0 f un număr real prin care este apreciată calitatea absolută a procesului Π în raport cu mulţimea Π. J ( t, x 0 0 0 f Pentru sistemele cu timp continuu, forma generală a FO este (9.1.3):, t = θ( t, x 0 f, x 0 f, t, x( t), u( t), p, p f, x f ) + t f t0 c a ) = E( x( t), u( t), t) dt. 114 (9.1.3) Termenul θ, numit componentă de tip Mayer, evaluează calitatea capetelor traiectoriei.

Termenul integral, numit componentă de tip Lagrange, evaluează parcursul traiectoriei pe care evoluează procesul considerat. În consecinţă, se vorbeşte de criteriu de tip Mayer, corespunzător FO (9.1.4): J = θ t, x, t, x ), (9.1.4) ( 0 0 f f care penalizează capetelor traiectoriei şi de criteriu de tip Lagrange, corespunzător FO (9.1.5): J = t f t0 E( x ( t), u( t), t) dt, (9.1.5) care penalizează parcursul traiectoriei şi de criteriu de tip Bolza, corespunzător FO (9.1.3), care penalizează traiectoria în ansamblu. Pentru sistemele cu timp discret, forma generală a FO (de tip Bolza) este: J ( t, x, t, x, x, u, p, p ) = 0 = θ( t 0 h0, x f 0, t f f, x f ) + c 1 f E = 0 a ( x, u ), (9.1.6) aspectele de terminologie de la cazul cu timp continuu fiind valabile şi în cazul cu timp discret. O funcţie obiectiv discretă poate fi obţinută dintr-o FO continuă prin discretizare. În funcţie de precizarea sau nu a orizontului de timp, există probleme de optimizare dinamică (POD), pentru care precizarea orizontului de timp e fundamentală şi probleme de optimizare staţionară (POS), pentru care precizarea orizontului de timp nu e necesară nici pentru modelul mediului şi nici pentru FO şi în care interesează doar regimul staţionar al sistemului dinamic. În cazul POS, FO au expresia (9.1.7): J = θ( x, u). (9.1.7) C) Metoda de optimizare. Metoda de optimizare reprezintă ansamblul de mijloace utilizate pentru determinarea deciziei optimale pe baza modelului mediului şi a FO. Considerând o problemă de optimizare pentru care singura variabilă (singurul element programabil) este reprezentată (reprezentat) de comanda u(t) (pentru SC) sau u (pentru SD), adică o problemă de conducere optimală, se zice comandă (decizie) optimală acea funcţie de comandă û ( t) U sau u ˆ U, t T0 f, = 0, f 1, care extremizează FO J în sensul cerut de criteriul de optimizare. Mulţimea U reprezintă mulţimea comenzilor admisibile, adică mulţimea funcţiilor de comandă care apar în mulţimea Π a proceselor admisibile. Dacă mulţimea U este compactă, în cazul minimizării poate fi exprimat rezultatul: uˆ = arg min J ( u), u U. (9.1.8) u Altfel spus, comanda optimală este acea funcţie de comandă admisibilă care minimizează funcţia obiectiv J. În cazul sistemelor discrete, în care comanda optimală este reprezentată de un şir de vectori u ˆ, uˆ,!, uˆ } aplicat secvenţial la intrarea { 0 0+ 1 f 1 0 f 115

procesului condus, este vorba despre probleme de optimizare în mai mulţi paşi. În particular, există probleme de optimizare într-un singur pas, care din punct de vedere matematic nu se deosebesc de POS. Acestea sunt cunoscute şi sub numele de probleme de programare matematică, liniară, neliniară (pătratică, convexă). Pentru PO cu mai multe variabile / elemente programabile (de exemplu, t f, x f şi u) elementele programabile optimale sunt definite similar. Din punct de vedere al implementării comenzii optimale există probleme de conducere optimală în circuit deschis şi în circuit închis, situaţii în care se vorbeşte despre funcţii de comandă (decizie) optimală (indepente de starea / ieşirea procesului condus) respectiv de legi de comandă (decizie) optimală, uˆ = uˆ ( t, x) sau u ˆ = uˆ ( x ). Observaţii: 1. Orice problemă de maximizare poate fi transformată într-o problemă de minimizare prin schimbarea semnului FO.. Într-o PO valoarea FO e mai puţin importantă, contează doar ca valoarea sa să fie minimă. Enunţul unei PO poate fi exprimat sub următoarea formă generală: A : vˆ = arg min J = B( v), supusă la RTE, RTI, (9.1.9) v în care vˆ este soluţia optimală, v reprezintă variabilele problemei (elementele programabile, exprimate sub formă vectorială), A este înlocuită cu denumirea PO, B este înlocuită cu expresia FO şi v trebuie să aparţină mulţimii soluţiilor admisibile, ceea ce înseamnă că trebuie să verifice RTE şi RTI. În paragrafele următoare vor fi prezentaţi algoritmi de rezolvare numerică a unor clase de probleme de optimizare. 9.. Aspecte introductive privind rezolvarea numerică a problemelor de programare matematică fără restricţii Poblemele de optimizare fără restricţii (probleme fără restricţii, PFR) au următoarea formă generală: n PFR : vˆ = arg min J = f ( v), v R. (9..1) v Pentru rezolvarea PFR (9..1) vor fi considerate numai metodele numerice de descreştere (de relaxare), adică metodele care duc la descreşterea valorii funcţiei obiectiv f la fiecare iteraţie conform relaţiei: + 1 f ( v ) < f ( v ), = 0,1,..., (9..) unde este numărul iteraţiei curente. În general, metodele de relaxare au următoarea structură recurentă: + 1 v = v + s d, = 0,1,..., (9..3) în care vectorul d R n reprezintă direcţia de deplasare (de căutare) din punctul curent v, iar scalarul s > 0 este lungimea pasului de căutare (de deplasare). Rescrierea relaţiei (9..3) sub forma: + 1 v v = v = s d, = 0,1,..., (9..4) 116

arată că aproximaţia următoare, v +1, se obţine efectuând asupra lui v o corecţie Δv determinată exclusiv de direcţia d şi de pasul s, adoptate la iteraţia. În general, algoritmii de rezolvare numerică a PFR au următoarea formă (de exemplu, [I1]): Fie v 0 R n o estimaţie iniţială a minimului. Etapa 0 (iniţializare). Se iniţializează = 0. Etapa 1 (test de convergenţă). Dacă sunt satisfăcute condiţiile de convergenţă, algoritmul este terminat cu soluţia v. Altfel, se trece la etapa. Etapa (determinarea direcţiei de căutare). Se calculează direcţia de căutare, d. Etapa 3 (calculul lungimii pasului). Se calculează lungimea pasului s >0 astfel încât (a se vedea relaţiile (9..) şi (9..3)): f ( v + s d ) < f ( v ), = 0,1,.... (9..5) Etapa 4 (actualizarea estimaţiei minimului). Se efectuează: v v + s d, = + 1 şi se trece la etapa 1. Pentru convergenţa algoritmului către un minim local v * al funcţiei obiectiv f trebuie impuse condiţii atât asupra lui f cât şi asupra alegerii lui d şi s. Condiţiile impuse funcţiei obiectiv sunt: a) f este de clasă C (de două ori continuu diferenţiabilă), b) mulţimea { v 0 R n f(v) f(v 0 ) } este închisă şi mărginită. Referitor la alegerea lui d şi s, trebuie satisfăcută condiţia (9..5). În plus, trebuie asigurată la fiecare iteraţie o descreştere suficientă a lui f, iar d nu trebuie să fie ortogonală pe gradientul f v (v ). În aceste condiţii, gradienţii obţinuţi la iteraţiile procedurii satisfac condiţia (9..6): f v ( v ) 0. (9..6) lim = Observaţie: În algoritmul prezentat a fost utilizată pentru gradientul lui f calculat în punctul v * (este vorba despre derivata unei funcţii scalare f de variabilă vectorială v) notaţia următoare: T f!, v = 1 vn * v= v * f f f [ v v! v ] T v ( v ) = n. (9..7) v1 v Datorită necesităţii reducerii volumului de memorie şi efortului de calcul în vederea implementării algoritmului prezentat, la fiecare iteraţie,, informaţia disponibilă pentru stabilirea valorilor lui d şi s este strict limitată şi are caracter local, adică se referă la valorile funcţiei f şi eventual ale primelor derivate ale acesteia în punctul curent v. Din acest punct de vedere, metodele de relaxare expuse în continuare şi care diferă între ele prin algoritmii de alegere a parametrilor d şi s, pot fi clasificate după cum urmeză: A. Metodele de ordinul zero. Aceste metode necesită doar calculul valorilor FO f în punctul v şi, eventual, în câteva puncte vecine (de explorare). Din această categorie fac parte, spre exemplu, următoarele: - metodele de căutare ciclică după direcţiile axelor de coordonate, - variantele îmbunătăţite ale acestora de tip Hooe-Jeeves, - metodele de direcţii conjugate (Rosenbroc, Powell, Fletcher-Reeves ş.a.), - metoda simplex în varianta Nedler-Mead, 117

- metodele de căutare aleatoare care includ cele bazate pe algoritmi genetici, cele de călire simulată (simulated annealing), etc. Deşi sunt relativ simple şi uşor de implementat, metodele de ordinul zero nu sunt utilizate în problemele de conducere (decizie) optimală datorită incapacităţii de explorare a structurii particulare a acestor clase de probleme de optimizare. B. Metodele de ordinul I (de căutare liniară). Aceste metode necesită calculul valorii FO şi al gradientului acesteia în punctul curent v. Din această categorie fac parte: - metodele de gradient, - metodele de gradient conjugat, - metodele de metrică variabilă. Metodele de căutare liniară realizează un compromis favorabil între simplitate şi eficienţă, fiind utilizate cel mai des în practică. C. Metodele de ordinul II (de tip Newton). Aceste metode necesită calculul valorii FO, al gradientului şi hessianului acesteia precum şi inversarea hessianului în punctul curent v. Observaţie: Derivata a doua a unei funcţii reale f de variabilă vectorială v, calculată în punctul v *, are forma unei matrici pătratice numită matricea lui Hess (hessian): f f f " v v1 v v1 v 1 n f f f * " f v v v v v [ v v! v ] T vv ( v ) =, = 1 n v 1 n. (9..8) " f f f " vn v vn v 1 v n * Deşi sunt relativ complicate, metodele de tip Newton asigură o viteză de convergenţă ridicată şi o precizie ridicată de găsire a punctului de optim, vˆ. f = f ( v v= v Observaţie: În cele ce urmează vor fi utilizate notaţiile consacrate: ), f + 1 = f ( v + s d ), g = f v ( v ), G = f vv ( v ). (9..9) 9.3. Rezolvarea problemelor de programare matematică fără restricţii cu metode de căutare liniară În acord cu paragraful anterior, trebuie asigurată descreşterea valorii FO f la fiecare iteraţie. În acest scop, d va fi aleasă ca direcţie de descreştere (de coborâre) în v., adică satisfăcând condiţia (9.3.1): T ( g ) d < 0, = 0,1,.... (9.3.1) Dacă d este direcţie de descreştere, atunci există un s > 0 astfel încât: f ( v + s d ) < f ( v ), = 0,1,.... (9.3.) În continuare vor fi discutate metode de calcul al (alegere a) pasului de căutare s care asigură o descreştere suficientă în f(v ). A. Metode de căutare liniară exactă. Aceste metode urmăresc determinarea valorii optimale a pasului de căutare s, notată cu ŝ, din condiţia realizării minimului fucţiei obiectiv f în direcţia d : 118

f ( v + sˆ d ) = min s 0 f ( v + s d ). (9.3.3) Pentru rezolvarea problemei de optimizare (9.3.3) se consideră pentru simplitate funcţia: f R R, f ( s) = f ( v + s d ) f ( v ). (9.3.4) 1 : 1 Deci condiţia (9.3.3) poate fi scrisă sub forma simplă (9.3.5) de problemă cu restricţii de tip egalitate (PRE): PRE : sˆ = f1( s). (9.3.5) argmin s 0 Pentru rezolvarea problemei (9.3.5) pot fi folosite metode specifice de minimizare unidimensională. Aceste metode (de ordinul zero sau I) se bazează fie pe explorare directă, fie pe interpolare. A.1. Metode de explorare directă. Aceste metode constau în identificarea în prealabil a unui interval [a 0, b 0 ] R + care conţine punctul de minim ŝ, urmată de reducerea iterativă a lungimii acestui interval până la alegerea unei precizii impuse ε > 0 de localizare a lui ŝ. Dintre aceste metode sunt amintite: - metoda secţiunii de aur utilizează numai valori ale funcţiei f 1, - metoda bisecţiei este recomandată atunci când derivata funcţiei f 1 poate fi calculată relativ simplu, - metoda şirului lui Fibonacci asigură realizarea unei lungimi minime L i a intervalului în care se află ŝ pentru fiecare i dat. În continuare va fi prezentată metoda secţiunii de aur, care asigură avantajele de precizie satisfăcătoare, simplitate şi stabilitate în raport cu erorile de rotunjire. Se presupune că funcţia f 1 este convexă. Algoritmul metodei secţiunii de aur construieşte într-un număr finit de paşi un interval (de lungime cel mult egală cu ε) care conţine punctul de minim ŝ. Pornind de la o aproximaţie iniţială de forma [0, c], în etapele 1 6 este determinat un interval iniţial [a 0, b 0 ] care conţine pe ŝ. Apoi acest interval este contractat progresiv până la satisfacerea condiţiei de precizie L i ε, unde L i reprezintă lungimea intervalului [a i, b i ], L i = b i a i, care conţine pe ŝ. În final este obţinut punctul de minim ca medie aritmetică a limitelor intervalului de căutare: sˆ ai + bi = s =. (9.3.6) Considerând că sunt date numerele c > 0 şi ε > 0 şi definind: 3 5 1+ 5 F =, G = 1 F =, (9.3.7) algoritmul metodei secţiunii de aur constă în următorii paşi: 1. Se calculează f 1 (c).. Dacă f 1 (c) 0, atunci a 0 = 0, b 0 = 0 şi urmează salt la pasul 7. 3. Se iniţializează j = 1, d 1 = c. 4. Se calculează d j+1 = d j + c. 5. Se calculează f 1 (d j+1 ). 6. Dacă f 1 (d j+1 ) f 1 (d j ), atunci se iniţializează limitele actuale ale intervalului de căutare a 0 = d j, b 0 = d j+1 şi urmează salt la pasul 7. Altfel, se înlocuieşte j cu j + 1 şi se revine la pasul 4. 7. Se iniţializează i = 0. 119

8. Se calculează L i = b i a i. ai + bi Dacă L i ε, atunci se calculează sˆ = şi algoritmul este terminat. Altfel, se trece la pasul 9. 9. Se calculează u i = a i + F L i, v i = a i + G L i, f 1 (u i ), f 1 (v i ). 10. Dacă f 1 (u i ) < f 1 (v i ), atunci se actualizează limitele intervalului de căutare: a i+1 = a i, b i+1 = v i, apoi se înlocuieşte i cu i + 1 şi se revine la pasul 8. Altfel, se actualizează limitele intervalului de căutare conform altei formule: a i+1 = u i, b i+1 = b i, apoi se înlocuieşte i cu i + 1 şi se revine la pasul 8. Observaţii: 1. La fiecare iteraţie i este de fapt necesară o singură evaluare a funcţiei f.. Urmărind paşii algoritmului, se constată că L i+1 = G L i, deci lungimea intervalului scade în progresie aritmetică având raţia G specifică metodei secţiunii de aur. A.. Metode de interpolare. În ipoteza că funcţia f 1 este netedă, cele mai eficiente metode se bazează pe aproximarea lui f 1 cu o funcţie f * relativ simplă, iar minimul acestei funcţii poate fi calculat mai uşor decât minimul lui f 1 şi poate fi utilizat iterativ ca o estimaţie a minimului funcţiei f 1. De regulă, f 1 este aleasă o funcţie polinomială de grad mic (doi sau trei), iar metoda de minimizare este numită metoda interpolării polinomiale (pătratice, respectiv cubice). Este preferată interpolarea pătratică atunci când sunt disponibile doar valorile funcţiei sau atunci când este complicată evaluarea derivatei direcţionale a funcţiei f 1, conform formulei obţinute din (9.3.4): ' T 1 ( s) = f v ( v + s d ) d. (9.3.8) f În această situaţie funcţia f * are expresia: * f s) = c s + c s + c, c > 0, (9.3.9) ( 1 0 cu abscisa punctului de minim: sˆ c * 1 =. (9.3.10) c Pentru determinarea coeficienţilor din (9.3.9) sunt necesare trei valori calculate pentru abscisele s, s 1 şi s, astfel că expresia explicită a minimului devine: sˆ * = { f + f + f * * * ( s ( s ( s )[( s 1 )[( s )( s 1 ) ) ( s ( s s 1 ) + f ) ] + f ) ]} /{ f * ( s * * )( s ( s ( s 1 1 s )[( s )( s 10 )} ) s ( s 1 ) + ) ] +. (9.3.11) Această valoare va fi considerată ca o nouă aproximare, s +1, a minimului funcţiei f 1 şi algoritmul este repetat până la convergenţă. Exceptând prima iteraţie, la fiecare iteraţie metoda de interpolare pătratică necesită o evaluare a FO. Metodele robuste de minimiare unidimensională combină metoda interpolării polinomiale cu metodele de căutare care asigură reducerea intervalului de incertitudine în care se află minimul. Metodele din această categorie sunt cunoscute sub numele de metode protejate. Intrepolarea cubică este recomandată atunci când evaluarea derivatei funcţiei f 1 (gradientului lui f) nu este complicată.

B. Metode de căutare liniară aproximativă. Aceste metode sunt utilizate în majoritatea cazurilor când este urmărită doar asigurarea unei reduceri suficent de mici a FO f în lungul direcţiei de căutare d. În acest caz este dorită realizarea unui compromis între efortul necesar determinării unei valori cât mai bune s la fiecare iteraţie şi avantajul creat prin reducerea numărului de operaţii aritmetice. Una din metodele practice de minimizare aproximativă impune ca derivata direcţională în punctul ( v + s d ) să fie suficent de mică în raport cu cea din punctul v : T T v ( v + s d ) d ( g ) d, (9.3.1) f η cu 0 η < 1. Valoarea constantei η determină precizia cu care s aproximează pe ŝ. Precizia creşte pe măsura scăderii lui η (pentru η = 0 se obţine cazul particular al căutării liniare exacte). Pentru garantarea unei descreşteri suficiente poate fi impusă suplimentar o condiţie de forma (9.3.13): f f + 1 µ s (g ) T d, (9.3.13) cu 0 < μ < 1/. Valorile uzuale pentru constantele η şi μ sunt: 10 5 µ 10 1, µ < η < 1. (9.3.14) În baza relaţiilor (9.3.1) şi (9.3.13) rezultă o variantă a algoritmului metodei protejate de căutare liniară aproximativă. Algoritmul este destinat calculul lungimii pasului şi actualizării minimului conform etapelor 3 şi 4 ale algoritmului general prezentat în paragraful 9. şi constă în parcurgerea următorilor paşi: 1. Se iniţializează s = s > 0.. Dacă valoarea curentă a lui s satisface (9.3.1), atunci urmează salt la pasul 5. Altfel, se trece la pasul 3. T 3. Dacă f v ( v + s d ) d > 0, atunci se determină o nouă valoare a lui s utilizând, de exemplu, interpolarea cubică şi urmează salt la pasul. Altfel, se trece la pasul 4. T 4. Cazul f v ( v + s d ) d < 0. Se înlocuieşte v cu ( v + s d ) şi se actualizează valoarea lui s cu o formulă de extrapolare, prin înlocuire cu c s, în care < c < 10. Urmează salt la pasul. 5. Dacă valoarea curentă s satisface (9.3.13), atunci s ˆ = s şi algoritmul este terminat. Observaţii: 1. În algoritmul prezentat sunt repetate intepolarea şi extrapolarea până la satisfacerea simultană a ambelor condiţii, (9.3.1) şi (9.3.13).. O alegere a unei valori mici pentru μ (de exemplu, μ = 10 4 ) conduce în majoritatea cazurilor la satisfacerea condiţiei (9.3.13) atunci când (9.3.1) este deja satisfăcută. C. Metoda Armijo. Această metodă se bazează în principal pe condiţia de descreştere suficientă exprimată sub forma relaţiei (9.3.13), echivalentă cu: f + 1 f µ s (g ) T d. (9.3.15) 11

Condiţia (9.3.15) poate fi interpretată grafic (fig.9.1) prin necesitatea ca +1 în planul <s, f> diferenţa f f (notată cu (1)) să fie situată sub dreapta de T ecuaţie f = µ s (g ) d (notată cu ()). În fig.9.1 au fost marcate mulţimile de valori acceptabile pentru s. Algoritmul metodei Armijo constă în paşii prezentaţi în continuare: 1. Se efectuează iniţializarea: s = s > 0. Se alege β, 0 < β < 1.. Dacă valoarea curentă a lui s satisface (9.3.13), atunci s ˆ = s şi algoritmul este terminat. Altfel, se trece la pasul 3. 3. Se actualizează valoarea lui s prin înlocuire cu β s şi urmează salt la pasul. Fig.9.1. Punerea problemei în cazul metodei Armijo. D. Metodele cvasi-newton. Prin dezvoltarea în serie Taylor a funcţiei f ( v + s d ) în vecinătarea punctului v şi reţinerea doar a termenilor de ordinul întâi şi doi, rezultă: T f ( v + s d ) f + ( g ) s d + (1/ )( s d ) G ( s d ) =. (9.3.16) T T = f + ( g ) s d + (1/ )( s ) ( d ) G d Minimul expresiei (9.3.16) poate fi obţinut dacă următoarea funcţie de variabilă indepentă d (direcţia de căutare): n T T Φ : R R, Φ( d ) = ( g ) s d + (1/ )( s ) ( d ) G d, (9.3.17) * îşi atinge minimul. Anulând gradientul lui Φ, se obţine punctul staţionar d care satisface sistemul de ecuaţii liniare (9.3.18): Φ * * * * ( d ) = s g + ( s ) G d = 0 s G d = g. (9.3.18) d * În acest context, o metodă de minimizare cu direcţia de căutare optimală d * definită de (9.3.18) este numită metodă Newton, soluţia d este numită direcţie Newton, iar sistemul de ecuaţii liniare (9.3.18) este numit ecuaţie Newton. Metodele cvasi-newton construiesc iterativ o aproximare B, pozitiv definită, cu notaţia B > 0, a matricei hessian G, fără a calcula explicit pe G. Direcţia de căutare d este determinată ca soluţie a unui sistem analog lui (9.3.18): s B d = g, (9.3.19) în care pasul de căutare s este determinat cu una din metodele de căutare liniară descrise la punctele A, B şi C. Se introduce notaţia: +1 t = v v = s d T, (9.3.0) 1

pentru vectorul care exprimă modificarea în v la iteraţia. Pentru modificări mici în v poate fi scrisă următoarea relaţie aproximativă: f v ( v Notând: y + 1 + 1 + 1 ) f v ( v ) f vv ( v )( v v ) 13. (9.3.1) + = f v ( v + 1 ) f v ( v ) = g 1 g (9.3.) şi ţinând seama de faptul că B +1 +1 este o aproximaţie pentru hessianul f ( v ) relaţia (9.3.1) se transformă în ecuaţia cvasi-newton: +1 B t = y vv,. (9.3.3) Pentru B +1 este impusă în general şi condiţia de a fi simetrică şi pozitiv definită în vederea asigurării unei direcţii d de descreştere pentru f. Spre exemplu, poate fi impusă condiţia ca B +1 să fie soluţia următoarei PO: B ˆ + 1 + 1 PRE : = B B supusă la B +1 simetrică şi arg min + 1 B F B +1 satisface (9.3.3), (9.3.4) în care A F reprezintă norma Frobenius ponderată F a matricei A = ( ), cu expresia: a ij i= 1, n j= 1, m n m a ij i= 1 j= 1 A F =. (9.3.5) Atunci ˆ +1 B este dată de formula Powell-simetrică-Broyden: ˆ + 1 1 T T B = B + [( y B t )( t ) + t ( y B t ) ] T ( t ) t. (9.3.6) T ( y B t ) t T t ( t ) T [( t ) t ] Prin utilizarea unor alte variante de norme Frobenius ponderate rezultă două formule cunoscute: - formula Davidon-Fletcher-Powell: ˆ + 1 1 T T B = B + [( y B t )( y ) + y ( y B t ) ] T ( y ) t ; (9.3.7) T ( y B t ) t T y ( y ) T [( y ) t ] - formula Broyden-Fletcher-Goldfarb-Shanno: T T B ˆ + 1 1 1 = B + y ( y ) B t ( t ) B ; (9.3.8) T T ( y ) t ( t ) B t ambele au proprietatea că dacă B T > 0 şi ( y ) t > 0, atunci ˆ + B 1 > 0. Determinarea direcţiei de căutare d presupune rezolvarea unui sistem de ecuaţii liniare la fiecare iteraţie. De aceea, primele versiuni ale metodelor cvasi-newton au fost formulate în funcţie de inversa hessianului, H = (G ) 1. În aceste condiţii, direcţia de căutare este obţinută prin rescrierea ecuaţiei (9.3.18): d 1 = ( s ) H g, (9.3.9) iar condiţia cvasi-newton (9.3.3) devine:

+1 H y = t. (9.3.30) Problema principală în implementarea algoritmilor dedicaţi metodelor cvasi-newton constă în păstrarea pozitivităţii matricelor B sau H. Algoritmul de calcul al punctului de minim vˆ al funcţiei obiectiv f prin metoda cvasi-newton cu pas variabil este alcătuit din următorii paşi: 0. Se alege un punct iniţial v 0 R n. 1. Se iniţializează = 0.. Se calculează g = f ( v ). Dacă g = 0, atunci v v ˆ = v şi algoritmul este oprit. Altfel, se trece la pasul 3. 3. Se calculează B cu una din metodele cunoscute. Dacă B > 0, atunci se trece la pasul 4. Altfel, se calculează d = g şi urmează salt la pasul 5. 4. Se determină direcţia d rezolvând sistemul liniar B d = g. 5. Se determină pasul s utilizând unul din algoritmii prezentaţi în paragrafele A sau B. +1 6. Se calculează v = v + s d, se actualizează prin înlocuirea lui cu +1 şi se revine la pasul. E. Metodele de gradient. Aceste metode sunt tipic de ordinul I şi sunt caracterizate prin alegerea în fiecare punct curent v a unei direcţii de deplasare d opusă gradientului local: =. (9.3.31) d g Dezvoltând în serie Taylor funcţia f ( v + s d ) în vecinătarea punctului v şi reţinând doar termenii de ordinul întâi, se obţine: T + s d ) f ( v ) ( g s d. (9.3.3) f ( v + ) Însă, ( g ) T s d T = s ( g ) d s g, d 14, (9.3.33) egalitatea având loc numai în cazul (9.3.31). Prin urmare, pentru orice pas s > 0 alegerea direcţiei de căutare conform relaţiei (9.3.31) asigură local descreşterea maximă posibilă a funcţiei obiectiv f. Algoritmul de calcul al punctului de minim vˆ prin metoda gradientului este prezentat în cele ce urmează: 0. Se alege un punct iniţial v 0 R n astfel încât mulţimea { v R n f(v) f(v 0 ) } să fie mărginită. 1. Se iniţializează = 0.. Se calculează g = f v ( v ). Dacă g = 0, atunci v ˆ = v şi algoritmul este oprit. Altfel, se alege direcţia d = g şi se trece la pasul 3. 3. Se determină pasul s utilizând unul din algoritmii din paragrafele A sau B. +1 4. Se calculează v = v + s d, se actualizează prin înlocuirea lui cu +1 şi se revine la pasul. F. Metodele de gradient conjugat. Aceste metode au principalul avantaj că au o convergenţă bună, iar numărul de operaţii aritmetice necesare pe iteraţie este relativ redus. Prin urmare, aceste metode sunt utilizabile şi în rezolvarea unor PO de dimensiuni mari.

Direcţia de căutare pentru metodele de gradient conjugat este obţinută pe baza relaţiei (9.3.34): 1 d = g + β d, = 1,,..., (9.3.34) 0 0 cu d = g, iar parametrul scalar β este specific metodei şi contribuie la accelerarea vitezei de convergenţă. Parametrul β are următoarele expresii posibile care conduc la diverse variante de metode de gradient conjugat: - pentru metoda Fletcher-Reeves: T ( g ) g β = ; (9.3.35) 1 T 1 ( g ) g - pentru metoda Pola-Ribière: T 1 ( g ) ( g g ) β = ; (9.3.36) 1 T 1 ( g ) g - pentru metoda Hestenes-Stiefel: T 1 ( g ) ( g g ) β =. (9.3.37) 1 T 1 ( g g ) d Din motive de convergenţă, pentru implementările practice este recomandată reiniţializarea algoritmului după un număr de l n + 1 iteraţii, folosindu-se β l = 0. Din aceleaşi motive este recomandată utilizarea unei proceduri de căutare liniară exactă pentru determinarea lungimii s a pasului. Algoritmul de calcul al punctului de minim vˆ prin metoda gradientului conjugat este prezentat în cele ce urmează şi are următorii paşi: 0. Se alege un punct iniţial v 0 R n. 1. Se iniţializează = 0.. Se calculează g 0 = f ( v 0 v ). 0 Dacă g = 0, atunci v ˆ = v 0 şi algoritmul este oprit. 0 0 Altfel, se alege direcţia d = g şi se trece la pasul 3. 3. Se determină pasul optimal s = sˆ utilizând unul din algoritmii din paragraful A. +1 4. Se calculează v = v + s d. 5. Se calculează + 1 g = f ( v +1 v ). Dacă +1 +1 g = 0, atunci v ˆ = v şi algoritmul este oprit. Altfel, se trece la pasul 6. 6. Se calculează β +1 cu una din formulele cunoscute şi direcţia de căutare cu + 1 + 1 + 1 formula d = g + β d. Apoi, se actualizează prin înlocuirea lui cu +1 şi se revine la pasul 3. Metoda gradientului conjugat poate fi folosită şi în rezolvarea sistemelor de ecuaţii liniare (de exemplu, [P]). 9.4. Rezolvarea problemelor de programare matematică fără restricţii cu metode de ordinul II Metodele de ordinul II, cunoscute şi sub numele de metode de tip Newton, utilizează un model pătratic al funcţiei obiectiv f de forma (a se vedea şi relaţia (9.3.16)): 15

T T + s d ) f + s ( g ) d + (1/ )( s ) ( d G d. (9.4.1) f ( v ) Minimul FO f este obţinut dacă următoarea funcţie pătratică îşi atinge minimul în raport cu direcţia de căutare d : n T T Φ : R R, Φ( d ) = s ( g ) d + (1/ )( s ) ( d ) G d. (9.4.) Prin anularea gradientului lui Φ în punctul staţionar Newton (a se vedea relaţia (9.3.18)): s G d * = g * d, se obţine ecuaţia. (9.4.3) Dacă G este pozitiv definită, atunci minimul funcţiei pătratice Φ este obţinut într-un singur pas din orice punct de iniţializare. Rezultă, deci, o convergenţă locală bună a metodei Newton (concentrată pe relaţia (9.4.3)), fapt pentru care metodele de tip Newton sunt deosebit de atractive. În plus, datorită disponibilităţii derivatelor de ordinul întâi şi doi, metodele de tip Newton permit verificarea condiţiilor suficiente de optimalitate. Cu toate aceste avantaje, metodele de tip Newton în forma lor originală (s = 1) au următoarele dezavantaje: 1. Dacă matricea G este singulară, metodele de tip Newton nu sunt aplicabile. Această situaţie poate apare atunci când f este liniară pe anumite porţiuni, ceea ce implică G = 0.. Dacă G * > 0, este posibil ca direcţia Newton d să nu mai fie o direcţie de descreştere, adică f ( v + s d ) f ( v ). Deci, aproximaţia pătratică este valabilă doar într-un domeniu limitat. 3. Dacă hessianul G este inversabil dar nedefinit, metodele de tip Newton tind să conveargă atât către minim cât şi către maxime locale. În cele ce urmează vor fi prezentate două metode care reprezintă modificări ale metodei Newton originale. Ambele metode asigură o convergenţă globală şi permit utilizarea unor direcţii de curbură negativă d în puncte de tip şa, unde d = 0 şi G este nedefinită; o astfel de direcţie satisface (9.4.4): T ( d ) G d < 0 (9.4.4) şi serveşte întotdeauna reducerii valorii lui f în lungul lui d. A. Metoda Newton modificată. Această metodă utilizează un hessian modificat G > 0 în locul unui hessian nedefinit. Direcţia de căutare poate fi obţinută prin rezolvarea ecuaţiei (9.4.5): s G d = g, (9.4.5) a cărei soluţie este o direcţie de descreştere deoarece G > 0. Dacă G > 0, atunci se ia G = G. În cazul metodelor de tip Newon lungimea s a pasului este determinată cu o metodă de căutare liniară din cadrul celor studiate în paragraful 9.3. Rezolvarea ecuaţiilor (9.4.5) presupune utilizarea unei factorizări convenabile care să permită şi verificarea pozitivităţii lui G. Un exemplu de astfel de factorizare este factorizarea L D L T modificată care permite verificarea pozitivităţii lui G şi formarea matricei: T G = L D L = G + H, (9.4.6) 16

în care: H = diag(h i ), D = diag(d i ), L este matrice inferior triunghiulară cu elemente diagonale unitate, h i 0, d i > δ, l i β / d, i >, i = 1, n, iar β > 0 şi δ > 0 sunt alese convenabil (valoarea lui β trebuie să fie suficient de mare pentru ca G să nu fie modificată inutil). B. Metoda regiunii de încredere în model. Această metodă utilizează un model pătratic într-o regiune limitată, numită de încredere şi referitoare la norma direcţiei de căutare. Astfel, în punctul v direcţia d este soluţia următoarei probleme de optimizare: PRE : d arg min + T T = J = Φ ( d) = f + ( g ) d (1/ ) d G d, d supusă la d, (9.4.7) în care este o margine dată, care specifică raza sferei cu centrul în v, unde este valabilă aproximarea Φ (d) pentru f ( v + d). Poate fi observat faptul că în cadrul acestei metode lungimea pasului este egală cu unitatea. Algoritmul general al metodei regiunii de încredere pentru PFR porneşte cu elementele date: v 0 R n, Δ 0 > 0, 0 < μ < 1 şi constă în parcurgerea următorilor paşi: 0. Iniţializare. = 0. 1. Test de convergenţă. Dacă sunt satisfăcute condiţiile de convergenţă, algoritmul este terminat cu soluţia v. Altfel, se trece la pasul.. Determinarea direcţiei de căutare. Se calculează direcţia de căutare d ca soluţie a PO (9.4.7). 3. Calculul raportului dintre reducerea efectivă şi cea predictată de model. Se calculează: f ( v + d ) f ( v ) ρ =. (9.4.8) Φ ( d ) Φ ( 0) 4. Actualizarea estimaţiei minimului. Dacă ρ > µ, atunci se actualizează +1 v = v + d. +1 Altfel, v = v. 5. Actualizarea modelului. Se actualizează Δ, se actualizează prin înlocuire a lui cu +1 şi se revine la pasul 1. Pentru această metodă este caracteristic faptul că problema determinării direcţiei de căutare depinde numai de parametrul de control Δ. Deci, nu sunt necesare modificări ale modelului local pentru controlul lungimii pasului, iar toate ajustările sunt efectuate automat prin actualizarea lui Δ (la pasul 5) pe baza informaţiei conţinute în ρ. 9.5. Rezolvarea numerică a problemelor de programare liniară Problemele de programare liniară sunt probleme de optimizare cu restricţii de tip egalitate şi de tip inegalitate (probleme cu restricţii de tip egalitate şi de tip inegalitate, PREI), cu aplicaţii în multe domenii şi considerate ca parte a problemelor de cercetare operaţională. Definirea unei probleme de programare liniară în varianta standard este următoarea: T PREI : vˆ = arg min J = c v, supusă la A v = b, v 0, (9.5.1) v 17

în care v este vectorul coloană cu n componente al variabilelor. Constantele T sunt date sub forma unei matrice coloană b = b b... b, a matricei T A = [ şi a matricei linie c = c c... c ]. a ij ] i= 1, m j= 1, n [ 1 n 18 [ 1 m ] Observaţii: 1. Denumirea de liniară acordată problemei de optimizare este datorată faptului că FO este liniară şi restricţiile de tip egalitate reprezintă un sistem de ecuaţii liniare.. Importanţa PO (9.5.1) rezidă în faptul că ea corespunde scopului general de optimizare a utilizării unor resurse rare în condiţiile îndeplinirii unui anumit obiectiv. 3. În afară de forma standard a problemei de programare liniară, în practică sunt întâlnite şi alte forme care pot fi aduse la forma (9.5.1) fără dificultăţi majore. De exemplu, dacă restricţiile sunt doar de tip inegalitate într-o formulare iniţială a problemei, acestea pot fi transformate în restricţii de tip egalitate prin adunarea sau scăderea unor variabile (elemente programabile) suplimentare aferente problemei. Pe de altă parte, dacă obiectivul este de maximizare a FO J, atunci PO se transformă într-o problemă de minimizare prin schimbarea semnului matricei c. Toate metodele de rezolvare numerică a problemelor de programare liniară sunt bazate pe faptul că soluţia problemei se află pe frontiera mulţimii soluţiilor admisibile. Una din cele mai vechi metode este metoda simplex rezolvată cu algoritmul lui Dantzig (de exemplu, [P5]), care prezintă dezavantajul creşterii complexităţii pe măsura creşterii numărului variabilelor asociate problemei. De remarcat că pentru un număr de două variabile problemele de programare liniară pot fi rezolvate convenabil prin metode grafoanalitice utilizând interpretări specifice geometriei analitice. În continuare vor fi prezentate aspecte privind metoda lui Karmaar în varianta lui Barnes, referită în [P]. Metoda transformă problema de optimizare într-o formă mai convenabilă şi apoi efectuează căutarea în interiorul mulţimii soluţiilor admisibile utilizând o direcţie de căutare către frontiera acestei regiuni. Întrucât această metodă utilizează puncte interioare, este des cunoscută sub denumirea de metodă de punct interior. Pentru garantarea faptului că metoda porneşte dintr-un punct iniţial interior v 0 > 0 se adaugă o coloană matricei A, ale cărei elemente se obţin prin scăderea sumei coloanelor matricei A din matricea coloană b. Apoi, acestei coloane suplimentare i se ataşează o variabilă suplimentară şi un element suplimentar în matricea c T. Pentru a garanta faptul că variabila suplimentară tinde către zero atunci când este atins optimul, valoarea acestui element suplimentar trebuie să fie foarte mare. Conform acestei abordări este evident că v 0 = [1 1... 1] T se încadrează în restricţia menţionată, v 0 > 0. Prin urmare, algoritmul de rezolvare a problemei de programare liniară în varianta Barnes conţine următorii paşi: 0. Presupunând că PO are n variabile, se fac iniţializările: n i n+ 1 = bi aij j= 1 a,, c n+1 = 100000, v 0 = [1 1... 1] T, = 0. (9.5.) 1. Se iniţializează D = diag(v ), cu v = [v 1 v... v n ] T, şi se calculează un punct îmbunătăţit (din punctul de vedere al reducerii valorii FO) cu formula (9.5.3):

T + 1 s( D ) ( c A λ ) v = v, (9.5.3) T D ( c A λ ) unde prin norma matricei a fost notată cea mai mare valoare singulară a acesteia, vectorul λ este dat de (9.5.4): λ T 1 = [ A( D ) A ] A( D ) c, (9.5.4) iar pasul s este ales astfel încât este satisfăcută condiţia: s = min j= 1, n v j ( c j T D ( c A A j λ ) T α, supusă la ( c j n T j A j λ ) > 0, = 1,, (9.5.5) λ ) în care A j este a j-a coloană a matricei A şi α este o constantă de valoare oricât de mică. Trebuie remarcat faptul că vectorul λ reprezintă o valoare aproximativă a soluţiei problemei duale (descrisă în continuare).. Dacă valorile FO obţinute prin problema primală şi cea duală sunt +1 aproximativ egale, atunci v ˆ = v şi algoritmul este oprit. Altfel, se înlocuieşte cu + 1 şi se revine la pasul 1. Observaţii: 1. În pasul al algoritmului a fost folosit un rezultat important în programarea liniară conform căruia oricărei probleme primale (adică problema originală din (9.5.1)) îi corespunde o problemă duală şi în caz că există o soluţie a PO, valorile optimale ale FO sunt egale. Alte variante de rezolvare a PO utilizează modalităţi diferite de terminare a procesului iterativ de calcul.. Algoritmul asigură îmbunătăţirea iterativă a soluţiei pornind de la punctul iniţial v 0 şi calculul valorii maxime a pasului care garantează că v > 0 T în direcţia dată de ( D ) ( c A λ ). Această direcţie reprezintă elementul esenţial al algoritmului şi este de fapt proiecţia coeficienţilor FO în spaţiul restricţiilor. 9.6. Algoritmi genetici în rezolvarea problemelor de programare matematică Algoritmii genetici (AG), introduşi de J. Holland în 1975, fac parte dintr-o serie de metode moderne de căutare, care abordează cu succes probleme de optimizare complexe. Ei sunt bazaţi pe paradigma biologică a evoluţiei vieţii, mai exact pe mecanica selecţiei naturale şi a geneticii, rezultând algoritmi în care este implicat şi flerul inovator al căutării umane [G5]. Gândirea evolutivă este extinsă astăzi în afara ştiinţelor vieţii. Astfel, evoluţia este privită ca o metodă de optimizare bazată pe populaţie, putând fi simulată utilizând metode numerice asistate de calculator. Scopul acestui paragraf este de a introduce ideile de bază în mecanismele de operare din cadrul algoritmilor genetici, cu accent pe oferirea unui set de funcţii Matlab care implementează proprietăţile esenţiale ale unui AG. Pentru urmărirea unor aspecte detaliate privind AG sunt recomandate lucrările [D6] şi [G5]. În cele ce urmează va fi descrisă terminologia privind AG şi legătura cu rezolvarea asistată de calculator a problemelor de optimizare, în particular a celor de programare matematică. AG operează cu o populaţie iniţială care corespunde, de exemplu, valorilor numerice ale unei anumite variabile (unui anumit element 19

programabil). Dimensiunea acestei populaţii nu este constantă şi este în general depentă de problema de rezolvat. Membrii acestei populaţii sunt de regulă şiruri alcătuite din 0 şi 1, adică şiruri binare. În fig.9. este prezentat un exemplu de populaţie iniţială într-o primă generaţie şi având dimensiune mică (10): 1100010101 0000100010 1000000001 0001100010 1101110101 0001000100 1111111000 0000000001 1100001000 1111111111 Fig.9.. Exemplu de populaţie iniţială. Însă, în practică dimensiunea populaţiei este mult mai mare decât cea din exemplul prezentat. În plus, şirurile au lungime mai mare. Şirurile binare pot reprezenta valorile codate ale unei sau unor variabile de interes. Populaţia iniţială este generată aleator, iar pentru caracterizarea acesteia poate fi utilizată terminologia specifică geneticii. Astfel, fiecare şir în cadrul populaţiei corespunde unui cromozom şi fiecare bit (element binar) al şirului corespunde unei gene. Priviţi din punctul de vedere al problemelor de optimizare, cromozomii reprezintă variabilele problemei. Cromozomii reprezintă elemente ale unei structuri funcţionale numite genom. Fiecare genom îşi începe ciclul de viaţă ca o mulţime de cromozomi generaţi aleator. Colecţia genomilor alcătuieşte populaţia. Un AG efectuează operaţii specifice în cadrul unui proces de reproducere guvernat de către operatori genetici. Soluţiile noi sunt create prin selecţia şi recombinarea cromozomilor existenţi, în vederea optimizării unei funcţii de evaluare (funcţie de performanţă, fitness ), aleasă pentru fiecare problemă în parte. De exemplu, dacă problema de rezolvat este o problemă de optimizare, funcţia de evaluare ar putea fi funcţia obiectiv sau inversul acesteia. Semnificaţia funcţiei respective este irelevantă pentru algoritm, ceea ce contează fiind doar valoarea sa. În tabelul 9.1 este prezentată o populaţie formată din 10 cromozomi, fiecare codat cu câte 10 biţi, precum şi valorile succesive ale funcţiei de evaluare. Tabelul 9.1. Exemplu de populaţie şi funcţia de evaluare aferentă. Nr. crt. Cromozomi Funcţie de evaluare 1 3 4 5 6 1100010101 0000100010 1000000001 0001100010 1101110101 0001000100 9 7 6 5 5 4 130

7 8 9 10 1111111000 0000000001 1100001000 1111111111 3 3 1 Total: 45 Plecând de la populaţia iniţială, trebuie dezvoltată o populaţie nouă, fiecare populaţie nouă generată prin reproducere înlocuind generaţia anterioară. În acest proces funcţia de evaluare globală se va îndrepta spre optim şi va oferi soluţii din ce în ce mai bune ale problemei. Procesul este analog teoriei neodarwiniste a evoluţiei în biologie, care afirmă că organismele (sistemele) adaptate continuu la schimbările de mediu au şansele cele mai mari de supravieţuire. Cei mai des folosiţi operatori genetici în dezvoltarea noilor populaţii sunt selecţia, încrucişarea, inversiunea şi mutaţia. Aceşti operatori vor fi descrişi în cele ce urmează. Trebuie remarcat că operatorii genetici acţionează asupra genomilor şi, în particular, asupra cromozomilor. 1. Selecţia. Operatorul de selecţie (naturală) este destinat alegerii unui set de cromozomi (şiruri) din populaţie pentru a-i (a le) reproduce. Membrii populaţiei sunt aleşi pentru reproducere pe baza valorii funcţiei lor de evaluare, iar membrilor populaţiei le este acordată o probabilitate de reproducere proporţională cu valoarea funcţiei lor de evaluare fiind preferaţi cei cu o valoare cât mai mare a funcţiei de evaluare. Există trei tehnici de selecţie: Selecţia pe baza principiului ruletei, care modelează mecanismul selecţiei naturale, în care cromozomii cu o funcţie de evaluare mai mare au o şansă mai mare de a fi aleşi. Situaţia este prezentată în fig.9.3 în legătură cu populaţia din fig.9.; de exemplu, cromozomul 1 are probabilitatea de 0 (9 / 45) de a fi selectat. Selecţia pe baza rangului, în care probabilitatea de a fi ales este o funcţie liniară de locul ocupat de individ (cromozom) în cadrul populaţiei. Avantajul constă în faptul că nu este necesară scalarea permanentă a funcţiei de evaluare, care este obligatorie la selecţia pe baza principiului ruletei (pentru prevenirea apariţiei indivizilor dominanţi, care conduc la convergenţa spre o soluţie care nu este optimală). Selecţia elitistă, tehnică euristică destinată reţinerii întotdeauna a celui mai bun cromozom al populaţiei. Această tehnică va garanta convergenţa asimptotică spre un minim global, însă viteza de convergenţă diferă de la o problemă de optimizare la alta. 131

Fig.9.3. Aplicarea principiului ruletei relativ la populaţia din fig.9... Încrucişarea. Acest operator creează noi membri (urmaşi, succesori) ai populaţiei prin schimbul unor gene provenind din doi cromozomi-părinte (două şiruri-părinte) c 1 şi c selectate / selectaţi în prealabil pe baza funcţiei lor de evaluare. Există mai multe variante de implementare a operatorului de încrucişare, utilizând un singur punct de încrucişare sau mai multe. Punctele de încrucişare sunt alese aleator. În cele ce urmează sunt prezentate două exemple de aplicare a operatorului de încrucişare, în care poziţia bitului (genei) este considerată dinspre stânga spre dreapta. Exemplul 9.1: Încrucişarea cu un singur punct de încrucişare. Fie a= punctul de încrucişare (după ce-l de-al doilea bit). Se consideră că au fost selectaţi cromozomii: c 1 : 1 1 0 0 0 1 0 1 0 1, c : 0 0 0 0 1 0 0 0 1 0. În urma aplicării operatorului de încrucişare rezultă succesorii: u 1 : 1 1 0 0 1 0 0 0 1 0, u : 0 0 0 0 0 1 0 1 0 1. Exemplul 9.: Încrucişarea cu două puncte de încrucişare. Se consideră că punctele de încrucişare sunt a = şi a = 7 (între ce-a de-a doua şi cea de-a şaptea genă). Se consideră că au fost selectaţi aceiaşi cromozomi: c 1 : 1 1 0 0 0 1 0 1 0 1, c : 0 0 0 0 1 0 0 0 1 0. În urma aplicării operatorului de încrucişare rezultă cromozomii din noua generaţie: u 1 : 1 1 0 0 1 0 0 0 0 1, u : 0 0 0 0 0 1 0 1 1 0. Fiecărui cromozom îi corespunde o anumită probabilitate de încrucişare, de regulă în domeniul [0.6, 0.95]. Aplicând operatorul de încrucişare populaţiei, este obţinută o nouă generaţie, fapt ilustrat din cele două exemple. 3. Inversiunea. Acest operator alege două puncte din cromozom şi inversează ordinea genelor situate între aceste puncte, numite puncte de inversiune şi alese aleator. Noul cromozom este obţinut concatenând genele reordonate. De exemplu, pornind de la cromozomul: c 1 : 1 1 0 0 0 1 0 1 0 1 şi schimbând ordinea genelor între punctele şi 4, se obţine noul cromozom: u 1 : 1 0 0 1 0 1 0 1 0 1. 13

4. Mutaţia. Procesul final de obţinere a unei generaţii este reprezentat de mutaţie, cel mai simplu operator genetic. Acest operator basculează aleatoriu o anumită genă (un anumit bit) a / al cromozomului. Scopul său este introducerea a noi soluţii (şiruri) în cadrul populaţiei şi protejarea AG împotriva pierderii irevocabile şi accidentale a informaţiei datorită unor încrucişări nepotrivite. Operatorul de mutaţie este utilizat foarte rar, motiv pentru care această probabilitate de modificare a unui şir este menţinută la un nivel foarte scăzut, între 0.001 şi 0.01. Totuşi, operatorul de mutaţie contribuie la evitarea punctelor de extrem local. Operatorii genetici, cu încrucişarea şi mutaţia în rol principal, asigură principalele diferenţe dintre algoritmii genetici şi metodele numerice de descreştere utilizate în rezolvarea problemelor de optimizare. Pornind de la o populaţie iniţială şi utilizând operatorii genetici, AG dezvoltă generaţii noi care explorează rapid mulţimea soluţiilor admisibile (regiunea de interes) în vederea obţinerii soluţiei optimale. Acest lucru subliniază avantajele utilizării AG faţă de metodele menţionate: rezolvarea numerică a problemelor de optimizare dificile din punctul de vedere al expresiilor funcţiei obiectiv şi restricţiilor, rezolvarea numerică a PO caracterizate prin FO cu mai multe extreme locale, maxime şi minime. În aceste situaţii metodele numerice de descreştere pot localiza doar minime (maxime) locale, iar AG pot localiza minime (maxime) globale deşi nu este garantată obţinerea lor. În cele ce urmează vor fi prezentate pe scurt aspectele teoretice care justifică avantajele utilizării AG, concentrate asupra noţiunilor de scheme şi blocuri. O schemă este un şablon (formă) care descrie o submulţime a unui cromozom având asemănari în poziţii diferite ale cromozomulului iniţial. Introducând în alfabet metasimbolul indiferent (*), schema asigură o modalitate compactă de a analiza similitudinile bine definite între cromozomi. Motivul utilizării schemelor rezidă din studiul structurii cromozomilor generaţi în cadrul unui AG, situaţie în care pot fi observate anumite şabloane (forme) de comportament. Adeseori cromozomii cu valori mari ale valorii funcţiei de evaluare au trăsături comune caracterizabile prin anumite combinaţii ale genelor (şirurilor binare). De exemplu, acceptând un număr de 9 gene în cadrul fiecărui cromozom, cromozomii (şirurile) cu cele mai mari valori ale funcţiei de evaluare pot avea trăsătura comună caracterizată prin faptul că fie încep cu 11 şi sunt terminaţi (terminate) cu 0 fie că la mijlocul cromozomului tţi cei trei biţi sunt 0. Cromozomii având aceste structuri pot fi rprezentaţi sub forma unor scheme, 11******0 respectiv ***000***. În plus, motivul interesului acordat schemelor este legat de necesitatea studiului propagării acestor tipuri de cromozomi care au structură comună şi sunt asociate cu valori mari ale funcţiei de evaluare. Lungimea unei scheme este definită ca distanţa dintre cele mai exterioare valori ale genelor specificate. În continuare sunt consideraţi cromozomi de lungime l, genele fiind 0 şi l 1. În acest caz, un cromozom este un element din spaţiul { 0,1} şi schema l reprezintă un element S din spatiul { 0,1,*}, adică o secvenţă de lungime l constituită din simbolurile 0, 1 şi (*). Un cromozom este o instanţă (un exemplu) a (al) unei scheme dacă fiecărei poziţii din cromozom diferite de (*) 133