用MATLAB实现基于进化策略求解问题源代码’

时间:2022-01-26 10:09:31
【文件属性】:

文件名称:用MATLAB实现基于进化策略求解问题源代码’

文件大小:2KB

文件格式:TXT

更新时间:2022-01-26 10:09:31

ggg

clear format long u=15; %个体数 %a=1.4; %a=1.6 %a=1.8; %a=2.0; %a=2.5; %a=3.0; %a=3.5; %a=4.0; %a=4.5; a=5.0; lemda=7.*u;% 扩充的个体数 x=rand(u,1); y=((exp(a.*x)-exp((-a).*x))./(exp(a.*x)+exp((-a).*x)))-x;%计算函数值 shizhi=1./(1+y.^2);%计算适应度值 f=zeros(u,1);%初始群体的适应度值空间 f=shizhi; ff=zeros(lemda,1);%经过重组、变异后的群体的适应度值空间 [maxf,index]=max(shizhi);%将最大的适应度值取出来 mbig=maxf(end); episilon=0.999999999; sigma=zeros(lemda,1); sigma(:,:)=3.0; r=1; r1=1; s=0; xx=zeros(lemda,1); while(mbig1 xx(i,1)=rand(1,1); end end y1=((exp(a.*xx)-exp((-a).*xx))./(exp(a.*xx)+exp((-a).*xx)))-xx;%计算函数值 shizhi1=1./(1+y1.^2);%适应度值得大小 [maxff,index]=sort(shizhi1);%将最大的适应值取出来 mbig=maxff(end); %扩充后的最大的适应度 %下面选择最优的u个个体 x=xx(index(lemda-u+1:end),:);%从经过突变后的新个体中选取最优的u个个体作为下一代的初始群体 sigma=Sigma(index(lemda-u+1:end),:); x(end,1); s=s+1 end x(end) %取最优的系数解


网友评论