select.m

来自「matlab求解TSP问题源代码」· M 代码 · 共 22 行

M
22
字号
function newpop=select(pop,fitval,popsize,citysize,minpath)
fitsum=sum(fitval);
fit=fitval/fitsum;
m=1;
q(1)=fit(1); 
    for i=2:popsize 
        q(i)=q(i-1)+fit(i);               %累加个体适应度形成赌轮 
    end 
for k=1:popsize-1 
    r=rand(); 
    for l=2:popsize 
        if (q(l-1)<=r)&&(r<=q(l))  %赌轮选择 
            m=l; 
            break; 
        end 
    end 
    newpop(k,:)=pop(m,:); 
end 
newpop(popsize,:)=minpath;


⌨️ 快捷键说明

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