crossover.m

来自「采用遗传算法对于加工问题的排序,使其最快.」· M 代码 · 共 24 行

M
24
字号
function seq_crossover=crossover(pc,seq_copy,job_total,pop_size)
seq_crossover=seq_copy;
for i=1:2:pop_size
    if rand(1)<=pc
        c_find=ceil(rand(1)*job_total);
        j=c_find;
        for k=1:job_total
                if find(seq_copy(i,:)==seq_copy(i+1,k))>=c_find
                    seq_crossover(i,j)=seq_copy(i+1,k);
                    j=j+1;
                end
        end
        
        j=c_find;
        for k=1:job_total
                if find(seq_copy(i+1,:)==seq_copy(i,k))>=c_find
                    seq_crossover(i+1,j)=seq_copy(i,k);
                    j=j+1;
                end
        end
    end
    
end
seq_crossover=squeeze(seq_crossover);            

⌨️ 快捷键说明

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