Sunteți pe pagina 1din 4

Echipa:Dumitru Adriana Roxana, Iorgu Petru, Stoica Sebastian

Funcția utilizată:rosenbrock

Tema 1: Studiul performanțelor unui algoritm genetic – AG și al roiului de particule – PSO


Scop: Analiza influenței parametrilor AG/PSO asupra performațelor acestora

Utilizând programul de calcul Matlab destinat soluționării problemelor de optimizare cu ajutorul


AG și PSO se va studia influența parametrilor algoritmului genetic, respectiv ai roiului de particule,
asupra soluțiilor furnizate de procesul de căutare. În acest sens se vor utiliza parametrii furnizați în
tabelele de mai jos.

Cazul 1. Utilizarea algoritmului genetic fără considerarea limitelor pentru variabilele de control.
Tabelul 1.
Timp mediu
Varianta Dim_Pop pr Nr_Gen Min fobj Max fobj Med fobj
simulare [s]
I – se variază dimensiunea populației 'PopulationSize'
1 50 0.8 100 0.0023 0.5155 0.1994 0.1812
5
2 100 0.8 100 0.0019 0.4230 0.1009 0.1906
5
3 200 0.8 100 3.58e-04 0.1549 0.0499 0.1844
5
II – se variază probabilitatea de recombinare 'CrossoverFraction'
4 100 0.5 100 4.47e-04 0.1162 0.0443 0.1781
5 100 0.9 100 0.0300 1.9463 0.3432 0.1750
6 100 0.9 100 0.0363 3.2846 1.0814 0.1641
9
III – se variază numărul maxim de generații 'Generations'
7 100 0.8 50 0.0457 0.7352 0.2346 0.1656
5
8 100 0.8 100 0.0104 0.1961 0.0683 0.1812
5
9 100 0.8 200 3.83e-04 0.1996 0.0344 0.3063
5

În primul caz, în care rata de incrucișare(0.85) și numărul de generații(100) rămân constante, iar
dimensiunea populației crește (50,100) ,se obervă o creștere a timpului de execuție față de cazul inițial
( de la 0.18 s la 0.19 s), dar nu și o evoluție a rezultatelor minime, maxime și medii, optimul global al
funcției obiectiv fiind 0. Pe măsură ce creștem dimensiunea populației la 200 de indivizi, minimul
funcției obiectiv începe să se imbunătățească, însă nu este inregistrată o evoluție semnificativă a
valorilor studiate, dar timpul de execuție se reduce.
Remarcăm, de altfel că nici în cazurile în care variem rata de încrucișare nu sunt inregistrate
valori apropiate de optim, însă timpul de execuție se reduce, iar pentru cazul în care variem numărul
de generații, iar dimensiunea populației (100) și rata de incrucișare (0.85) rămân constante nu se
Echipa:Dumitru Adriana Roxana, Iorgu Petru, Stoica Sebastian

Funcția utilizată:rosenbrock
înregistrează imbunătățiri, doar timpul de execuție de majoreaza pentru 200 de generații la 0.30 s, cel
mai ridicat de până acum.

Cazul 2. Utilizarea algoritmului genetic cu considerarea limitelor pentru variabilele de control.


Tabelul 2.

Timp mediu
Varianta Dim_Pop pr Nr_Gen Min fobj Max fobj Med fobj
simulare [s]
I – se variază dimensiunea populației
1 50 0.8 100 0.0095 1.5723 0.3420 0.3234
5
2 100 0.8 100 2.48e-05 0.7857 0.1102 0.4203
5
3 200 0.8 100 3.47e-08 0.5289 0.0757 0.4562
5
II – se variază probabilitatea de recombinare
4 100 0.5 100 3.15e-10 0.0355 0.0044 0.4922
5 100 0.9 100 9.90e-10 1.2484 0.3032 0.3609
6 100 0.9 100 7.82e-04 1.7022 0.6380 0.2578
9
III – se variază numărul maxim de generații
7 100 0.8 50 7.69e-07 2.0017 0.2380 0.3391
5
8 100 0.8 100 1.44e-05 0.6910 0.1639 0.3500
5
9 100 0.8 200 1.04e-08 2.1669 0.2687 0.6891
5

Comparativ cu rezultatele din primul caz, o dată cu considerarea limitelor pentru variabilele de
control remarcăm o creștere a timpului de execuție în toate situațiile evaluate, însă inregistrăm valori
reduse ale minimului funcției obiectiv față de primul caz. În situația analizată, cele mai bune rezultate
pentru funcția obiectiv sunt pentru dimensiunea populației 100, rata de încrucișare 0.5 și 100 de
generații, valoarea minimă fiind de ordinul 10^-10, iar valoarea maxima și medie apropiindu-se de
optimul global (0)

Cazul 3. Utilizarea roiului de particule fără considerarea limitelor pentru variabilele de control.
Tabelul 3.
Timp mediu
Varianta Dim_Pop Nr_Gen Min fobj Max fobj Med fobj
simulare [s]
I – se variază dimensiunea roiului 'SwarmSize'
1 50 100 7.0e-04 2.5217e+0 345.9574 0.1375
3
2 100 100 3.7e-10 451.04 45.2610 0.1562
Echipa:Dumitru Adriana Roxana, Iorgu Petru, Stoica Sebastian

Funcția utilizată:rosenbrock
3 200 100 3.2e-13 54.70 7.5910 0.2672
II – se variază numărul maxim de iterații 'MaxIterations'
4 100 50 4.6e-08 1.2754e+0 177.1771 0.1094
3
5 100 100 9.8e-11 390.3707 79.2962 0.1516
6 100 200 4.8e-24 419.9361 58.1493 0.3750

În funcționarea programului cu roiul de particule, fără considerarea limitelor pentru variabilele


de control remarcăm o imbunătățire a rezultaltelor minimul funcției obiectiv fiind apropiat de
optimul global . În cazul în care realizăm simulările cu o populație de 200 indivizi și 100 de generații
obținem o funcție minimă de ordinul 10^-13, apropiată de optimul global, dar pentru o populație de
100 de indivizi și 200 de generații remarcăm o reducere a minimului funcției obiectiv de ordinul 10 ^-
24. În ceea ce privește timpul pe măsură ce creștem dimensiunea populației și numărul de generații
programul înregistrează o majorare a timpului de execuție/

Cazul 4. Utilizarea roiului de particule cu considerarea limitelor pentru variabilele de control.


Tabelul 4.

Dim_Po
Varianta Nr_Gen Min fobj Max fobj Med fobj Timp mediu simulare [s]
p
I – se variază dimensiunea roiului 'SwarmSize'
1 50 100 9.50e-13 1.84e- 4.32e-06 0.1313
05
2 100 100 3.93e-12 3.11e- 4.11e-09 0.1469
08
3 200 100 1.95e-17 7.06e- 1.34e-12 0.2531
12
II – se variază numărul maxim de iterații 'MaxIterations'
4 100 50 1.60e-09 2.90e- 5.63e-06 0.1391
05
5 100 100 1.58e-14 1.25e- 1.25e-06 0.1750
05
6 100 200 1.7117e-25 8.07e- 1.507e-14 0.3672
14

Comparativ cu rezultatele anterioare, considerarea limitelor pentru variabilele de control în


rezolvarea problemei de optimizare cu roiul de particule aduce o imbunătățire vizibilă a variabilelor
studiate, acestea fiind apropiate de optimul global. În cazul majorării dimensiunii populației , obținem
un minim de ordinul 10^-17, maximul si valoarea medie având același ordin 10^-12, iar în cazul în
care majorăm numărul de generații, cea mai mică valoare minimă pe care o obținem este de ordinul
10^-25.

Concluzii generale (comparație algoritm genetic și roi de particule)


Echipa:Dumitru Adriana Roxana, Iorgu Petru, Stoica Sebastian

Funcția utilizată:rosenbrock
În urma simulărilor realizate, am remarcat faptul ca roiul de paricule obține performanțe mai
bune, față de algoritmul genetic, înregistrând o valoare minimă de 10^-25, rezultatele functiei obiectiv
fiind mult mai apropiate de valoarea 0, iar timpul de execuție a simulărilor este mai scăzut comparativ
cu algoritmul genetic.

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