欢迎来到天天文库
浏览记录
ID:41504776
大小:39.50 KB
页数:3页
时间:2019-08-26
《实验四叶全辉》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验四遗传计算函数专业:汽车服务工程班级:1班姓名:叶全辉学号:140053121087一:问题重述利用遗传算法计算函数f(x)=xcos(5πx)+3.5在区间上的最大值二:模型建立为了避免汉明悬崖,我们选择格雷编码。种群规模为50个个体,每个个体长度为20,使用代沟为0.9,最大遗传代数为60.以下为一元函数优化问题的Matlab代码:Opt_minmax=1;%目标优化类型:1最大化、-1最小化Num_ppu=50;%种群规模:个体个数Num_gen=60;%最大遗传代数Len_ch=20;%
2、基因长度Gap=0.9;%代沟Sub=-1;%变量取值下限Up=2.5;%变量取值上限Cd_gray=1;%是否选择格雷编码方式:1是,0否Sc_log=0;%是否选择对数标度:1是,0否Trace=zeros(num_gen,2);%遗传迭代性能跟踪器Fieldd=[len_ch;sub;up;1-cd_gray;sc_log;1;1];%区域描述器Chrom=crtbp(num_ppu,len_ch);%初始化生成种群K_gen=0;X=bs2rv(chrom,fieldd);%翻译初始化种群为
3、10进制Fun_v=fun_sigv(x);%计算目标函数值Tx=sub:.01:up;Plot(tx,fun_sigv(tx))Xlable(‘x’)Ylable(‘y’)Title(‘一元函数优化结果‘)HoldonWhilek_gen4、rom);%交叉Selchrom=mut(selchrom);%变异X=bs2rv(selchrom,fieldd);%子代个体翻译Fun_v_sel=fun_sigv(x);%%计算子代个体对应的目标函数值[chrom,fun_v]=reins(chrom,selchrom,1,1,opt_minmax*fun_v,opt_minmax*fun_v_sel);%根据目标函数值将子代个体插入新种群[f,id]=max(fun_v);x=bs2rv(chrom,feildd);f=f*opt_minm5、ax;k_gen=k_gen+1;trace(k_gen,1)=f;trace(k_gen,2)=mean(fun_v);endplot(x(id),f,'r*')figureplot(trace(:,1),'r-*')holdonplot(trace(:,2),'b-o')legend('各子代种群最优解','各子代种群平均值')xlabel('迭代次数')ylabel('目标函数优化情况')title('一元函数优化过程')Functiony=fun_sigv(x)Y=x.*cos(5*pi*x6、)+3.5;算法结果如下:
4、rom);%交叉Selchrom=mut(selchrom);%变异X=bs2rv(selchrom,fieldd);%子代个体翻译Fun_v_sel=fun_sigv(x);%%计算子代个体对应的目标函数值[chrom,fun_v]=reins(chrom,selchrom,1,1,opt_minmax*fun_v,opt_minmax*fun_v_sel);%根据目标函数值将子代个体插入新种群[f,id]=max(fun_v);x=bs2rv(chrom,feildd);f=f*opt_minm
5、ax;k_gen=k_gen+1;trace(k_gen,1)=f;trace(k_gen,2)=mean(fun_v);endplot(x(id),f,'r*')figureplot(trace(:,1),'r-*')holdonplot(trace(:,2),'b-o')legend('各子代种群最优解','各子代种群平均值')xlabel('迭代次数')ylabel('目标函数优化情况')title('一元函数优化过程')Functiony=fun_sigv(x)Y=x.*cos(5*pi*x
6、)+3.5;算法结果如下:
此文档下载收益归作者所有