select2.asv

来自「基于GAACA的协同多目标攻击空战决策算法」· ASV 代码 · 共 34 行

ASV
34
字号
function selectpop=select2(fit,pop)

   mpop=length(fit); %种群规模
   
   [orderfit,indexfit]=sort(fit);     
   fit_sum=sum(fit);
   fit_size=(orderfit/fit_sum)*mpop;
   fit_s=round(fit_size);
   %
   num=cumsum(fit_s);
   if num(mpop)<mpop
       fit_s(mpop)=fit_s(mpop)+(mpop-num(mpop));
   end
  n=0;
   if num(mpop)>mpop
       for kk=1:(mpop/2)
          if n<(num(mpop)-mpop)& fit_s(kk)>=1
                fit_s(kk)=fit_s(kk)-1;
                n=n+1;     
          end
       end
   end
   
   fit_s
   k=1;
   for i=1:mpop
       if fit_s(i)>=1
          for j=1:fit_s(i)
              selectpop(k,:)=pop(indexfit(i),:); 
              k=k+1;
          end
       end
   end  
 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?