遗传算法搜索最优解

遗传算法搜索最优解

ID:25618558

大小:96.50 KB

页数:6页

时间:2018-11-21

遗传算法搜索最优解_第1页
遗传算法搜索最优解_第2页
遗传算法搜索最优解_第3页
遗传算法搜索最优解_第4页
遗传算法搜索最优解_第5页
资源描述:

《遗传算法搜索最优解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、WORD格式可编辑实验一:基于遗传算法的函数优化1、实验目的1)掌握Matlab子函数的编写与调用。2)理解基本遗传算法的原理,并利用程序实现利用遗传算法优化非线性函数的解。2、实验内容与实验要求1)掌握基本遗传算法方法原理。2)掌握matlab子函数的编写方法及调用方法。3)根据基本遗传算法方法原理,编写Matlab程序,优化非线性函数的解。4)设f(x)=-x^2-4x+1,求maxf(x),x[-2,2],解的精度保留二位小数3、遗传算法原理遗传算法模拟自然选择和自然遗传过程中发生的繁殖、交叉和

2、基因突变现象,在每次迭代中都保留一组候选解,并按某种指标从解群中选取较优的个体,利用遗传算子(选择、交叉和变异)对这些个体进行组合,产生新一代的候选解群,重复此过程,直到满足某种收敛指标为止。专业知识分享WORD格式可编辑4、主程序及子函数:主函数:clearclcmy_scale=80;%种群规模gen_len=22;%基因长度M=100;%迭代次数pc=0.7;%交叉概率pm=0.05;%变异概率new_scale=produscale(my_scale,gen_len);%产生初始种群fitfi

3、t=[];fittimer=[];best_f1=[];best_x1=[];fori=1:Mmy_f=cal_my_f(new_scale);%计算函数值my_fit=cal_my_fit(my_f);%计算适应度值next_scale=my_sellect(new_scale,my_fit);%采用赌轮盘法选择cross_scale=my_cross(next_scale,pc);%按概率交叉mut_scale=my_mutat(cross_scale,pm);%按概率变异%寻找每一代中的最优适应

4、度值所对应的个体best_fit=my_fit(1);[sx,sy]=size(new_scale);forj=2:length(my_fit)ifbest_fit

5、1,best_f];best_x1=[best_x1,best_x];fittimer=[fittimer,i];end[best_fit,loca]=max(fitfit);best_f=best_f1(loca);best_x=best_x1(loca);disp('[best_fit,best_f,best_x]=')专业知识分享WORD格式可编辑disp([best_fit,best_f,best_x])subplot(2,2,1)plot(fittimer,fitfit)xlabel('迭代

6、次数(1)-wxb');ylabel('适应度函数')gridon%子函数:产生初始种群functioninitscale=produscale(my_scale,gen_len)initscale=round(rand(my_scale,gen_len));end%子函数:计算函数值functionmy_f=cal_my_f(new_scale)mychange=my2to10(new_scale);[sx,sy]=size(new_scale);change_x=-2+mychange.*4./(

7、2^sy-1);my_f=-change_x.^2-4.*change_x+1;end%子函数:计算适应度值functionmy_fit=cal_my_fit(my_f)f_min=5;fori=1:length(my_f)ifmy_f(i)+f_min<=0my_fit(i)=0;elsemy_fit(i)=my_f(i)+f_min;endendmy_fit=my_fit';end%子函数:采用赌轮盘法选择functionnext_scale=my_sellect(new_scale,my_fit

8、)sum_of_f=sum(my_fit);accum=my_fit/sum_of_f;accum=cumsum(accum);[sx,sy]=size(new_scale);j=1;whilej<=sx专业知识分享WORD格式可编辑a=rand;fori=1:sx-1ifaccum(1)>=anext_scale(j,:)=new_scale(1,:);elseifaccum(i)=anext_scale(j,:)=new

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

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

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