crossover.m

来自「该源码是神经网络中常用的遗传算法的代码。遗传算法是最优化常用的解法之一。」· M 代码 · 共 28 行

M
28
字号
for i=1:2:39
   if rand<0.9
     cross_pos=round(10*rand);   %交叉位置为0~9,若位置为0或1,则不进行交叉操作
     if or(cross_pos==0, cross_pos==10)
        continue;   
     end
     for j=cross_pos+1:9
       temp=pop(i,j);
       pop(i,j)=pop(i+1,j);
       pop(i+1,j)=temp;
     end   %for
     cross_pos=round(10+10*rand);
     if or(cross_pos==10, cross_pos==20)
       continue;
     end
     for j=cross_pos+1:19
       temp=pop(i,j);
       pop(i,j)=pop(i+1,j);
       pop(i+1,j)=temp;
    end   %for
  end
end
clear i;
clear k;
clear j;
clear temp;
clear cross_pos;
 

⌨️ 快捷键说明

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