ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:117.87KB ,
资源ID:17576756      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17576756.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(张鹏 遗传算法作业Word下载.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

张鹏 遗传算法作业Word下载.docx

1、附录一function GACS%UNTITLED Summary of this function goes here% Detailed explanation goes here%p表示适应度百分数;L系列表示任何不保留数据P=0;%P表示适应度之和;r表示函数值;M表示复制数%nx表示x的总个数%ny表示y的总个数%I系列是i系列的保留变量组I1=0;I2=0;MAX2R=0;N=20;%表示每一代染色体数n1=3;%表示生成二进制数整数的位数n2=5;%表示生成二进制数小数的位数N1=15;%表示遗传的代数Rstx=0:0.001:8;%x的值Rsty=0:%y的值nx=length

2、(Rstx);ny=length(Rsty);Rstxnx=Rstx(randperm(nx);%对x排序Rstyny=Rsty(randperm(ny);%对y排序PB=0.01;%变异的概率M1=(n1+n2)*N;%M1表示染色体总的二进制位数XMAX2R=1:1:N1;%m1表示变异的位置%选择初始种群for i=1:N ssx(i)=Rstxnx(i); ssy(i)=Rstyny(i);end x=ssx; y=ssy;%选择结束for j=1:N1 %计算适应度 r=f(x,y); xx(j,:)=x; yy(j,:)=y; R(j,:)=r; U2R=R(j,:); nU2R=

3、length(U2R); for ui=1:nU2R if MAX2RU2R(ui) MAX2R=MAX2R; else MAX2R=U2R(ui); end YMAX2R(j)=MAX2R; %适应值计算完毕,计算相应百分数得到转轮 for i=1: P=r(i)+P; p(i)=r(i)/P; M(i)=round(N*p(i); %转轮结束 %选择,复制开始 %被化简的程序 for i1=1: switch M(i) case i1 I1=i1; for i2=1:I1 ssx(I2+i2)=x(i); ssy(I2+i2)=y(i); break I2=length(ssx); %选择

4、,复制结束 %单点交叉开始 Rssx=ssx(randperm(N); Rssy=ssy(randperm(N); for ii=1: RstJssx2(ii)=ZPTTo2B1(Rssx(ii),n1,n2); RstJssy2(ii)=ZPTTo2B1(Rssy(ii),n1,n2); %制作掩码 L=1:n1+n2-1; L1=L(randperm(n1+n2-1);%L1(1)作为交叉点L1(1) y(i)=1; L2=n1+n2-L1(1);L2 y(L1(1)+i)=0; YMT=ZP2BToT(y,n1,n2);%掩码十进制 YMTQ=ZPTTo2B1(YMT,n1,n2);%掩

5、码二进制,加上权重的十进制掩码2:N-1 ANDxL(i)=bitand(RstJssx2(i),YMTQ);%1左边留下 ANDxR(i)=RstJssx2(i)-ANDxL(i);%1右边 ANDxL(i+1)=bitand(RstJssx2(i+1),YMTQ);%2左 ANDxR(i+1)=RstJssx2(i+1)-ANDxL(i+1);%2右边 LJxQ=ANDxL(i)+ANDxR(i+1); LJxQ2B=dec2bin(LJxQ,n1+n2); LJx=ZP2BToT1(LJxQ2B,n1,n2); RstJx(i)=LJx; LJxQ1=ANDxR(i)+ANDxL(i+1

6、); LJxQ2B1=dec2bin(LJxQ1,n1+n2); LJx1=ZP2BToT1(LJxQ2B1,n1,n2); RstJx(i+1)=LJx1; ANDyL(i)=bitand(RstJssy2(i),YMTQ); ANDyR(i)=RstJssy2(i)-ANDyL(i); ANDyL(i+1)=bitand(RstJssy2(i+1),YMTQ); ANDyR(i+1)=RstJssy2(i+1)-ANDyL(i+1); LJyQ=ANDyL(i)+ANDyR(i+1); LJyQ2B=dec2bin(LJyQ,n1+n2); LJy=ZP2BToT1(LJxQ2B,n1,n

7、2); RstJy(i)=LJy; LJyQ1=ANDyL(i)+ANDyR(i+1); LJyQ2B1=dec2bin(LJyQ1,n1+n2); LJy1=ZP2BToT1(LJxQ2B1,n1,n2); RstJy(i+1)=LJy1; %变异开始 m1=round(M1*PB); if m1 %对x的变异 ssn21=randint(1,m1,n1+n2-2)+1;%相应二进制数变换的位置 RstNG=randint(1,m1,N)+1; for i11=1:m1 ssn2=ssn21(i11);%第几个染色体变异 di=RstNG(i11);%变异染色体的第几位 Rstxdi2=ZP

8、TTo2B(RstJx(di),n1,n2);%di的x染色体的个数准备变异的二进制数 Rstxdissn2T=bin2dec(Rstxdi2(ssn2);%准备变异ssn2处的编程的十进制数 Rstxdi21=abs(Rstxdissn2T-1); if Rstxdissn2T if ssn2n1 RstJx(di)=abs(RstJx(di)-2(-(ssn2-n1); else RstJx(di)=abs(RstJx(di)-2(n1-ssn2+1-1); RstJx(di)=abs(RstJx(di)+2(-(ssn2-n1); RstJx(di)=abs(RstJx(di)+2(n1

9、-ssn2+1-1); %对y的变异 Rstydi2=ZPTTo2B(RstJy(di),n1,n2); Rstydissn2T=bin2dec(Rstydi2(ssn2); Rstydi21=abs(Rstydissn2T-1); if Rstydissn2T RstJy(di)=abs(RstJy(di)-2(-(ssn2-n1); RstJy(di)=abs(RstJy(di)-2(n1-ssn2+1-1); RstJy(di)=abs(RstJy(di)+2(-(ssn2-n1); RstJy(di)=abs(RstJy(di)+2(n1-ssn2+1-1); %变异结束 x=RstJ

10、x; y=RstJy; j=1+j;xx=unique(xx);yy=unique(yy);X,Y=meshgrid(xx,yy);Z=f(X,Y);figure(1)surf(X,Y,Z)title(张鹏 遗传算法作业三维surf图)xlabel(xylabel(yzlabel(F函数值figure(2)mesh(X,Y,Z)张鹏 遗传算法作业三维mesh图figure(3)plot(XMAX2R,YMAX2R)grid;遗传的代数每一代的最大值axis(0 N1+0.1 0 1.1)set(gca,ytick,0:N1+1)0.1:1.1)张鹏 遗传算法作业 function ff=f(x

11、,y) f1=sin(pi*(x-3).*(pi*(x-3).(-1); f11=abs(f1); f2=sin(pi*(y-3).*(pi*(y-3).(-1); f22=abs(f2); ff=f11.*f22; function Dd=ZPTTo2B(y,n1,n2) yn1=dec2bin(y,n1); yn11=bin2dec(yn1); %整数部分的十进制数值 yn21=y-yn11; %小数部分的十进制数 yn2=ZPx2b(yn21,n2); %小数不分的二进制数 yn22=bin2dec(yn2); yn12=yn11*2n2; yn1to2=yn12+yn22; Dd=de

12、c2bin(yn1to2,n1+n2); function D=ZPx2b(x,N)%x为小数,N为二进制小数的位数 a=x*2; if a=1 b=a-1; c(i)=1; b=a; c(i)=0; a=b*2; d=0; d=c(i)*2(N-i)+d; D=dec2bin(d,N); function Dd=ZPTTo2B1(y,n1,n2) Dd1=dec2bin(yn1to2,n1+n2); Dd=bin2dec(Dd1); function d=ZP2BToT(y,n1,n2) a=0; b=0; a=y(n1-i+1)*2(i-1)+a;n2 b=y(i+n1)*2(-i)+b; d=a+b; function d=ZP2BToT1(y,n1,n2) for ij1=1: a=bin2dec(y(n1-ij1+1)*2(ij1-1)+a; b=bin2dec(y(ij1+n1)*2(-ij1)+b;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1