遗传算法交叉操作函数

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

遗传算法交叉操作函数

%%%%%%%%交叉操作函数%%%%%%%%%%%%%%%%%%%% function [A,B]=cross(A,B)

L=length(A);

if L<10

W=L;

elseif ((L/10)-floor(L/10))>=rand&&L>10

W=ceil(L/10)+8;

else

W=floor(L/10)+8;

end

p=unidrnd(L-W+1);

fprintf('p=%d ',p);

for i=1:W

x=find(A==B(1,p+i-1));

y=find(B==A(1,p+i-1));

[A(1,p+i-1),B(1,p+i-1)]=exchange(A(1,p+i-1),B(1,p+i-1));

[A(1,x),B(1,y)]=exchange(A(1,x),B(1,y));

end

end

相关文档
最新文档