function y=f1(x) y=sum(x.^2) endfunction PopSize=100; Proba_cross=0.7; Proba_mut=0.1; NbGen=5; Log =%T; ga_params =init_param(); ga_params = add_param(ga_params,"dimension",2); ga_params = add_param(ga_params,"minbound",[-100;-100]); ga_params= add_param(ga_params,"maxbound",[100;100]); PlotNumber=1; errors=[]; popSizes=[]; i=1; N=30; MaxNEval=500; for PopSize =10:1:50 ANbGen =MaxNEval/PopSize; errors(i)=0; for n=1:N [pop_opt, fobj_pop_opt] = .. optim_ga(f1,PopSize,ANbGen,Proba_mut,Proba_cross,Log,ga_params); errors(i)=errors(i)+fobj_pop_opt(1); end popSizes(i)=PopSize; errors(1)=errors(i)/N; i=i+1; end plot(popSizes,log(errors)); / / / / / / / / / / / / / / / / / / / / / function y=f1(x) y=sum(x.^2) endfunction PopSize=26; Proba_cross=0.7; Proba_mut=0.07; NbGen=5; Log =%T; ga_params =init_param(); ga_params = add_param(ga_params,"dimension",2); ga_params = add_param(ga_params,"minbound",[-100;-100]); ga_params= add_param(ga_params,"maxbound",[100;100]); PlotNumber=1; errors=[]; probacross=[]; i=1; N=30; MaxNEval=500; for Proba_cross =0.3:0.1:0.9 ANbGen =MaxNEval/PopSize; errors(i)=0; for n=1:N [pop_opt, fobj_pop_opt] = .. optim_ga(f1,PopSize,ANbGen,Proba_mut,Proba_cross,Log,ga_params); errors(i)=errors(i)+fobj_pop_opt(1); end probacross(i)=Proba_cross; errors(1)=errors(i)/N; i=i+1; end plot(probacross,log(errors)); / / / / / / / / / / / / / / / / / / / / / function y=f1(x) y=sum(x.^2) endfunction PopSize=100; Proba_cross=0.7; Proba_mut=0.1; NbGen=5; Log =%T; ga_params =init_param(); ga_params = add_param(ga_params,"dimension",2); ga_params = add_param(ga_params,"minbound",[-100;-100]); ga_params= add_param(ga_params,"maxbound",[100;100]); PlotNumber=1; errors=[]; popSizes=[]; i=1; N=30; MaxNEval=500; for PopSize =10:1:50 ANbGen =MaxNEval/PopSize; errors(i)=0; for n=1:N [pop_opt, fobj_pop_opt] = .. optim_ga(f1,PopSize,ANbGen,Proba_mut,Proba_cross,Log,ga_params); errors(i)=errors(i)+fobj_pop_opt(1); end popSizes(i)=PopSize; errors(1)=errors(i)/N; i=i+1; end plot(popSizes,log(errors)); / / / / / / / / / / / / / / / / / / / / / / / / / function y=f1(x) y=sum(x.^2) endfunction PopSize=32; Proba_cross=0.7; Proba_mut=0.1; NbGen=5; Log =%T; ga_params =init_param(); ga_params = add_param(ga_params,"dimension",2); ga_params = add_param(ga_params,"minbound",[-100;-100]); ga_params= add_param(ga_params,"maxbound",[100;100]); PlotNumber=1; errors=[]; popSizes=[]; i=1; N=30; MaxNEval=500; for PopSize =10:1:50 ANbGen =MaxNEval/PopSize; errors(i)=0; for n=1:N [pop_opt, fobj_pop_opt] = .. optim_ga(f1,PopSize,ANbGen,Proba_mut,Proba_cross,Log,ga_params); errors(i)=errors(i)+fobj_pop_opt(1); end popSizes(i)=PopSize; errors(1)=errors(i)/N; i=i+1; end plot(popSizes,log(errors));