多目标粒子群matlab代码(6)

2019-08-17 13:49

x=x0+(x1-x0)/1000*(i-1); y=1-sqrt(x);

dd(i)=sqrt((x-x0)^2+(y-y0)^2); end %------ZDT2

case {'ZDT2','ZDT6'}

if(y0>0.921164494015440) x1=0.280776612246391; else

x1=sqrt(1-y0); end

for i=1:1001

x=x0+(x1-x0)/1000*(i-1); y=1-x^2;

dd(i)=sqrt((x-x0)^2+(y-y0)^2); end %------ZDT3 case 'ZDT3'

x1=fzero(@(x)(1-sqrt(x)-x*sin(10*pi*x)-y0),x0); if(isnan(x1)) x1=x0; end

for i=1:1001

x=x0+(x1-x0)/1000*(i-1); y=1-sqrt(x)-x*sin(10*pi*x); dd(i)=sqrt((x-x0)^2+(y-y0)^2); end case

{'CTP1','CTP2','CTP3','CTP4','CTP5','CTP6','CTP7','CTP8','CONSTR','CTP9','SRN','CTP10','TNK','MOP-C4','MOP-C1','BNH','MOP-C2','OSY'} fvin = stdfv;

fvin(:,1) = fvin(:,1)-x0; fvin(:,2) = fvin(:,2)-y0;

dd = sqrt(sum(fvin.^2,2)); end

d=min(dd); end

function GD=GenerationalDistance2(funcname,np) %世代距离GD(七点法) n=size(np,1);

m=size(fitness(np(1,:),funcname),2); f=zeros(n,m);

if(n==1) GD=0; return; end

for i=1:n

f(i,:)=fitness(np(i,:),funcname); end

[n,k]=size(f);%n:解的个数;k:解的维数; fmax = max(f); d=zeros(1,n); for i=1:n

d(i)=GetSchottDis(fmax,k,f(i,:)); end

GD=sqrt(sum(d.^2))/n; end

function d = GetSchottDis(fmax,k,x) xmin = zeros(1,k);

ds = sqrt(sum((x-xmin).^2));%到(0,0,...,0)点的距离; for i=1:k

xk1=x;xk1(i)=xk1(i)-fmax(i)/3;ds=ds+sqrt(sum((xk1-xmin).^2));%到(0,0,...,fi/3,...,0)点的距离;

xk2=x;xk2(i)=xk2(i)-2*fmax(i)/3;ds=ds+sqrt(sum((xk2-xmin).^2));%到(0,0,...,2fi/3,...,0)点的距离;

xk3=x;xk3(i)=xk3(i)-fmax(i);ds=ds+sqrt(sum((xk3-xmin).^2));%到(0,0,...,fi,...,0)点的距离; end

d=ds/(k+1);%x到这(k+1)个点的距离的平均值 end


多目标粒子群matlab代码(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:空军副政治委员 - 赵以良空军中将

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: