Sunteți pe pagina 1din 15

Universitatea Politehnica din Bucuresti

Facultatea de Inginerie Electrica

Elaborarea si testarea algoritmilor de


optimizare. Analiza performantelor
numerice pe aplicatii test

STUDENT: PIRVU ANDREEA-ELENA


GRUPA: IPSE1

BUCURESTI
2015

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.
eps
1E-09
1E-08
1E-07
1E-06
1E-05
1E-04
1E-03
1E-02

nr_eval
uari
195
185
170
142
122
102
82
63

param_optim_
x
2
2
2
1,9998
1,999
2,0074
1,9843
1,9439

param_optim_
y
5
5
4,99
5,0004
5,00014
4,9998
4,9887
5,0505

val_min_f_obiec
tiv
6
6
6
6
6
6,0001
6,0004
6,0057

a)

Graficul nr_evaluari = f(eps)


250

200

150

100

50

0
0E+00

2E-03

4E-03

6E-03

8E-03

1E-02

1E-02

b)

Graficul param_optim_X = f(eps)


2.02
2.01
2
1.99
1.98
1.97
1.96
1.95
1.94
1.93
1.92
1.91
0E+00

2E-03

4E-03

6E-03

8E-03

1E-02

1E-02

c)

Graficul param_optim_Y = f(eps)


5.06
5.05
5.04
5.03
5.02
5.01
5
4.99
4.98
4.97
4.96
4.95
0E+00

d)

2E-03

4E-03

6E-03

8E-03

1E-02

1E-02

Graficul val_min_f_obiectiv = f(eps)


6.01
6.01
6.01
6
6
6
6
6
6
6
6
0E+00

2E-03

4E-03

6E-03

8E-03

1E-02

1E-02

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.

eps

nr_evaluari

param_optim_x

param_optim_y

val_min_f_obiectiv

1E-09

199

-0,0899

0,7127

-1,0316

1E-08

179

-0,0899

0,7127

-1,0316

1E-07

169

-0,0898

0,7127

-1,0316

1E-06

150

-0,09

0,7127

-1,0316

1E-05

131

-0,0893

0,7125

-1,0316

1E-04

116

-0,913

0,7132

-1,0316

1E-03

76

-0,1389

0,7131

-1,0223

1E-02

76

-0,1389

0,7131

-1,0223

a)

Graficul val_min_f_obiectiv = f(eps)


-1.02
0E+00
-1.02
-1.02
-1.02
-1.02
-1.03
-1.03
-1.03
-1.03
-1.03

b)

2E-03

4E-03

6E-03

8E-03

1E-02

1E-02

Graficul nr_evaluari = f(eps)


250
200
150
100
50
0
0E+00

2E-03

4E-03

6E-03

8E-03

1E-02

1E-02

c)

Graficul param_optim_X = f(eps)


0
0E+00
-0.1
-0.2
-0.3
-0.4
-0.5
-0.6
-0.7
-0.8
-0.9
-1

d)

2E-03

4E-03

6E-03

8E-03

1E-02

1E-02

Graficul param_optim_Y = f(eps)


0.71
0.71
0.71
0.71
0.71
0.71
0.71
0.71
0E+00

2E-03

4E-03

6E-03

8E-03

1E-02

1E-02

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 S o 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 +1
out= 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-9
Am obtinut:

L2 =112.2859
L1 = 69.3965
Param_optim_x=34.6983
Param_optim_y = 21.4447
Aria_cerc = 1.3685e+04
Aria_totala_trepte = 9.6317e+03
Arie_ramasa = 4.0530e+03
Programul 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 OPTIMIZARE


Conceptul 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 Search


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

S-ar putea să vă placă și