📄 normgeomselectk.asv
字号:
function [newPop]=normGeomSelectk(oldPop,fitness,options,k)
%锦标赛选择算子 从种群中随机地选取k 个个体,找出这k 个个体中适应值最好的个体作
%为最优个体,这个最优个体就是下一代种群中的一个个体,这个过程重复n 次就产生了新的种群
global k;
q=options(2); % Probability of selecting the best
[px,py]=size(oldPop);
newPop = zeros(px,py); % Allocate space for return pop
for i=1:px
tempfit=zeros(1,k); %Allocate space for return fitness
rs=unidrnd(px,1,k); %从px到1中选择k个随机数
for j=1:k
tempfit(1 ,j)=fitness(rs(j) ,1); %计算下标为选择随机数的个体的适应度
end
[sffit,II]=sort(tempfit); %对适应度进行小到大排序
newPop(i,:) = oldPop(rs(II(k) ),:); %把适应度最大的个体赋给新个体
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -