应用背景
matlab 遗传算法 加入精英主意
function [newpop]=selection(pop,fitvalue)%选择复制过程
totalfit=sum(fitvalue); %求适应值之和
b=best(pop,fitvalue);%求出适应度最大个体
fitvalue=fitvalue/totalfit; %单个个体被选择的概率
fitvalue=cumsum(fitvalue);%采用轮盘选择法
[px,py]=size(pop);
ms=sort(rand(px,1)); %从小到大排列
fitin=1;
newin=1;
while newin<=px
if(ms(newin))
newpop(newin,:)=pop(fitin,:);
newin=newin+1;
fitin=1;
else
fitin=fitin+1;
end
end
%newpop(newin,:)=b;%引入精英主义
关键技术
请点击左侧文件开始预览
!预览只提供20%的代码片段,完整代码需下载后查看
加载中
侵权举报