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

📄 statistics.m

📁 遗传算法求解TSP问题,MATLAB模拟实验,对采用遗传算法解优化问题很有帮助
💻 M
字号:
% 函数-统计种群的适应度
function [sumfitness,bestfit] = statistics(pop,bestfit,gen,outfp)

popsize = length(pop);
lchrom = length(pop(1).chrom);

min = pop(1).fitness;
max = pop(1).fitness;
sumfitness = 0;

for j = 1:popsize
    sumfitness = sumfitness + pop(j).fitness;
    if(pop(j).fitness > max)
        max = pop(j).fitness;
    end
    if(pop(j).fitness < min) 
        min = pop(j).fitness;
    end
    % 如果是最佳个体,保留入 bestfit
    if(pop(j).fitness > bestfit.fitness)
        bestfit.chrom = pop(j).chrom;
        bestfit.fitness = pop(j).fitness;
        bestfit.generation = gen;
    end 
end

avg = sumfitness/popsize;     % 种群的平均适应度

% 输出种群统计值
fprintf(outfp,'   种群的平均适应度为:   %8.2f\n',avg);
fprintf(outfp,'   最大适应度为:         %8.2f\n',max);
fprintf(outfp,'   最小适应度为:         %8.2f\n',min);
fprintf(outfp,'   最佳个体编码为: ');
for i = 1:lchrom    
    fprintf(outfp,'%3.0f',bestfit.chrom(i));
end
fprintf(outfp,'\n   最佳个体的适应度为:   %8.2f\n',bestfit.fitness);
fprintf(outfp,'   最佳个体染色体代数为: %8.0f\n',bestfit.generation);

⌨️ 快捷键说明

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