0
자손 분배를 원하는 생성 할 수 없습니다 그 모양에서 : 내 구현이 올바른 생각 enter image description here ,하지만 난이 원하는 그림을 도달 할 수없는 이유를 모르겠어 : 여기 matlab에 + GA : 그러나 <a href="https://i.stack.imgur.com/vQqNb.png" rel="nofollow noreferrer">enter image description here</a></p> <p>내 구현 다릅니다 : 시뮬레이션 진 크로스 오버 (SBX)은 내가 SBX의 자손 분포는 2 차원 벡터에 대한 다음과 같은 모양을 가지고 있어야합니다 몇 가지 참고 문헌에서 발견 한
par1 = [.2; .2];
par2 = [.8; .8];
eta = 15;
child1 = zeros(2,1);
child2 = child1;
hold on
for k = 1:100
for i = 1:2
u = rand;
if (u<0.5)
beta=(2*u)^(1/(eta+1));
elseif (u>0.5)
beta=(0.5/(1-u))^(1/(eta+1));
elseif (u == .5)
beta = 1;
end
c1(i) = 0.5*(par1(i)+par2(i)) - 0.5*beta*abs(par1(i)-par2(i));
c2(i) = 0.5*(par1(i)+par2(i)) + 0.5*beta*abs(par1(i)-par2(i));
end
plot([c1(1), c2(1)], [c1(2), c2(2)], 'b.')
end
내 출력됩니다.
답변 해 주셔서 감사합니다 +1. 그러한 구현을위한 링크를 제공해 주시겠습니까? – sci9
[web] (https : //)에서 가져온 것은 [link code] (https://www.iitk.ac.in/kangal/codes/nsga2/nsga2-gnuplot-v1.1.6.tar.gz)입니다. www.iitk.ac.in/kangal/codes.shtml) –
왜 fu ~ -1 점입니까? –