/* Write the population report on the screen */ void report() { printf("\n_____________________________________________________"); printf("________________________________________________________\n"); printf( " P O P U L A T I O N R E P O R T \n"); printf(" Generation # %3d Generation # %3d\n", gen, (gen + 1)); printf( " num string x fitness parents x1 x2 mut "); printf("place string x fitness\n"); printf("_____________________________________________________"); printf("________________________________________________________\n"); writepop(); printf("_____________________________________________________"); printf("________________________________________________________\n"); /* write the summary statistics in global mode */ printf("Generation # %d Accumulated Statistics: \n", gen); printf("Total Crossovers = %d, Total Mutations = %d\n", ncross, nmutation); printf("min = %f max = %f avg = %f sum = %f\n", min, max, avg, sumfitness); printf("Best individual in this generation = "); writechrom(localmax); printf("\n"); printf("Global Best Individual so far, Generation # %d:\n", bestfit.generation); printf("String = "); writechrom((&bestfit)->chrom); printf(" Fitness = %f\n", bestfit.fitness); }
// Lorsqu'on termine l'application void app_exit(int sig){ unsigned *c = bestfit.chrom; int valeur[NB_COMPARAISONS]; chrom2val(c,valeur); double tri = fitnessTri(valeur); printf("=== MEILLEUR RESULTAT ===\n"); printf("Fitness total : %f\n",bestfit.fitness); printf("Fitness du tri: %f\n",tri); writechrom(bestfit.chrom); debugVal(valeur); debugCmp(valeur); exit(0); }