Sunteți pe pagina 1din 3

TEMA TIA

Student:
Abagiu Florin Gabriel
Barbulescu Mihai Dan
Enunt:
Rulati un algoritm genetic pentru o rata de incrucisare din intervalul !"
#$ cu pasul !%!&% 'entru ce valoare a ratei de incrucisare se comporta cel mai bine
algoritmul( )tili*ati pentru teste +unctia:
+,-./ 2*(x(1)^2-x(2))^2+(1-x(1))^2
Re*olvare:
Am creat in matlab un +isier cu numele +unctie%m cu continutul urmator:
function y= functie(x)
y= 2*(x(1)^2-x(2))^2+(1-x(1))^2;
'entru a arata in+luenta ratei de incrucisare in algoritmi genetici am +olosit
parametrul CrossoverFraction% Acest parametru speci+ic0 rata de 1ncruci2are3 adic0
probabilitatea cu care indivi*ii selecta4i 12i interschimb0 materialul genetic% Atunci c5nd
schimburile de material genetic sunt intense3 c0utarea este direc4ionat03 indivi*ii devenind
apropia4i%
'entru testarea in+luen4ei ratei de 1ncruci2are asupra per+orman4elor AG am
utili*at aceea2i metod0 de studiu ca la dimensiunea popula4iei3 1ns0 am variat rata de
1ncruci2are de la ! la # cu pasul de !%!&%
Am salvat +i2ierul +unctie+lorin%m cu urmatorul continut:
functie_obiectiv= @functie;
nr_var=2;
medie=[];
tim_run=[];
for n=!"!#!$"1
va%f=!;
tim=!;
for i=1"1!
&tart=cutime;
aram= 'aotim&et(()ro&&over*raction(+2);
[x fva%]= 'a(@f%orin+2)
&to=cutime;
tim_ru%at=&to-&tart
va%f=va%f+fva%;
tim=tim+tim_ru%at;
fva%=!;

end;
va%f=va%f,1!;
medie=[medie;va%f];
tim=tim,1!;
tim_run=[tim_run;tim];
end
fi'ure(1)
%ot(!"!#!$"1+medie);
fi'ure(2)
%ot(!"!#!$"1+tim_run);
Re*ultate:
Rata ! !%# !%6 !%7 !%8 !%& !%9 !%: !%; !%< #
Fitness !%!!#; !%!!66 !%!!#7 !%!!7; !%!!67 !%!!78 !%!!7; !%!!7# !%!!7# !%!!8: !%!!66
Timp !%!:; !%!:7 !%!;# !%!:7 !%!:! !%!:! !%!:# !%!:< !%!:7 !%!:7 !%!:9
'er+orman4ele AG 1n +unc4ie de rata de 1ncruci2are:
a. =aloarea +itness>ului?
b. Timpul de calcul%

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