L=32;
N=60;
M=80;
T=100;
Pc=0.6;
Pm=0.02;
for i=1:1:N
x10(1,i)=unidrnd(2^L-1);
x10(2,i)=unidrnd(2^L-1);
x11(1,i)=double(x10(1,i))/(2^L-1)*10-5;
x11(2,i)=double(x10(2,i))/(2^L-1)*10-5;
end
for t=1:1:T
t
for i=1:1:N
temp1(1,i)=x11(1,i)^2+x11(2,i)^2;
y1(1,i)=0.5-(sin(sqrt(temp1(1,i)))^2-0.5)/(1+0.001*temp1(1,i));
grayCode1(1,i,:)=num2gray(x10(1,i),L);
grayCode1(2,i,:)=num2gray(x10(2,i),L);
end
for i=1:1:M
[a,b]=max(y1);
grayCode2(1,i,:)=grayCode1(1,b,:);
grayCode2(2,i,:)=grayCode1(2,b,:);
y1(1,b)=-inf;
end
for i=1:1:M/2
p=unidrnd(L);
if rand()<Pc
for j=p:1:L
temp=grayCode2(1,i,j);
grayCode2(1,i,j
mark2
最新推荐文章于 2025-04-01 19:22:49 发布