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

📄 select.m

📁 Roulette Wheel Selection
💻 M
字号:
function [selectedparent1 selectedparent2]= select(fitness,totpop)
rand('state',sum(100*clock));
%selection of new generation by roulette wheel selection
disp('selection of new generation');

sumfitness=sum(fitness);
slotvalue(1:totpop)=fitness(1:totpop);
roulettevalue=sumfitness*rand(1);

totalslots=slotvalue(1);
index=2;
while roulettevalue>totalslots
    totalslots=totalslots+slotvalue(index);
    index=index+1;
end
selectedparent1=index-1;

roulettevalue=sumfitness*rand(1);
totalslots=slotvalue(1);
index=2;
while roulettevalue>totalslots
    totalslots=totalslots+slotvalue(index);
    index=index+1;
end
selectedparent2=index-1;
% while selectedparent2==selectedparent1
%     disp('selectedparents are equal')
%     roulettevalue=sumfitness*rand(1);
%     totalslots=slotvalue(1);
%     index=2;
%     while roulettevalue>totalslots
%         totalslots=totalslots+slotvalue(index);
%         index=index+1;
%     end
%     selectedparent2=index-1;
% end

⌨️ 快捷键说明

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