statistic.cpp
来自「一个遗传算法(GA)的实现。command line 的结构。输入输出格式请见命」· C++ 代码 · 共 47 行
CPP
47 行
/*----------------------------------------------------------------------------*/
/* statistic.c - compute the fitness statistics */
/*----------------------------------------------------------------------------*/
#include "statistic.h"
//#include "sga.h"
#include "external.h"
#include "app.h"
/* Calculate population statistics */
void statistics(individual *pop)
{
int i, j;
sumfitness = 0.0;
min = pop[0].fitness;
max = pop[0].fitness;
// !!! Use the "Best of the final generation" instead of the "everbest"
// bestfit.fitness = -1e10;
/* Loop for max, min, sumfitness */
for(j = 0; j < popsize; j++)
{
sumfitness = sumfitness + pop[j].fitness; /* Accumulate */
if(pop[j].fitness > max) max = pop[j].fitness; /* New maximum */
if(pop[j].fitness < min) min = pop[j].fitness; /* New minimum */
/* new global best-fit individual */
if(pop[j].fitness > bestfit.fitness)
{
for(i = 0; i < chromsize; i++)
bestfit.chrom[i] = pop[j].chrom[i];
bestfit.fitness = pop[j].fitness;
bestfit.generation = gen;
}
}
/* Calculate average */
avg = sumfitness/popsize;
/* get application dependent stats */
app_stats(pop);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?