y=x^2函数问题

y=x^2函数问题

ID:37714253

大小:21.79 KB

页数:13页

时间:2019-05-29

y=x^2函数问题_第1页
y=x^2函数问题_第2页
y=x^2函数问题_第3页
y=x^2函数问题_第4页
y=x^2函数问题_第5页
资源描述:

《y=x^2函数问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、遗传算法,解决y=x^2x属于[0,31]的最大值问题。C言语#include#include#includetypedef struct { int code;  //染色体 int degree;//适应度}Indi;Indi group[40];//种群规模为40void Judge(Indi &x){  x.degree=x.code*x.code;}int happened(double p)//发生一个p=0~1间概率的事件{ return rand()<(int)(p*RAND_MAX);}

2、void Cross(Indi &x,Indi &y)//交叉操作{ Indi z,z1; int temp,temp1; temp=x.code&0x3; temp1=y.code&0x3; z.code=x.code-temp+temp1; z1.code=y.code-temp1+temp; Judge(z); Judge(z1);  if(x.degree=x.degree) //如果新个体不如双亲,淘汰之      x=z; } else {  if(z.degree>=y.degree)  y=

3、z; }  if(x.degree=x.degree) //如果新个体不如双亲,淘汰之      x=z1; } else {  if(z1.degree>=y.degree)  y=z1; }}void main(){ Indi indidest; int i,j,best,x,y,c; int sum,strick,SUM=0; static int n=0; srand(time(NULL)); for(i=0;i<40;++i)//随机得到初始种群 {  group[i].code=rand()%

4、32;  Judge(group[i]); } for(i=1;i<=10;++i)//固定进化10代 {  for(sum=0,best=0,j=0;j<40;++j)  {   sum+=group[j].degree;//求总的适应度sum   if(group[j].degree>group[best].degree)   {     best=j;//求当前最优个体   }  }  printf("第%2d代中 最优个体为 %d  (%d) 平均适应度为 %10f",   i,group[best].code,group[best].degre

5、e,sum/40.0);  for(c=40;c;--c)  {   strick=(int)((float)rand()/RAND_MAX*sum);  //赌盘中的色子,选择个体x,y   for(x=0;x<40&&strick>=group[x].degree;++x)    strick-=group[x].degree;   strick=(int)((float)rand()/RAND_MAX*sum);   for(y=0;y<40&&strick>=group[y].degree;++y)    strick-=group[y].degre

6、e;   if(happened(0.9))    Cross(group[x],group[y]);//交叉  } }}一个非常简单的遗传算法源代码,是由DenisCormier(NorthCarolinaStateUniversity)开发的,SitaS.Raghavan(UniversityofNorthCarolinaatCharlotte)修正。代码保证尽可能少,实际上也不必查错。对一特定的应用修正此代码,用户只需改变常数的定义并且定义“评价函数”即可。注意代码的设计是求最大值,其中的目标函数只能取正值;且函数值和个体的适应值之间没有区别。该系统使

7、用比率选择、精华模型、单点杂交和均匀变异。如果用Gaussian变异替换均匀变异,可能得到更好的效果。代码没有任何图形,甚至也没有屏幕输出,主要是保证在平台之间的高可移植性。读者可以从ftp.uncc.edu,目录coe/evol中的文件prog.c中获得。要求输入的文件应该命名为‘gadata.txt’;系统产生的输出文件为‘galog.txt’。输入的文件由几行组成:数目对应于变量数。且每一行提供次序——对应于变量的上下界。如第一行为第一个变量提供上下界,第二行为第二个变量提供上下界,等等。/*******************************

8、**************************

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。