of 17/17
Universitatea Politehnica din Bucuresti Facultatea de Inginerie Electrica Elaborarea si testarea algoritmilor de optimizare. Analiza performantelor numerice pe aplicatii test STUDENT: PIRVU ANDREEA-ELENA

Elaborarea Si Testarea Algoritmilor de Optimizare

  • View
    61

  • Download
    22

Embed Size (px)

DESCRIPTION

mate

Text of Elaborarea Si Testarea Algoritmilor de Optimizare

Universitatea Politehnica din BucurestiFacultatea de Inginerie Electrica

Elaborarea si testarea algoritmilor de optimizare. Analiza performantelor numerice pe aplicatii test

STUDENT: PIRVU ANDREEA-ELENA

GRUPA: IPSE1

BUCURESTI2015

1. Testarea Algoritmului Simplex Downhill (ASD) pentru o funcie obiectiv convex simpl, cu 2 parametri (Ftest2par.m). Se lanseaz n execuie fiierul MATLAB ASD_Ftest2par.m. Se modific eroarea eps (precizia de cutare) n intervalul 10-9 i 10-2 i se traseaz: a) graficul nr_evaluari = f(eps) b) graficul param_optim_X = f(eps) c) graficul param_optim_Y = f(eps) d) graficul val_min_f_obiectiv = f(eps) e) graficul curbelor de nivel ale funciei obiectiv (reprezentare n plan) cu evoluia punctului optim curent ctre minimul gsit (graficul se traseaz pentru o singur valoare a lui eps).

Pentru a testa Algoritmului Simplex Downhill (ASD) putea rula programul ASD_Ftest2par in Matlab,modificand astfel valoarea erorii eps incepand cu valoarea 10-9 pana la 10-2.Din Matlab extragem valorile nr_evaluari,param_optim_x,param_optim_y si val_min_f_obiectiv pentru diferitele valori ale erorilor. Vom realiza un tabel cu datele si vom face graficele in functie de eroarea eps.

epsnr_evaluariparam_optim_xparam_optim_yval_min_f_obiectiv

1E-09195256

1E-08185256

1E-0717024,996

1E-061421,99985,00046

1E-051221,9995,000146

1E-041022,00744,99986,0001

1E-03821,98434,98876,0004

1E-02631,94395,05056,0057

a)

b)

c)

d)

e) ) graficul curbelor de nivel ale funciei obiectiv (reprezentare n plan) cu evoluia punctului optim curent ctre minimul gsit (eps= 10-2)

Din cele doua ultime grafice observam ca am obtinut valoarea minima cu ajutorul algoritmului. Acest algoritm determinist asigura aflarea punctului de minim global in cazul functiilor obiectiv de tip unimodal.Dupa realizarea graficelor am putut observa ca pe masura ce valoarea erorii creste,numarul de evaluari creste ,obtinandu-se astfel parametrii doriti ,insa in cazul unor erori mici, algoritmul nu mai ofera randament , deoarece se opreste atunci cand atinge eroarea impusa , iar algoritmul se opreste fara a mai continua sa caute o alta valoare mai eficienta.

2. Testarea Algoritmului Simplex Downhill (ASD) pentru o funcie obiectiv cu 2 parametri, cu mai multe minime, (Camila.m). Se lanseaz n execuie fiierul MATLAB ASD_Camila.m. Se modific eroarea eps (precizia de cutare) n intervalul 10-9 i 10-2 i se traseaz:- graficul val_min_f_obiectiv = f(eps)- graficul nr_evaluari = f(eps)- graficul param_optim_X = f(eps)- graficul param_optim_Y = f(eps)-graficul curbelor de nivel ale funciei obiectiv (reprezentare n plan) i evoluia punctului optim curent ctre minimul gsit (graficul se traseaz pentru o singur valoare a lui eps).Ca si in cazul Algoritmului Simplex Downhill (ASD),(Ftest2par.m), vom apela functia si vom lua fiecare eroare incepand cu 10-9 pana la 10-2.Din Matlab extragem valorile nr_evaluari,param_optim_x,param_optim_y si val_min_f_obiectiv pentru diferitele valori ale erorilor. Vom realiza un tabel cu datele si vom face graficele in functie de eroarea eps.epsnr_evaluariparam_optim_xparam_optim_yval_min_f_obiectiv

1E-09199-0,08990,7127-1,0316

1E-08179-0,08990,7127-1,0316

1E-07169-0,08980,7127-1,0316

1E-06150-0,090,7127-1,0316

1E-05131-0,08930,7125-1,0316

1E-04116-0,9130,7132-1,0316

1E-0376-0,13890,7131-1,0223

1E-0276-0,13890,7131-1,0223

a)

b)

c)

d)

e) -graficul curbelor de nivel ale funciei obiectiv (reprezentare n plan) i evoluia punctului optim curent ctre minimul gsit

In cazul acestui algoritm se poate observa ca eroarea impusa face ca algoritmul sa converge mai greu pentru o eroare mai mica,dar obtine valori de parametrii optimi impusi,iar pentru cazul in care eorile sunt mici , acest algoritm converge mai repede,insa erorile sunt mai mari ,oprindu-se mai repede convergenta pentru o valoare minima a functiei obiectiv.

3) Se consider o coloan de transformator a crei seciune transversal se ncadreaz ntr-un cerc cu raza R, ca n Fig. 1. Valoarea parametrului geometric R (raza coloanei) este individual, fiind indicat pentru fiecare student n parte n tabelele de mai jos. Coloana de transformator este realizat din pachete de tole, n dou trepte.

Fig. 1. Coloan de transformator n dou trepte.S se determine limile optime ale celor dou trepte (L1 i L2) aa nct suprafaa de oel So asociat seciunii transversale a coloanei s fie maxim. Not: Pentru rezolvarea aplicaiei 3 se va exprima suprafaa So n funcie de cele dou limi (L1 i L2) i se va utiliza ASD cu doi parametri n vederea maximizrii funciei : So = f(L1, L2).]Stiim ca:

Functia:function out = Latimi trepte(x,y)global nr_evaluari;global R;nr_evaluari = nr_evaluari +1out= pi*(R^2)/2-2*x*sqrt(R^2-x^2)-2*y*sqrt(R^2-(x+y)^2);Valorile utilizate R=66[mm]eps=1e-9Am obtinut:

L2 =112.2859 L1 = 69.3965Param_optim_x=34.6983Param_optim_y = 21.4447Aria_cerc = 1.3685e+04Aria_totala_trepte = 9.6317e+03Arie_ramasa = 4.0530e+03Programul rulat pentru a obtine valorile latimilor optime ale treptelor unei coloane de transformator reprezinta un algoritm de optimizare pentru mai multe erori de cautare.Marimea razei ,R, are un efect considerabil pentru latimile treptelor,deoarece acestea vor creste atat in lungime cat si in latime,indicand spre un dreptunghi care nu ofera o suprafata optima ca aceea a unui patrat.

4) Se va elabora un raport care conine:- informaii generale privind probleme i algoritmi de optimizare- descrierea pe scurt a algoritmului ASD - rezultate obinute (grafice) prin testarea ASD - rezolvarea problemei de optimizare a coloanei de transformator cu dou trepte folosind un algoritm de optimizare (la alegere)- concluzii privind rezultatele numerice obinute.

OPTIMIZAREA SI ALGORITIMI DE OPTIMIZAREConceptul de optimizare este bine ncetenit ca principiul de baz n analiza problemelor complexe de decizie sau alocare. Folosirea optimizrii se bazeaz pe concentrarea ateniei asupra unui singur obiectiv conceput s cuantifice performana i calitatea deciziei ntr-o problem ce ar necesita determinarea valorilor unui numr mare de variabile interconectate. Acest obiectiv este maximizat sau minimizat supus unor restricii care s limiteze alegerea variabilelor de decizie. Dac un aspect al problemei poate fi identificat i caracterizat printr-un obiectiv (de exemplu: profitul ntr-o afacere) atunci optimizarea poate s ofere un cadru adecvat pentru o astfel de analiz. Optimizarea ar trebui privit ca un instrument de concepere i analiz, i nu ca un principiu care s duc la soluia corect din punct de vedere filozofic. Formularea problemei implic ntotdeauna gsirea unui echilibru ntre construirea unui model suficient de complex pentru a descrie ct mai bine problema i uurina de rezolvare a acestuia.Proiectarea optimal a mainilor electrice n raport cu anumite criterii impuse de beneficiar face apel tot mai frecvent la tehnici de analiz numeric evoluate care au la baz modele de cmp pilotate de algoritmi inteligeni de optimizare numeric. Algoritmii de optimizare numeric au cunoscut n ultimii ani o dezvoltare continu i un grad tot mai ridicat de aplicare n concepia i optimizarea echipamentelor i proceselor, respectiv n rezolvarea problemelor inverse.Concepia asistat de calculator cuplat cu algoritmi de optimizare eficieni:-simplific sarcina inginerului proiectant,-diminueaza timpul de lucru i costurile de personal.

Algoritmii de optimizare numerica se impart in doua mari clase, si anume algoritmi deterministi si algoritmi stochastici.Algoritmul Simplex-Downhill (detalii, operaii, paii algoritmului) ASD este un algoritm determinist de ordin 0, necesitnd evaluri doar ale funciei obiectiv, nu i ale derivatelor sale.In literatura de specialitate, poate fi numita metoda Monte Carlo sau algoritmul stochastic. Algoritmi random search sunt utili in rezolvarea problemelor de optimizri globale prost structurate, n cazul n care funcia obiectiv poate fi nonconvexa i, eventual, discontinua pe un domeniu continuu, discret, sau mixte (continuu-discrete). O problem optimizrii globale cu variabile continue poate conine mai multe optime locale sau puncte staionare. O problem cu variabile discrete se ncadreaz n categoria de optimizre combinatorica. O combinaie de variabile continue si discrete apare n multe sisteme complexe, inclusiv probleme de proiectare, programare, i alte aplicaii n sistemele biologice i economice.

Algoritmul Simplex Downhill este unul dintre algoritmii de optimizare numerica cei mai robusti si simpli de implementat. Acest algoritm de tip determinist asigura aflarea punctului de minim global in cazul functiilor obiectiv de tip unimodal. Dezavantajul sau principal, comun tuturor algoritmilor deterministi, iese in evidenta in cazul functiilor obiectiv cu mai multe puncte de minim cand plecand de la aceleasi puncte initiale algoritmul conduce intotdeauna la aceeasi solutie care nu este neaparat minimul global al functiei obiectiv. Acest dezavantaj poate fi depasit repornind algoritmul din diferite puncte de plecare initiale distribuite aleator sau uniform in domeniul de cautare. Ulterior cea mai mica valoare selectata din lista punctelor de minim corespunzatoare diferitelor puncte de plecare initiale va fi considerata punct de minim global al problemei de optimizare. In practica, o buna parte dintre problemele de optimizare bine formulate avand suport fizic nu au decat un singur punct de minim care este de fapt punctual de minim global al functiei obiectiv.

Avantajele ASD: simplitate si robustee.Un simplex este o figur geometric care n cazul problemelor cu n parametri este un poliedru cu n+1 vrfuri, ce conine toate interconexiunile de tip segmente ntre vrfuri, fee poligonale, etc.Probleme de optimizare cu:- 2 parametrii => simplex = triunghi,- 3 parametrii => simplex = tetraedru etc.Prezinta interes structurile simplex nedegenerate, care delimiteaz un volum interior n - dimensional nenul.n cazul problemelor de optimizare n - dimensionale ASD are nevoie de n+1 puncte de plecare care definesc simplexul iniial. ASD presupune o serie de pai, in mare parte pentru a deplasa punctul n care FO ia valoarea cea mai mare (pt. pb. de minimizare). Deplasarea acestui punct se face spre faa opus a simplexului, ntr-un punct n care se presupune c FO ia o valoare mai mic. Acest tip de operaie se numete reflexie i este construit aa nct simplexul s pstreze acelai volum ca cel iniial. Pentru a accelera viteza de cutare, simplexul este capabil s efectueze i operaii de expansiune.Algoritmul Random SearchARS face parte din clasa algoritmilor stochastici si permite o explorare aleatoare a domeniului de cautare in vederea gasirii punctului de minim al functiei obiectiv.Avantajele ARS:- Este un algoritm de ordinul 0, deci nu necesita decat evaluarea functiei obiectiv si nu si a derivatelor sale,- Este simplu de inteles, respectiv de implementat si este bine adaptat aplicatiilor practice.Varianta imbunatatita a ARS tine cont de urmatoarele observatii :- Daca alegerea unei directii de cautare conduce la o valoare mai mare a functiei obiectiv, directia opusa ar putea conduce la o valoare mai mica;- Daca o anumita directie de cautare conduce la rezultate pozitive, aceasta ar trebui sa polarizeze cautarile uterioare. Dimpotriva, esecuri succesive dupa o anumita directie de cautare, ar trebui sa descurajeze cautarile ulterioare dupa respectiva directie.

Modele de grafic: