crossover.m

来自「BGA Binary Genetic Algorithm Matlab Co」· M 代码 · 共 17 行

M
17
字号
% -------------------- Cross Over Function ----------------------
function[New_Genr]=Crossover(Selected_gen,Crossover_rate,N,Bin_gen)
temp=randperm(N);
New_Genr=[];
for i=1:2:N
    parent1=Selected_gen(temp(i),:);
    parent2=Selected_gen(temp(i+1),:);
    r=rand;
    if r<=Crossover_rate
        CutPoint=round(rand*(Bin_gen-2)+1);
        New_Genr(i,:)=[parent1(:,1:CutPoint) parent2(:,CutPoint+1:end)];
        New_Genr(i+1,:)=[parent2(:,1:CutPoint) parent1(:,CutPoint+1:end)];
    else
    New_Genr(i,:)=parent1;
    New_Genr(i+1,:)=parent2;
    end
end

⌨️ 快捷键说明

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