reproduction.m

来自「在matlab环境下用人工智能算法--遗传算法求函数极植的matlab程序」· M 代码 · 共 23 行

M
23
字号
function population=reproduction(population,pr,M,fitness)% 用轮盘选择法进行复制操作%顺序累计群体内各个体的适应度,得相应的累计值s(i),最后一个累计值为s(M)s(1)=fitness(1);for i=2:M    s(i)=s(i-1)+fitness(i);endfor j=1:M*pr    r=rand*s(M); %在[0,s(M)]区间内产生均匀分布的随机数 r    for i=1:M        if s(i)>=r            [g,index]=min(fitness);            population(index,:)=population(i,:);            break;        end    end   %依次用s(i)与r比较,第一个出现s(i)大于或等于r的个体i被选为复制对象,           %代替适应度最差的个体end% return population

⌨️ 快捷键说明

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