进化算法程序.doc

进化算法程序.doc

ID:55535251

大小:367.00 KB

页数:20页

时间:2020-05-16

进化算法程序.doc_第1页
进化算法程序.doc_第2页
进化算法程序.doc_第3页
进化算法程序.doc_第4页
进化算法程序.doc_第5页
资源描述:

《进化算法程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、进化算法作业1全局优化问题(1),此问题的全局最优值。一.程序(1)主函数:main.mclearall;clc;popsize=60;%种群规模chromlength=34;%二进制编码,编码精度为0.0001,所以串长l为17pc=0.7;%杂交概率pm=0.1;%变异概率t=0;%进化代数初始为0pop=initpop(popsize,chromlength);%随机产生初始种群whilet<500%迭代次数t=t+1;[objvalue]=calobjvalue(pop);%计算目标函数值fitvalue=calfitvalue(objvalue)

2、;%计算群体中每个个体的适应度[bestindividual,bestfit]=best(pop,fitvalue);%求出群体中适应度最大的个体及其适应度值x11=decodechrom(bestindividual,1,14);%将二进制数转换为十进制数x22=decodechrom(bestindividual,15,14);x1(t)=-5+10*x11/(pow2(14)-1);%将二值域中的数转换为变量域的数x2(t)=-5+10*x22/(pow2(14)-1);y(t)=4*x1(t)^2-2.1*x1(t)^4+1/3*x1(t)^6+x

3、1(t)*x2(t)-4*x2(t)^2+4*x2(t)^4;%计算最佳个体的目标函数值[newpop1]=selection(pop,fitvalue);%选择算子[newpop2]=crossover(newpop1,pc);%交叉算子[newpop3]=mutation(newpop2,pm);%变异算子objvalue1=calobjvalue(newpop3(1,:));ifobjvalue1>y(t)newpop3(1,:)=bestindividual;%保留最佳个体endpop=newpop3;%产生新种群endy;%每代的最佳目标函数值x

4、1;%每代的最佳目标函数值对应的自变量x2;[gy,k]=min(y)%gy为全局最优值,k为最优值对应的进化代数gx1=x1(k)%全局最优值对应的自变量gx2=x2(k)plot(y)%最优值收敛曲线title('收敛性曲线');xlabel('进化代数');ylabel('函数值');axis([0,500,-1.5,1.5]);(2)初始种群:initpop.mfunctionpop=initpop(popsize,chromlength)pop=round(rand(popsize,chromlength));%rand随机产生[0,1]区间的一

5、个小数,rand四舍五入取整end(3)计算目标函数值::calobjvalue.mfunction[objvalue]=calobjvalue(pop)temp1=decodechrom(pop,1,14);temp2=decodechrom(pop,15,14);x1=-5+(10*temp1)/(pow2(14)-1);%将二值域中的数转化为变量域中的数x2=-5+(10*temp2)/(pow2(14)-1);objvalue=4*x1.^2-2.1*x1.^4+1/3*x1.^6+x1.*x2-4*x2.^2+4*x2.^4;%计算目标函数end

6、a.二进制转换为十进制:decodechrom.mfunctiontemp=decodechrom(pop,spoint,length)pop1=pop(:,spoint:spoint+length-1);%按变量个数分组转换,spoint为起始点,length为一个变量的长度temp=decodebinary(pop1);endb.求二进制串对应的十进制数:decodebinary.mfunctiontemp=decodebinary(pop)[px,py]=size(pop);%求pop行数和列数fori=1:pypop1(:,i)=2.^(py-i)

7、.*pop(:,i);endtemp=sum(pop1,2);%每一行求和end(4)计算个体适应度:calfitvalue.mfunctionfitvalue=calfitvalue(objvalue)fitvalue=1./(1+exp(objvalue));end(5)种群中最大适应度个体及其值:best.mfunction[bestindividual,bestfit]=best(pop,fitvalue)[px,py]=size(pop);bestindividual=pop(1,:);bestfit=fitvalue(1);fori=2:px;

8、iffitvalue>bestfitbestindividual=

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

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

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