全文预览

遗传算法的c语言程序

上传者:随心@流浪 |  格式:doc  |  页数:11 |  大小:108KB

文档介绍
id outputtextreport()//数据输出Р{Р?int i;Рdouble sum;Рdouble average;Рsum=0.0;Рfor(i=0;i<popsize;i++)Р{sum+=population[i].value;}Рaverage=sum/popsize;Р?Рprintf("当前世代=%d\n当前世代平均函数值=%f\n当前世代最高函数值=%f\n",generation,average,population[best_index].value);Р}Рvoid main() //主函数Р{ int i;Рprintf("本程序为求函数y=100*(x1*x1-x2)*(x1*x2-x2)+(1-x1)*(1-x1)的最大值\n其中-2.048<=x1,x2<=2.048\n");Р generation=0;Р input();Р generateinitialpopulation();Р?evaluatepopulation();Р?while(generation<maxgeneration)Р?{Р generation++;Р generatenextpopulation();Р evaluatepopulation();Р performevolution();Р outputtextreport();Р?}Р printf("\n");Р?printf(" 统计结果: ");Р printf("\n");Рprintf("最大函数值等于:%f\n",currentbest.fitness);Р?printf("其染色体编码为:");Р?for (i=0;i<chromlength;i++)Р?{Р?printf("%c",currentbest.chrom[i]);Р Р?}Р printf("\n"); Р}Р六测试结果

收藏

分享

举报
下载此文档