elitist.m

来自「遗传算法的代码,可以仿照这个学习一下,希望有所帮助」· M 代码 · 共 26 行

M
26
字号
%--------------------------------------------------
%                   最优保存策略           
%--------------------------------------------------

function [new_gen,curbest_indiv,curbest_fitness] = elitist(new_gen,itbest_indiv,itbest_fitness,fitness,popsize)

% 找出当前群体中最优和最劣个体
[best_fitness,index1] = min(fitness);
[worst_fitness,index2] = max(fitness);
best_indiv = new_gen(index1,:);
worst_indiv = new_gen(index2,:);

% 若当前群体中最优个体的适应度比总的迄今为止最好个体的适应度低,则以当前群体中的最佳个体作为新的迄今为止的最好个体
if best_fitness < itbest_fitness
    curbest_fitness = best_fitness;
    curbest_indiv = best_indiv;
else
    curbest_fitness = itbest_fitness;
    curbest_indiv = itbest_indiv;
end

% 用迄今为止的最好个体替换当前群体中的最差个体
new_gen(index2,:) = curbest_indiv;


    

⌨️ 快捷键说明

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