实验利用遗传算法进行函数优化

实验利用遗传算法进行函数优化

ID:42789232

大小:292.19 KB

页数:8页

时间:2019-09-21

实验利用遗传算法进行函数优化_第1页
实验利用遗传算法进行函数优化_第2页
实验利用遗传算法进行函数优化_第3页
实验利用遗传算法进行函数优化_第4页
实验利用遗传算法进行函数优化_第5页
资源描述:

《实验利用遗传算法进行函数优化》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验利用遗传算法进行函数优化一、实验目的1了解及掌握遗传算法的基本操作2利用遗传算法解决实际问题3熟悉MATLAB编程语言二、实验内容编写一个基于遗传算法的函数寻优程序,完成如下任务:在区间[T,2]上搜索函数fl=x*sin(10nx)+2的最大值。2、搜索函数f2=xl2+x22的最小值(其中,-5.12

2、意偶数,染色体长度取不大于64的整数,交叉概率和变界概率的取值范围为[0,l]o输出数据包括每代最优个体码串、译码值、目标函数值以及用图形显示逐渐逼近最优解的过程。三、实验原理遗传算法模拟自然选择和自然遗传过程中发生的繁殖、交叉和基因突变现象,在每次迭代中都保留一组候选解,并按某种指标从解群中选取较优的个体,利用遗传算子(选择、交叉和变异)对这些个体进行组合,产生新一代的候选解群,重复此过程,直到满足某种收敛指标为止。SGA的框图产生初始群体产生新一代群体四、程序与运行结果第一题:figure(1);fplot('variable.

3、*sin(10*pi*variabl_e)+2.0‘,[-1,2]);%画;1

4、匡[数曲线%定义遗传算法参数NIND=40;%个体数冃MAXGEN=25;%最大遗传代数PRECI=20;%变量的二进制位数GGAP=0.9;弋沟trace=zeros(2,MAXGEN);%寻优结果的初始值FieldD=[20;-l;2;l;0;l;l];%区域描述器Chrom=crtbp(KIND,PRECI);%初始种群gen=0;%代计数器variable=bs2rv(Chrom,FieldD);%计算初始种群的I•进制转换ObjV=variab

5、le・*sin(10*pi*variable)+2・0;%计算目标函数值whilegerKMAXGENFitnV=ranking(-ObjV);%分配适应度值SelCh=select('sus'zChrom,FitnV,GGAP);%选择SelCh=recombin('xovsp',SelCh,0・7);%重组SelCh=mut(SelCh);%变异variable=bs2rv(SelCh,FieldD);%了代个体的十进制转换ObjVSel=variable・*sin(10*pi*variable)+2.0;%计算子代的冃标函数彳

6、肖[ChromObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel);%重新插入子代的新种群variable=bs2rv(Chrom,FieldD);gen=gen+l;%代计数器增加%输出最优解及其序号,并在目标函数图像中标出,Y为最优解,I为种群的序号[Y,I]=max(ObjV);holdon;plot(variable(I),Y,'bo');trace(1,gen)=max(ObjV);%遗传算法性能跟踪trace(2,gen)=sum(ObjV)/length(ObjV);endvariable

7、=bs2rv(Chrom,FieldD);%最优个体的十进制转换holdon,grid;plot(variable,ObjV,'b*');figure(2);holdon;plot(trace(2,:),'-.');gridlegend('解的变化'J种群均值的变化')最后寻优结果为:x二1.8505,f(x)=3.8503第二题:functionresult=zuoye23(Size,umin,umax,pc,pm,e)clc;clear;tic;Size=80;G=100;CodeL=10;umax=5•12;umin=-5•1

8、2;E=round(rand(Size,3*CodeL));fork=l:1:Gtime(k)=k;fors=l:1:Sizem=E(s,:);yl=0;y2=0;ml=m(1:1:CodeL);fori=l:1:CodeLyl=yl+ml(i)*2A(i-1);endxl=(umax-umin)*yl/1023+umin;m2=m(CodeL+1:1:2*CodeL);fori=l:1:CodeLy2=y2+m2(i)*2A(i-1);endx2=(umax-umin)*y2/1023+umin;F(s)=xlA2+x2A2;en

9、dBestJ(k)=min(F);fi=F;%适应度函数[Oderfi,Indexfi]=sort(fi);%按照适应度大小排序Bestfi=Oderfi(1);%Oderfi中最后一个即是最大的适应度BestS=E(Indexfi(

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

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

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