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 + -
显示快捷键?