⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crossover1.m

📁 采用遗传算法对于加工问题的排序,使其最快.
💻 M
字号:
function [crossover_a,crossover_b]=crossover1(pc,copy_a,copy_b,job_total,pop_size)
crossover_a=copy_a;
crossover_b=copy_b;
for i=1:2:pop_size
    if rand<=pc
        find1=ceil(rand*job_total*(ceil(log2(job_total))+1));
        find2=ceil(rand*job_total*(ceil(log2(job_total))+1));
        if find1==find2
            add=ceil(rand*job_total*(ceil(log2(job_total))+1)); 
            find2=find2+add; 
            if (find2>job_total*(ceil(log2(job_total))+1)) 
                find2=job_total*(ceil(log2(job_total))+1); 
            end 
        end 
        if find1>find2
            swap=find1; 
            find1=find2; 
            find2=swap; 
        end 
        crossover_a(i,find1:find2)=copy_a(i+1,find1:find2);
        crossover_b(i,find1:find2)=copy_b(i+1,find1:find2);
        crossover_a(i+1,find1:find2)=copy_a(i,find1:find2);
        crossover_b(i+1,find1:find2)=copy_b(i,find1:find2);
    end
end

⌨️ 快捷键说明

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