ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:82.73KB ,
资源ID:18794678      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18794678.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(遗传算法在函数优化中的应用精品毕业设计完整版Word格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

遗传算法在函数优化中的应用精品毕业设计完整版Word格式.docx

1、终止条件判断,若未达到终止条件,则转到Step3;Step7:输出结果。5停机准则(1)完成了预先给定的进化代数则停止;(2)群体中的最优个体在连续若干代没有改进或平均适应度在连续若干代基本没有改进时停止。6基本遗传算法框图二算法代码#include #includetime.hmath.h#define POPSIZE 500 #define chromlength 5 int popsize ;int maxgeneration;double pc = 0.0;double pm = 0.0;struct individual int chromchromlength; double va

2、lue; double fitness;int generation;int best_index;int worst_index;struct individual bestindividual;struct individual worstindividual;struct individual currentbest; tstruct individual populationPOPSIZE;void generateinitialpopulation();void generatenextpopulation();void evaluatepopulation();void calcu

3、lateobjectfitness();double decodechromosome(int,int);void findbestandworstindividual();void performevolution();void selectoperator();void crossoveroperator();void mutationoperator();void input();void outputtextreport();void main() int i; srand(unsigned)time(NULL); printf(本程序为求函数y=x*x的最大值n); generati

4、on=0; input();种群规模(popsize): %d;n最大世代数(maxgeneration) %d;n交叉率(pc) %f;变异率(pm) %fnn,popsize,maxgeneration,pc,pm); /*edit by ppme*/ generateinitialpopulation(); evaluatepopulation(); while(generationmaxgeneration) generation+; generatenextpopulation(); evaluatepopulation(); performevolution(); outputte

5、xtreport(); n 统计结果: 最大函数值等于:%fn,currentbest.fitness);其染色体编码为: /计算currentbest的value for( i = 0 ; i chromlength ; i+ ) printf( %d,currentbest.chromi);void generateinitialpopulation( ) int i,j; for (i=0;ipopsize; i+) for(j=0;jchromlength;j+) populationi.chromj=(rand()%105)?0:1; 显示初始化结果: for(i = 0 ; pop

6、size ; for(j = 0 ; j = 0 ; i- ) decimal += populationpop_index.chromi*(int)pow(double)2,(int)i); return (decimal);void findbestandworstindividual( ) double sum=0.0; bestindividual=population0; worstindividual=population0; for (i=1; if (populationi.fitnessbestindividual.fitness) bestindividual=popula

7、tioni; best_index=i; else if (populationi.fitness=currentbest.fitness) currentbest=bestindividual;void performevolution() if (bestindividual.fitnesscurrentbest.fitness) currentbest=populationbest_index; populationworst_index=currentbest;void selectoperator() int i,index; double p,sum=0.0; double cfi

8、tnessPOPSIZE; struct individual newpopulationPOPSIZE; srand(unsigned) time(NULL);i+) / i+) cfitnessi=populationi.fitness/sum; for(i=1; cfitnessi=cfitnessi-1+cfitnessi; /累计适应率i+) p=rand()%1000/1000.0; index=0; while (pcfitnessindex) index+; newpopulationi=populationindex; populationi=newpopulationi;v

9、oid crossoveroperator() int indexPOPSIZE; int point,temp; double p;i+) indexi=i; point=rand()%(popsize-i); temp=indexi; indexi=indexpoint+i; indexpoint+i=temp;popsize-1;i+=2) if (ppc) point=rand()%(chromlength-1)+1; for (j=point; jj+) temp=populationindexi.chromj; populationindexi.chromj=populationi

10、ndexi+1.chromj; populationindexi+1.chromj=temp; void mutationoperator() i+) p=rand()%1000/1000.0; if (ppm) populationi.chromj=(populationi.chromj=0)?1:0;void input()初始化全局变量:种群大小(4-500偶数): scanf(%d, &popsize); if(popsize%2) != 0) 种群大小已设置为偶数n popsize+; ;最大世代数(10-300):maxgeneration);交叉率(0.2-1.0):%lfpc)

11、;变异率(0.00):pm);void outputtextreport() double sum; double average; sum=0.0; sum+=populationi.value; average=sum/popsize;当前世代=%dn当前世代染色体平均值=%fn当前世代染色体最高值=%fn,generation,average,populationbest_index.value);2.结果截图3.心得体会通过这次在函数优化过程中运用遗传算法,使我更加熟练的掌握了遗传算法。让我了解到遗传算法搜索函数的优点以及传统搜索方法的局限性。传统的搜索方法由于其应用的局限性,在某些情况下可能搜索到局部最优点,而不能达到全局最优点。利用遗传算法搜索函数最优点的方法极大地提高了搜索全局最优点的准确性。四参考文献1蔡自兴 徐光祐.人工智能及其应用.北京:清华大学出版社, 2009;2马永,贾俊芳.遗传算法研究综述.第23卷.第三期.2007年12月;3XX百科

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1