1 / 10
文档名称:

遗传算法matlab实例讲解.pptx

格式:pptx   大小:398KB   页数:10页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

遗传算法matlab实例讲解.pptx

上传人:iris028 2019/5/4 文件大小:398 KB

下载得到文件列表

遗传算法matlab实例讲解.pptx

相关文档

文档介绍

文档介绍:遗传算法(GA)实例讲解求函数f(x)=10*sin(5x)+7*cos(4x),x∈[0,10]的最大值:函数最大值f(x)=10*sin(5x)+7*cos(4x)的最大值f1(x)=-f(x)-10*sin(5x)-7*cos(4x)的最小值[x,fval]=fminbnd(‘-10*sin(5*x)-7*cos(4*x)’,0,10)x==-==-(x)=10*sin(5x)+7*cos(4x),x∈[0,10]的最大值为:x1==(x1)=f(x2)=(编码),一个10位的二值数提供的分辨率是(10-0)/(2^10-1)≈。群体初始化将x的值用一个10位的二值形式表示为二值问题(编码),一个10位的二值数提供的分辨率是每为(10-0)/(2^10-1)≈。计算目标函数值function[objvalue]=calobjvalue(pop)temp1=decodechrom(pop,1,10);x=temp1*10/1023;objvalue=10*sin(5*x)+7*cos(4*x);end计算个体适应值functionfitvalue=calfitvalue(objvalue)globalCmin;Cmin=0;[px,py]=size(objvalue);fori=1:pxifobjvalue(i)+Cmin>0temp=Cmin+objvalue(i);elsetemp=;endfitvalue(i)=temp;endfitvalue=fitvalue';end选择function[newpop]=selection(pop,fitvalue)totalfit=sum(fitvalue);fitvalue=fitvalue/totalfit;fitvalue=cumsum(fitvalue);[px,py]=size(pop);ms=sort(rand(px,1));fitin=1;newin=1;whilenewin<=pxif(ms(newin))<fitvalue(fitin)newpop(newin)=pop(fitin);newin=newin+1;elsefitin=fitin+1;endendend交叉function[newpop]=crossover(pop,pc)[px,py]=size(pop);newpop=ones(size(pop));fori=1:2:px-1if(rand<pc)cpoint=round(rand*py);newpop(i,:)=[pop(i,1:cpoint),pop(i+1,cpoint+1:py)];new