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

📄 crossover.m

📁 改进的遗传算法的三个操作算子
💻 M
字号:
function [newpop,newquanzhi]=crossover(pop,pc,quanzhi)
%交叉
[px,py]=size(pop);
newpop=zeros(size(pop));
newquanzhi=zeros(size(quanzhi));
for i=1:2:px-1
    if (rand<pc)
       cpoint=round(rand*py);
       if cpoint<=0
          cpoint=1;
       end
       newpop(i,:)=[pop(i,1:cpoint) pop(i+1,cpoint+1:py)];
       newpop(i+1,:)=[pop(i+1,1:cpoint) pop(i,cpoint+1:py)];
       newquanzhi(i,:)=[quanzhi(i,1:cpoint) quanzhi(i+1,cpoint+1:py)];
       newquanzhi(i+1,:)=[quanzhi(i+1,1:cpoint) quanzhi(i,cpoint+1:py)];
    else
       newpop(i,:)=pop(i,:);
       newpop(i+1,:)=pop(i+1,:);
       newquanzhi(i,:)=quanzhi(i,:);
       newquanzhi(i+1,:)=quanzhi(i+1,:);       
    end
end

⌨️ 快捷键说明

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