Sunteți pe pagina 1din 9

Temă P.O.M.E.

Elaborarea şi testarea algoritmilor de optimizare.


Analiza performanţelor numerice pe aplicaţii test

Student: COMAN Dănuț

N=5

Master SEA1

1. Algoritmi de optimizare. Generalități

Primul pas în construirea unui model este stabilirea factorilor şi variabilelor pe care
decidentul le consideră importante. Acestea pot fi clasificate în cinci categorii: variabile de
decizie, variabile exogene, restricţii, măsuri ale performanţei şi variabile intermediare.

Variabilele de decizie sunt acele variabile pe care le controlează decidentul, ele


reprezentând alegerile alternative pentru decident. De exemplu: trebuie să se introducă un
nou produs în fabricaţie. Decidentul poate alege: să se introducă sau nu, preţul, culoarea,
suma alocată reclamei etc.

Variabilele exogene sau externe sunt acelea care sunt importante în problema de
decizie, dar sunt controlate de factori externi sferei decidentului. De exemplu: preţul
materiilor prime pentru realizarea noului produs.

Restricţiile pot fi legate de capacităţile de producţie, resurse, limitări legislative,


politica firmei etc.

Măsuri ale performanţei. În luarea unei decizii decidentul are un scop, un obiectiv pe
care încearcă să-l atingă. Criteriile sau măsurile performanţei sunt expresii cantitative ale
acestor obiective.

Variabilele intermediare sunt necesare pentru includerea tuturor factorilor importanţi


în problema de decizie. Adesea ele leagă factorii de cost şi de câştig. Se folosesc să lege
variabilele de decizie şi exogene de măsurile de performanţă.

1
O măsură a complexităţii problemei de programare este dimensiunea acesteia
exprimată prin numărul de necunoscute şi de restricţii (Luenberger, 1989). Dimensiunea
problemelor care pot fi rezolvate a crescut o dată cu dezvoltarea teoriei şi a tehnicilor de
calcul.

Se pot distinge acum trei categorii de probleme: de dimensiune redusă (cu cel mult 5
variabile sau restricţii), de dimensiune medie (între 5 şi 100 de variabile sau restricţii) şi de
dimensiuni mari (cu peste 100 de variabile şi restricţii). Această clasificare reflectă nu numai
diferenţe de dimensiuni, dar şi de abordare. Astfel problemele de dimensiuni mici pot fi
rezolvate de mână sau cu un calculator de buzunar. Problemele de dimensiuni mari necesită
programe matematice generale. Porblemele de dimensiuni mari necesită programe sofisticate
care exploatează caracteristicile particulare ale problemei și, de obicei, se rulează pe
calculatoare de mare capacitate.

Teoria iniţială a optimizării s-a concentrat asupra obținerii rezultatelor teoretice,


ignorând aspectele de calcul ale metodelor propuse. Abordările recente se axează pe
exploatarea caracteristicilor calculatoarelor, obținând soluția prin metode iterative. [ ]

Algoritmul Simplex-Downhill ASD este unul dintre cei mai robusti si simplu de
implementat algoritmi de optimizare numerica. ASD este un algoritm determinist de ordin 0,
necesitând evaluări doar ale funcţiei obiectiv, nu şi ale derivatelor sale.
In literatura de specialitate, poate fi numita metoda Monte Carlo sau alogoritmul
stochastic. Algoritmi random search sunt utili in rezolvarea problemelor de optimizări globale
prost structurate, în cazul în care funcţia obiectiv poate fi nonconvexa şi, eventual,
discontinua pe un domeniu continuu, discret, sau mixte (continuu-discrete). O problemă
optimizării globale cu variabile continue poate conţine mai multe optime locale sau puncte
staţionare. O problemă cu variabile discrete se încadrează în categoria de optimizăre
combinatorica. O combinaţie de variabile continue si discrete apare în multe sisteme
complexe, inclusiv probleme de proiectare, programare, şi alte aplicaţii î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

2
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, robusteţe.
În cazul problemelor de optimizare n - dimensionale ASD are nevoie de n+1 puncte
de plecare care definesc simplexul iniţial. ASD presupune o serie de paşi, 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 faţa opusă a simplexului, într-un punct în care se
presupune că FO ia o valoare mai mică. Acest tip de operaţie se numeşte reflexie şi este
construită aşa încât simplexul să păstreze acelaşi volum ca cel iniţial. Pentru a accelera viteza
de căutare, simplexul este capabil să efectueze şi operaţii de expansiune.

2. Testarea Algoritmului Simplex Downhill (ASD) pentru o funcţie


obiectiv convexă simplă, cu 2 parametri (F2p.m).

Se va lansa în execuţie fişierul MATLAB ASD2p.m. Se va modifica eroarea eps


(precizia de căutare) în intervalul 10-9 şi 10-2 şi se va trasa:

- graficul val_min_f_obiectiv = f(eps)

Val_min_f_obiectiv
6,006
Val_min_f_obiectiv

6,005
6,004
6,003
6,002
6,001
6
5,999
0,00E+00 2,00E-03 4,00E-03 6,00E-03 8,00E-03 1,00E-02 1,20E-02
eps

Fig. 2.1. Graficul val_min_f_obiectiv = f(eps)

3
- graficul nr_evaluari = f(eps)

Nr evaluari
250

200
Nr evaluari

150

100

50

0
0,00E+00 2,00E-03 4,00E-03 6,00E-03 8,00E-03 1,00E-02 1,20E-02
eps

Fig. 2.2. Graficul nr_evaluari = f(eps)

- graficul param_optim_X = f(eps)

Param_optim_X
2,02
Param_optim_X

2,01
2
1,99
1,98
1,97
1,96
1,95
1,94
0,00E+00 2,00E-03 4,00E-03 6,00E-03 8,00E-03 1,00E-02 1,20E-02
eps

Fig. 2.3. Graficul param_optim_X = f(eps)

4
- graficul param_optim_Y = f(eps)

Param_optim_Y
5,06
Param_optim_Y 5,05
5,04
5,03
5,02
5,01
5
4,99
4,98
0,00E+00 2,00E-03 4,00E-03 6,00E-03 8,00E-03 1,00E-02 1,20E-02
eps

Fig. 2.4. Graficul param_optim_Y = f(eps)


Graficele au fost realizate utilizând tabelul din anexa 1.

- graficul curbelor de nivel ale funcţiei obiectiv (reprezentare în plan) cu evoluţia punctului
optim curent către minimul găsit (graficul se trasează pentru o singură valoare a lui eps).

Pentru obținem:

Fig. 2.5. Graficul 3D pentru

5
Fig. 2.6. Graficul 2D pentru

3. Se consideră o coloană de transformator a cărei secţiune


transversală se încadrează într-un cerc cu raza R.
Valoarea parametrului geometric R (raza coloanei) este unică pentru fiecare student,
cf. tabelelor de mai jos. Coloana de transformator este realizată din pachete de tole, în două
trepte.

Să se determine lăţimile optime ale celor două trepte (L1 şi L2) aşa încât suprafaţa de
oţel (SO2) asociată secţiunii transversale a coloanei să fie maximă. De asemenea se va
reprezenta grafic relieful funcției obiectiv FO2 cu evidențierea punctului de optim.

Pentru rezolvarea aplicaţiei se va determina întâi expresia analitică a suprafeţei de oțel


SO2 în funcţie de cele două lăţimi L1 şi L2. Apoi se va construi în fișierul FO2.m funcția
obiectiv ce trebuie minimizată FO2 = AC – SO2 (unde AC = Aria cercului coloanei). Prin
minimizarea funcției FO2 se va maximiza practic suprafața de oțel SO2. Se va adapta
programul ASD2p.m pentru noua funcție obiectiv cu doi parametri FO2.m.

6
Fig. 3.1. Coloană de transformator în două trepte

Raza cercului corespunzător numărului N=5 este: [ ].

Ecuația de constrângere a algoritmului este ecuația cercului . În acest


caz [ ].

Funcția obiectiv cu doi parametri a sistemului este:

( )

Parametrii ce urmează a fi determinați sunt și ; , respectiv , sunt


determinați din ecuația cercului. Funcția obiectiv devine:

* √ ( ) (√ ( ) √ ( ) )+

În urma modificării algoritmului, se obțin graficele din figurile 3.2 și 3.3, împreună cu
valorile parametrilor următori:

[ ]
, [ ]
[ ]

7
Fig. 3.2. Graficul 3D pentru

Fig. 3.3. Graficul 2D pentru

4. Concluzii
Pentru determinarea valorilor optime ale celor doi parametri a fost utilizat algoritmul
Simplex Downhill adaptat pentru ecuațiile de restricție corespunzătoare acestui tip de
problemă.

Deși algoritmul de optimizare oferă o precizie foarte mare a parametrilor calculați, în


realitate se vor utiliza valori rotunjite ale acestori parametri, algoritmul de optimizare oferind
o direcție importantă în vederea determinării parametrilor reali. In urma simularii au fost

8
obtinute valorile optime pentru lungimile L1 (151,63mm) si L2 (91,63mm) astfel incat aria
treptelor sa fie maxima.

5. Bibliografie
[ ] Modele și algoritmi de optimizare, Romică Trandafir, 2004

Anexa 1

eps val_min_f_obiectiv nr_evaluari param_optim_X param_optim_Y


1.00E-02 6.005701877 63 1.94387207 5.050512695
1.00E-03 6.000375461 82 1.984285307 4.988663816
1.00E-04 6.000054357 102 2.007370508 4.999820268
1.00E-05 6.000002969 122 1.998973618 5.001383889
1.00E-06 6.000000203 142 1.999787815 5.000397128
1.00E-07 6.000000005 170 2.000000548 4.999931765
1.00E-08 6.000000001 185 1.99998325 5.000034321
1.00E-09 6 195 2.000021472 5.000003955

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