select_gen.m

来自「多智能体工具包」· M 代码 · 共 41 行

M
41
字号
function newchrom=select_gen(criteria,chrom)% SELECT_GEN	Selects best chromosomes for next generation based on the criteria.%     Copyright (c) 1997-2000 Jiming Liu and Jianbing Wuglobal Genetic_Result;[pop bitlength]=size(chrom);fit=[];%calculate fitness[fit,fitot]=call_fitness(criteria,chrom);  Genetic_Result=[Genetic_Result;fit];for chromnum=1:pop  sval(chromnum)=sum(fit(1,1:chromnum));end%select according to fitness by probability% Remain a most optimal population.% if change it ,the loop variable should be i=1:pop[fit_max,Pos]=max(fit);parname=Pos;for i=1:pop-1  rval=fitot*rand;  if rval<=sval(1)    parname=[parname 1];  else    for j=1:pop-1      sl=sval(j);    % Left value for comparing      su=sval(j+1);  % Right value for comparing      if (rval>sl) & (rval<=su)         parname=[parname j+1];         break;      end    end  end	endnewchrom(1:pop,:)=chrom(parname,:);

⌨️ 快捷键说明

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