欢迎来到天天文库
浏览记录
ID:52545966
大小:23.00 KB
页数:2页
时间:2020-03-28
《遗传算法地MATLAB求解 实例.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、求解一元函数f(x)=x*sin(10π*x)+2.0,x∈[-1,2]M文件,执行遗传算法求解单目标函数的最优值fplot('varible.*sin(10*pi*varible)+2.0',[-1,2]);%画出函数曲线NIND=40;%定义个体数目MAXGEN=25;%定义最大遗传代数PRECI=20;%变量的二进制位数GGAP=0.9;%代沟trace=zeros(2,MAXGEN);%寻优结果的初始值FieldD=[20;-1;2;1;0;1;1];%区域描述器Chrom=crtbp(NIND,PRECI);%初始群体gen=0;%代计数器varible
2、=bs2rv(Chrom,FieldD);%计算初试群体的十进制转换ObjV=varible.*sin(10*pi*varible)+2.0;%计算目标函数值whilegen3、varible)+2.0;%计算子代的目标函数值[Chrom,ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel);%重插入子代为新的种群%输出最优解及其序号,并在目标函数图像中标出,Y为最优解,I为种群序号gen=gen+1;[Y,I]=max(ObjV),holdon;%输出最优值trace(1,gen)=max(ObjV);%最优解trace(2,gen)=sum(ObjV)/length(ObjV);%解均值endvarible=bs2rv(Chrom,FieldD);%最优个体的十进制转换holdon,grid;plot(v4、arible',ObjV','b*');%画出种群及值重新调用MATLAB命令,执行以下命令plot(trace(1,:)');holdon;plot(trace(2,:)','-.');grid;legend('解的变化','种群均值的变化')
3、varible)+2.0;%计算子代的目标函数值[Chrom,ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel);%重插入子代为新的种群%输出最优解及其序号,并在目标函数图像中标出,Y为最优解,I为种群序号gen=gen+1;[Y,I]=max(ObjV),holdon;%输出最优值trace(1,gen)=max(ObjV);%最优解trace(2,gen)=sum(ObjV)/length(ObjV);%解均值endvarible=bs2rv(Chrom,FieldD);%最优个体的十进制转换holdon,grid;plot(v
4、arible',ObjV','b*');%画出种群及值重新调用MATLAB命令,执行以下命令plot(trace(1,:)');holdon;plot(trace(2,:)','-.');grid;legend('解的变化','种群均值的变化')
此文档下载收益归作者所有