www.pudn.com > ga_model.rar > ga.cpp
/*********************************************************** * * * * * * ***********************************************************/ #include#include #include #include #define POPSIZE 500 #define maximization 1 #define minimization 2 #define length 10 #define chromlength length //染色体长度 ////////////////////////////////////////////////////////// /* 变量声明 */ ////////////////////////////////////////////////////////// int popsize; //种群大小 int maxgeneration; //最大世代数 double pc; //交叉率 double pm; //变异率 struct individual { char chrom[chromlength+1]; double value; double fitness; //适应度 }; int generation; //世代数 int best_index; int worst_index; individual bestindividual; //最好个体 individual worstindividual; //最差个体 individual currentbest; individual population[POPSIZE]; ////////////////////////////////////////////////////// /* 函数声明 */ ////////////////////////////////////////////////////// void generateinitialpopulation(); void generatenexpopulation(); void evaluatepopulation(); long decodechaomosome( char *, int, int ); void calculateobjectvalue(); void calculatefitnessvalue(); void findbeststandworstindividual(); void performevolution(); void selectoperator(); void crossoveroperator(); void mutationoperator(); void input(); void output();