⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 normgeomselectk.asv

📁 遗传算法工具箱matlab
💻 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 + -