利用遗传算法求解区间[0,31]上的二次函数y=x*x的最大值

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 05:55:58

利用遗传算法求解区间[0,31]上的二次函数y=x*x的最大值
利用遗传算法求解区间[0,31]上的二次函数y=x*x的最大值

利用遗传算法求解区间[0,31]上的二次函数y=x*x的最大值
//
void main(void)
{
\x05int\x05i;
\x05if ((galog = fopen("galog.txt","w"))==NULL)
\x05{
\x05\x05exit(1);
\x05}
\x05generation = 0;
\x05fprintf(galog,"\n generation best average standard \n");
\x05fprintf(galog," number value fitness deviation \n");
\x05initialize();
\x05evaluate();
\x05keep_the_best();
\x05while (generation < MAXGENS)
\x05{
\x05\x05generation++;
\x05\x05select();
\x05\x05crossover();
\x05\x05mutate();
\x05\x05evaluate();
\x05\x05report();
\x05\x05//evaluate();
\x05\x05elitist();
\x05}
\x05fprintf(galog,"\n\n Simulation completed\n");
\x05fprintf(galog,"\n Best member:\n");
\x05for (i = 0; i < NVARS; i++)
\x05{
\x05\x05fprintf (galog,"\n var(%d) = %3.6f",i,population[POPSIZE].gene[i]);
\x05}
\x05fprintf(galog,"\n\n Best fitness = %3.6f",population[POPSIZE].fitness);
\x05fclose(galog);
\x05printf("Success\n");
}
——————————————————————
以上为程序,另外还有一个文件:gadata.txt
其内容为:
0 31
——————————————————————
然后打开文件galog.txt文件就可以看到结果了,我算出来的是:
var(0) = 30.969000
Best fitness = 959.078961
——————————————————————
当然,这个问题的结果显然是31的时候961,但是由于算法本身进化的原因和参数的设置,只能进化到上面的结果.

该函数在[0,31]上是严格增函数,最大值显然是:当x=31时 y=31^31

利用遗传算法求解区间[0,31]上的二次函数y=x*x的最大值 利用遗传算法求解区间【0,31】上的二次函数y=x*x的最大值(MATLAB/C语言都行), 利用遗传算法求解区间【0,31】上的二次函数y=x*x的最大值最好是用c或者c++来编写程序 遗传算法和蚁群算法在求解TSP问题上的对比分析 如何利用遗传算法求解问题?试举例说明求解过程?急! matlab遗传算法错误求指正>> %主程序:用遗传算法求解y=200*exp(-0.05*x).*sin(x)在[-2,2]区间上的最大值>> clear all;>> close all;>> global BitLength>> global boundsbegin>> global boundsend>> bounds=[-2,2];%一维自变量的取 遗传算法的应用 遗传算法的作用? 遗传算法的发展过程? 遗传算法的发展过程? 遗传算法求解最短路径问题?从起始结点到终点必须经过中间结点的最短路径,用遗传算法求解. 遗传算法求解请问在MALAB中怎么找出需要的遗传算法数据比如:1【问题】求f(x)=x+10*sin(5x)+7*cos(4x)的最大值,其中0 设区间【0,1】上f(x)的二次导数 人工智能“遗传算法求解f(x)=xcosx+2的最大值”用遗传算法求 f(x)=xcosx+2 的最大值 遗传算法交叉概率设置不同的值,对结果会有什么影响?利用遗传算法求解两个极小目标最优问题时,当交叉概率取0.6和0.9的结果会有多大差别,表现在生成的matlab结果图有什么变化? matlab遗传算法工具箱里用的是哪种遗传算法 量子遗传算法对于遗传算法的优点是什么? 谁能提共遗传算法的程序