📄 myselection.m
字号:
% The select oprator function myselection.m
eval_sum=0;
eval_temp=0;
r=0;
i=0;j=0;
for i=1:nind
eval_sum=eval_sum+eval(i); %群体的适应度值总和
end
for i=1:nind
p(i)=eval(i)/eval_sum;%计算对应于每个染色体的选择概率p
end
for i=1:nind-1 %选择39次,最后一个个体留给历代最优解
p_temp=0; %初始化累加概率为0
j=0;
while(p_temp<rand)
j=j+1;
p_temp=p_temp+p(j);
end
for k=1:2*bits
new_pop(i,k)=pop(j,k); %将选中的染色体每个基因赋给新的种群
end
end
% 最优解复制
for i=1:2*bits
new_pop(nind,i)=best_individual(i); %将本代最优解赋给最后一个个体
end
%将选择产生的新群体复制给pop种群
for i=1:nind
for j=1:2*bits
pop(i,j)=new_pop(i,j);
end
end
clear i;
clear j;
clear k;
clear r;
clear p_temp;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -