g_crossover.m

来自「real genetic algorithm matlab code」· M 代码 · 共 17 行

M
17
字号
%%%%%%%%% function g_crossover %%%%%%%%%%%%%%
function [new_pop]=g_crossover(mating_pool,Pc,N)
parent_num=randperm(N);
for j=1:2:N
    sec=rand;
    pointer1=parent_num(j);
    pointer2=parent_num(j+1);
    off1=mating_pool(pointer1,:);
    off2=mating_pool(pointer2,:);
    if rand<Pc
        off1=sec.*off1+(1-sec).*off2;
        off2=sec.*off2+(1-sec).*off1;
    end
    new_pop(j,:)=off1;
    new_pop(j+1,:)=off2;
end
return

⌨️ 快捷键说明

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