Vous êtes sur la page 1sur 5

Raport tema nr.

Problema - descriere, proprietăți(optimizare numerică/combinatorială,etc)


Să se determine minimul pentru următoarele funcții: De Jong 1, Schwefel
7, Rastrigin, Six-hump camel back implementând algoritmii Hill Climbing(Fist
Improvement, Best Improvement) și Simulated Annealing.

Hill Climbing
- metaeuristică de tip traiectorie;
- metodă iterativă ce realizează o căutare locală denumită și Îmbunătățire
iterativă (Iterative Improvement)
- este utilizata varianta iterată (Iterated Hill Climbing) in care HC este
restartat, pentru a mari gradul de explorare a spatiului de cautare
Simulated Annealing
- meta-euristică de tip traiectorie care permite o mai bună explorare a
spațiului și ieșirea din puncte de optim local, dând posibilitatea vizitării unor
soluții de calitate mai slabă decât cea curentă.

Algoritmul utilizat
Pseudocod
HC First Improvment
best <- getBitStrings()
pentru i <- 0, n execută
Vc <- getBitStrings()
execută
local <- false
Vn <- neighbor(Vc)
dacă FirstBetterThanSecond(Vn,Vc) atuci
Vc <- Vn
altfel
local <- true
cât timp local = true
HC Best Improvement
best <- getBitStrings()
pentru i <- 0, n execută
Vc <- getBitStrings()
execută
local <- false
VnBI <- neighbors(Vc,t)
dacă FoundBetterNeighbor(VnBI,Vc) atunci
Vc <- getBestNeighborFromMatrix(VnBI)
altfel
local <- true
cât timp local = true
dacă FistIsBetterThanSecond(Vc,best) atunci
best <- Vc

Rusu Emanuel Paul – II A2


SA
Vc = getBitStrings()
cât timp T > 0 execută
execută
local <- false
Vn <- neighbor(Vc)
dacă FirstIsBetterThanSecond(Vn,Vc) atunci
Vc <- Vn
altfel
dacă [0,1) < exp(-|eval(Vn) – eval(Vc)|/T) atunci
Vc = Vn
local <- true
cât timp local = true
T <- g(T,t++)

Detalii de implementare: reprezentare(biți sau nr. reale), noțiunea de vecinătate(cum sun


t generați vecinii), procedura de inițializare, condiția de oprire, parametrii(diferiți în funcție
de alg., ex. temp în SA, rate operatori în GA)

Reprezentarea numerelor
- generate aleator am facut-o initial calculând numărul de biți necesari
folosind formula ceil(log2((b-a) * pow(10,precision))) pentru a reprezenta acel
număr care apartinea unui interval specific [a,b]. Apoi, dupa aflarea numarului de
biți necesari, pentru fiecare numar am folosit câte o matrice de liste în care am
memorat biți la care pe fiecare poziție am pus aleator un bit de 0 sau 1. Pasul
următor a fost să convertesc aceste numere formate din biți în numere întregi
reale, folosind formula a+getBase10(bitstring)*((a + (b-a)/bitLength)-
a)/(pow(2,bitLength)-1).

Notiunea de vecinatate
- vecinii sunt generați în funcțiile neighbor și neighbors, care transformă
bitul 1 in bitul 0, iar bitul 0 in bitul 1, după caz

Procedura de inițializare
- se inițializeazî matricea-listî ce va fi folosită pentru a genera vecini și a calcula
soluțiile
Condiția de oprire
- în cazul algoritmului Hill Climbing, algoritmul se va opri atunci cand nu se
va găsi o valoare mai buna a fitness-ului decât cea precedentă.
În cazul algoritmului Simulated Annealing, algoritmul se va opri atunci când temperatura
nu va mai satisface condiția să fie mai mare decât 0.
Parametri
- Hill Climbing First Improvement: Vc, Vn, best, numărul de iterații;

Rusu Emanuel Paul – II A2


- Hill Climbing Best Improvement: Vc, VnBI, numărul de iterații;
- Simulated Annealing: Vc, Vn, numărul de iterații;

Rezultate experimentale
Medie, minim, maxim și deviație

 5 dimensiuni

Minim Mediu Maxim Deviatia


Hill De Jong 1 59.412 65.24775 71.0835 11.6715
Climbing Schwefel 7 0.191388 16.73055 630.743 630.551612
First Imp. Rastrigin 82.6561 98.55555 114.455 31.7989

Hill De Jong 1 54.8281 60.53605 66.244 11.4159


Climbing Schwefel 7 -0.00739523 -1.47046 -2.93354 2.9261447
Best Imp. Rastrigin 78.4383 88.54475 98.6512 20.2129

Simulated De Jong 1 49.5124 64.6429 79.7734 30.261


Annealing Schwefel 7 0.00073 394.0573 788.114 788.11327
Rastrigin 78.3729 105.14295 131.913 53.5401

 10 dimensiuni

Minim Mediu Maxim Deviatia


Hill De Jong 1 131.091 152.2655 173.44 42.349
Climbing Schwefel 7 -0.739169 556.4654 1113.67 1114.409
First Imp. Rastrigin 184.665 200.029 215.393 30.728

Hill De Jong 1 123.968 132.694 141.42 17.452


Climbing Schwefel 7 -0.01238 73.252 146.518 146.53
Best Imp. Rastrigin 177.362 198.9815 220.601 43.239

Simulated De Jong 1 101.519 141.334 181.149 79.63


Annealing Schwefel 7 -0.0342 1356.6929 2713.42 2713.45
Rastrigin 177.049 212.9325 248.816 71.767

Rusu Emanuel Paul – II A2


 30 dimensiuni

Minim Mediu Maxim Deviatia


Hill De Jong 1 450.16 463.321 476.482 26.322
Climbing Schwefel 7 8.4914 1974.9757 3941.46 3932.9686
First Imp. Rastrigin 661.312 689.2835 717.255 55.943

Hill De Jong 1 431.702 451.876 472.05 40.348


Climbing Schwefel 7 -0.03352 887.643 1775.32 1775.353
Best Imp. Rastrigin 630.926 647.1355 663.345 32.419

Simulated De Jong 1 352.288 440.74 529.192 176.904


Annealing Schwefel 7 0.19 2296.525 4593.05 4592.86
Rastrigin 611.701 677.414 743.127 131.426

Grafice(ex. evolutia fitnessului de-


a lungul unei rulari in functie de numarul de apeluri a functiei de evaluare)
Hill Climbing

800

700

600

500
Rastrigin
400 Schwefel 7
De Jong 1
300

200

100

0
0 rulari 100 rulari 300 rulari 500 rulari

Rusu Emanuel Paul – II A2


Simulated Annealing

1,600

1,400

1,200

1,000
Rastrigin
800 Schwefel 7
De Jong 1
600

400

200

0
0 rulari 1000 rulari 5000 rulari 50000 rulari

Cum influențează parametrii algoritmului calitatea soluțiilor(descrieți în ce a constat opti


mizarea algoritmului)
În funcție de dimensiunea șirurilor de biți se modifică calitatea soluțiilor astfel: cu
cât crește dimensiunea, cu atât scade calitatea soluțiilor, după cum se poate observa și
din rezultatele experimentale.

Comparații între metodele implementate(numărul de evaluări până se ajunge la


o anumită precizie a soluției pentru fiecare metodă, sau fixati un nr. maxim
de evaluări permis și afișați soluția obținută de fiecare metodă)
Comparațiile între metodele de implementare se regăsesc în rezultatele
experimentale si graficele de mai sus.

Rusu Emanuel Paul – II A2

Vous aimerez peut-être aussi