📄 selection.m
字号:
% The select oprator function
% function new_pop=select(pop,ada)
ada_sum=0;
ada_temp=0;
r=0;
i=0;j=0;
for i=1:40
ada_sum=ada_sum+adapt(i);
end
for i=1:39 %选择39次,最后一个个体留给历代最优解
r=rand*ada_sum; %随机产生一个数
ada_temp=0; %初始化累加值为0
j=0;
while(ada_temp<r)
j=j+1;
ada_temp=ada_temp+adapt(j);
end
%退出循环时的j值即为被选择的个体序号
% if j>40
% j=40;
% end
for k=1:10
new_pop(i,k)=pop(j,k);
end
end
% 最优解复制
for i=1:10
new_pop(40,i)=best_individual(i);
end
%将选择产生的新群体复制给pop种群
for i=1:40
for j=1:10
pop(i,j)=new_pop(i,j);
end
end
clear i;
clear j;
clear k;
clear r;
clear ada_temp;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -