rankselect.m

来自「继续上次传的简单遗传算法」· M 代码 · 共 20 行

M
20
字号
function [selectpop]=RankSelect(pop,LB,UB) 
[m,n]=size(pop);
selectpop=zeros(m,n);
fit=zeros(m,1);
for i=1:m
    fit(i)=fun(b2f(pop(i,:),LB,UB));
end
fitness=fit/sum(fit);
for i=2:m
    fitness(i)= fitness(i-1)+fitness(i);
end
rnums=rand(m,1);
for i=1:m
    for j=1:m
        if rnums(i)<=fitness(j)
            selectpop(i,:)=pop(j,:);
            break;
        end
    end
end

⌨️ 快捷键说明

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