600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Matlab 贪婪交叉算子遗传算法

Matlab 贪婪交叉算子遗传算法

时间:2021-03-07 00:07:17

相关推荐

Matlab 贪婪交叉算子遗传算法

贪婪交叉算子

function r=crossover(p,n,k,x,y)

r1=randperm(k,1);

r2=randperm(k,1);

while r1r2

r2=randperm(k,1);

end

l1=p(r1,:);

l2=p(r2,:);

r=randperm(n);

for p1=2:n

r(p1)=0;

end

for p1=2:n

m1=find(l1r(p1-1));

m2=find(l2r(p1-1));

if m1length(l1)

m1=1;

else

m1=m1+1;

end

if m2length(l2)

m2=1;

else

m2=m2+1;

end

if distance(l1(m1),r(p1-1),x,y)<=distance(l2(m2),r(p1-1),x,y)

r(p1)=l1(m1);

else

r(p1)=l2(m2);

end

m1=find(l1r(p1-1));

m2=find(l2==r(p1-1));

l1(m1)=[];

l2(m2)=[];

end

end

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。