Sanady

matlab

Mar 2nd, 2018
334
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.23 KB | None | 0 0
  1. clear;
  2. S1=[ ones(1,5)*(-500);
  3.     ones(1,5)*500  ];
  4. popsize_sch=30;
  5. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  6. S2=[ ones(1,2)*(-100);
  7.     ones(1,2)*100  ];
  8.  
  9.  
  10. jedinci_sch=genrpop(popsize_sch,S1);
  11. jedinci_kvad=genrpop(popsize_sch,S2);
  12.  
  13.  
  14. posledna_generacia=200;
  15. amp=ones(1,10)*1;
  16. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  17.  
  18. fit_matica_kvad=1:30;
  19.  
  20. for i=1:posledna_generacia
  21.        fit_matica=schwefel(jedinci_sch);
  22.        nova_generacia=selbest(jedinci_sch,fit_matica,[3 2 1]);
  23.         ostatny=selsus(jedinci_sch,fit_matica,24);
  24.         krizenie=crossov(ostatny,2,0);
  25.         mutac=mutx(krizenie,0.1,S1);
  26.         mutacia=muta(mutac,0.1,amp,S1);
  27.         jedinci_sch=[nova_generacia;mutacia];
  28.        
  29.         graf(i)=min(fit_matica);
  30. end
  31. plot(graf);
  32. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  33.  
  34.  
  35.  
  36.  
  37. for i=1:posledna_generacia
  38.        fit_matica_kvad=schwefel(jedinci_sch);
  39.        nova_generacia=selbest(jedinci_sch,fit_matica,[3 2 1]);
  40.         ostatny=selsus(jedinci_sch,fit_matica,24);
  41.         krizenie=crossov(ostatny,2,0);
  42.         mutac=mutx(krizenie,0.1,S1);
  43.         mutacia=muta(mutac,0.1,amp,S1);
  44.         jedinci_sch=[nova_generacia;mutacia];
  45.        
  46.         graf(i)=min(fit_matica);
  47. end
  48.  
  49.  
  50. plot(graf);
  51. hold on;
  52. fit_matica
Advertisement
Add Comment
Please, Sign In to add comment