select.m

来自「用matlab编写的自适应小生境递阶遗传算法,非常适合于学习自适应遗传算法的朋友」· M 代码 · 共 31 行

M
31
字号
function [popconm1,popparm1]=select(popcon1,poppar1,parpopsize,n1)
%
%
%
%
%
%
%
%
%

f=poppar1(:,n1+1)./poppar1(:,n1+2); %sharing of fitness
totalfit=sum(f);
if totalfit==0
    prob(1:parpopsize,1)=1/parpopsize;
else
    prob=f/totalfit;
end
prob=cumsum(prob);
rs=sort(rand(parpopsize,1));
fitin=1;
newin=1;
while newin<=parpopsize
    if(rs(newin)<prob(fitin))
        popparm1(newin,:)=poppar1(fitin,:);
        popconm1(newin,:)=popcon1(fitin,:);
        newin=newin+1;
    else
        fitin=fitin+1;
    end
end

⌨️ 快捷键说明

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