遗传算法求函数极值.docx

遗传算法求函数极值.docx

ID:58690801

大小:358.06 KB

页数:21页

时间:2020-10-08

遗传算法求函数极值.docx_第1页
遗传算法求函数极值.docx_第2页
遗传算法求函数极值.docx_第3页
遗传算法求函数极值.docx_第4页
遗传算法求函数极值.docx_第5页
资源描述:

《遗传算法求函数极值.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、智能优化算法第一次作业--------------遗传算法洪文杰S151000853问题:用遗传算法求解f(x)=xsin(10π*x)+2.0的最大值,x取[-1,2].一、分析:遗传算法基本思路二、实例简介1.产生初始种群s1=13(01101)s2=24(11000) s3=8 (01000)s4=19(10011)2.计算适应度假定适应度为f(s)=s^2,则f(s1)=f(13)=13^2=169f(s2)=f(24)=24^2=576f(s3)=f(8)=8^2=64f(s4)=f(19)=19^2=3613. 选择

2、染色体的选择概率为:染色体的累计概率为:根据上面的式子,可得到:例如设从区间[0,1]中产生4个随机数:   r1=0.450126,  r2=0.110347   r3=0.572496,  r4=0.98503 4.交叉基本遗传算法(SGA)叉算子采用单点交叉算子。单点交叉运算5. 变异6. 至下一代,适应度计算→选择→交叉→变异,直至满足终止条件三、解决问题四、实验结果源代码:/*问题:用遗传算法求解f(x)=xsin(10π*x)+2.0的最大值,x取[-1,2].*//*洪文杰2016-3-9.智能优化算法第一次作业*

3、/#include//#includ#include#include#include#includeusingnamespacestd;#defineNUMBER50//种群规模#defineGENE_NUMBER10000//迭代次数intUnit[NUMBER][30];//初始种群intUnit_choose[NUMBER][30];//选择、交叉、变异后的种群intNumber[NUMBER];//被选择的个体编号

4、floatFitness[NUMBER];//适应度floatselect_probability[NUMBER];//选择概率floataccumula_probability[NUMBER];//积累概率floatf_max=0.0;//最大值floatf_x=0.0;//最大值对应的自变量inthwj_coding(intstart,intend);//编码voidhwj_initial_population(intnum);//产生初始种群voidhwj_fitness(intnum);//适应度计算voidhwj_ch

5、oose();//选择个体inthwj_binary_search(intl,intr,floattemp);//查找选择//voidhwj_N_M(inta[],intb[],intN,intM);//从M个数中选N个不一样的数voidhwj_cross(intnum,floatcross);//交叉后的得到种群voidhwj_aberrance(intnum,floataberrance);//变异后的得到的种群voidhwj_max(intnum);//找到最适应的个体intmain(){intstrat,end;//区间

6、intNum;//编码大小floatcross=0.8;//交叉概率floataberrance=0.04;//变异概率intkey=1;cout<<"请输入求解区间:"<>strat>>end;Num=hwj_coding(strat,end);cout<<"Num:"<

7、---------------2初始种群-----------------"<

8、t<

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

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

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