⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crossover.m

📁 遗传优化算法
💻 M
字号:
function child=crossover(father,cp)
[n,m]=size(father);
k=0;a=[];
for i=1:n
    if rand<cp
        k=k+1;
    end
end
if  k==0
    child=father;
else
for j=1:k
   d=[];

   i=1;
   while (i<=2)
      a(i)=round(rand*(n-1))+1;
       if i==2 & a(i)==a(i-1)
         a(i)=round(rand*(n-1))+1;
        i=i-1;
       end
     i=i+1;
   end

   i=1;
   while (i<=2)
      b(i)=round(rand*(m-1))+1;
       if i==2 & b(i)==b(i-1)
         b(i)=round(rand*(m-1))+1;
        i=i-1;
       end
     i=i+1;
   end

   c1=min(b);
   c2=max(b);
   a1=a(1);
   a2=a(2);
  for i=c1;c2
    d(i-c1+1)=father(a1,i);
    father(a1,i)=father(a2,i);
    father(a2,i)=d(i-c1+1);
  end
end
child=father;
end


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -