cro.m

来自「遗传算法实现50维函数优化」· M 代码 · 共 18 行

M
18
字号
%“交叉”操作:线性重组
function scro=cro(s,seln,pc);

inn=size(s,1);
bn=size(s,2);

pcc=pro(pc);  %根据交叉概率决定是否进行交叉操作,1则是,0则否
if pcc==1
   a1=rand*1.5-0.25;
   a2=rand*1.5-0.25;

   scro(1,:)=s(seln(1),:)+ (s(seln(2),:)-s(seln(1),:))*a1;
   scro(2,:)=s(seln(1),:)+ (s(seln(2),:)-s(seln(1),:))*a2;

else
   scro(1,:)=s(seln(1),:);
   scro(2,:)=s(seln(2),:);
end  

⌨️ 快捷键说明

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