用c语言写一个遗传算法程序解决y=x*x的最大值问题,x取0--31,种群规模为4,用8位二进制数表示,非常急!浅显一点
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 05:12:55
![用c语言写一个遗传算法程序解决y=x*x的最大值问题,x取0--31,种群规模为4,用8位二进制数表示,非常急!浅显一点](/uploads/image/z/3750236-44-6.jpg?t=%E7%94%A8c%E8%AF%AD%E8%A8%80%E5%86%99%E4%B8%80%E4%B8%AA%E9%81%97%E4%BC%A0%E7%AE%97%E6%B3%95%E7%A8%8B%E5%BA%8F%E8%A7%A3%E5%86%B3y%3Dx%2Ax%E7%9A%84%E6%9C%80%E5%A4%A7%E5%80%BC%E9%97%AE%E9%A2%98%2Cx%E5%8F%960--31%2C%E7%A7%8D%E7%BE%A4%E8%A7%84%E6%A8%A1%E4%B8%BA4%2C%E7%94%A88%E4%BD%8D%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%95%B0%E8%A1%A8%E7%A4%BA%2C%E9%9D%9E%E5%B8%B8%E6%80%A5%21%E6%B5%85%E6%98%BE%E4%B8%80%E7%82%B9)
用c语言写一个遗传算法程序解决y=x*x的最大值问题,x取0--31,种群规模为4,用8位二进制数表示,非常急!浅显一点
用c语言写一个遗传算法程序解决y=x*x的最大值问题,x取0--31,种群规模为4,用8位二进制数表示,非常急!
浅显一点
用c语言写一个遗传算法程序解决y=x*x的最大值问题,x取0--31,种群规模为4,用8位二进制数表示,非常急!浅显一点
一个非常简单的遗传算法源代码,是由Denis Cormier (North Carolina State University)开发的,Sita S.Raghavan (University of North Carolina at Charlotte)修正.代码保证尽可能少,实际上也不必查错.对一特定的应用修正此代码,用户只需改变常数的定义并且定义“评价函数”即可.注意代码的设计是求最大值,其中的目标函数只能取正值;且函数值和个体的适应值之间没有区别.该系统使用比率选择、精华模型、单点杂交和均匀变异.如果用Gaussian变异替换均匀变异,可能得到更好的效果.代码没有任何图形,甚至也没有屏幕输出,主要是保证在平台之间的高可移植性.读者可以从ftp.uncc.edu,目录 coe/evol中的文件prog.c中获得.要求输入的文件应该命名为‘gadata.txt’;系统产生的输出文件为‘galog.txt’.输入的文件由几行组成:数目对应于变量数.且每一行提供次序——对应于变量的上下界.如第一行为第一个变量提供上下界,第二行为第二个变量提供上下界,等等.
//
.
代码太多 你到下面呢个网站看看吧
void main(void)
{
int i;
if ((galog = fopen("galog.txt","w"))==NULL)
{
exit(1);
}
generation = 0;
fprintf(galog,"\n generation best average standard \n");
fprintf(galog," number value fitness deviation \n");
initialize();
evaluate();
keep_the_best();
while(generation