利用遗传算法求函数的极大值.doc

利用遗传算法求函数的极大值.doc

ID:57413582

大小:37.50 KB

页数:10页

时间:2020-08-16

利用遗传算法求函数的极大值.doc_第1页
利用遗传算法求函数的极大值.doc_第2页
利用遗传算法求函数的极大值.doc_第3页
利用遗传算法求函数的极大值.doc_第4页
利用遗传算法求函数的极大值.doc_第5页
资源描述:

《利用遗传算法求函数的极大值.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、利用遗传算法求函数的极大值该函数有两个局部极大值点,分别是f(2.048,-2.048)=3897.7342和f(2.048,-2.048)=3905.9262,其中,后者为全局最大点。可以分别用二进制编码和十进制编码遗传算法求函数极大值遗传算法二进制编码求函数极大值程序%GenericAlgorithmforfunctionf(x1,x2)optimumclearall;closeall;%Parameters参数Size=80;%群体大小G=100;%终止进化代数CodeL=10;%代码长度umax=2.048;umin=-2.048;E=round(rand(Size,2*Cod

2、eL));%InitialCode最初代码%MainProgram主程序fork=1:1:Gtime(k)=k;fors=1:1:Sizem=E(s,:);y1=0;y2=0;%X对应的十进制代码%Uncodingm1=m(1:1:CodeL);fori=1:1:CodeLy1=y1+m1(i)*2^(i-1);%将y1转换为十进制数endx1=(umax-umin)*y1/1023+umin;m2=m(CodeL+1:1:2*CodeL);fori=1:1:CodeLy2=y2+m2(i)*2^(i-1);%将y2转换为十进制数endx2=(umax-umin)*y2/1023+um

3、in;%求x对应的十进制数F(s)=100*(x1^2-x2)^2+(1-x1)^2;%个体适应度函数endJi=1./F;%个体适应度函数的倒数%******Step1:EvaluateBestJ******BestJ(k)=min(Ji);fi=F;%FitnessFunction适应函数[Oderfi,Indexfi]=sort(fi);%ArrangingfismalltobiggerBestfi=Oderfi(Size);%LetBestfi=max(fi)BestS=E(Indexfi(Size),:);%LetBestS=E(m),mistheIndexfibelongt

4、omax(fi)%最佳样本bfi(k)=Bestfi;%******Step2:SelectandReproductOperation******fi_sum=sum(fi);fi_Size=(Oderfi/fi_sum)*Size;fi_S=floor(fi_Size);%SelectingBiggerfivaluekk=1;fori=1:1:Sizeforj=1:1:fi_S(i)%SelectandReproduceTempE(kk,:)=E(Indexfi(i),:);kk=kk+1;%kkisusedtoreproduceendend%************Step3:Cr

5、ossoverOperation************pc=0.60;%交叉概率n=ceil(20*rand);%种群大小fori=1:2:(Size-1)temp=rand;ifpc>temp%CrossoverConditionforj=n:1:20TempE(i,j)=E(i+1,j);%交换E(i,j)和E(i+1,j)TempE(i+1,j)=E(i,j);endendendTempE(Size,:)=BestS;E=TempE;%************Step4:MutationOperation**************%pm=0.001;%变异概率%pm=0.00

6、1-[1:1:Size]*(0.001)/Size;%Biggerfi,smallerPm%pm=0.0;%Nomutationpm=0.1;%Bigmutationfori=1:1:Sizeforj=1:1:2*CodeLtemp=rand;ifpm>temp%MutationConditionifTempE(i,j)==0TempE(i,j)=1;elseTempE(i,j)=0;endendendend%GuaranteeTempPop(30,:)isthecodebelongtothebestindividual(max(fi))TempE(Size,:)=BestS;E=Te

7、mpE;endMax_Value=BestfiBestSx1x2figure(1);plot(time,BestJ);%目标函数和时间的坐标系xlabel('Times');ylabel('BestJ');figure(2);plot(time,bfi);xlabel('times');ylabel('BestF');遗传算法十进制编码求函数极大值程序%GenericAlgorithmforfunctionf(x1,x2)optimumclea

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

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

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