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

📄 plus.m

📁 多目标遗传算法/用法不用多说、要用的赶快下载吧
💻 M
字号:
function res = plus(g1,g2)% PLUS - overloaded operator %   if g1~=g2  error('genes do not match');endif isa(g1,'cdv')  mask=make_mask(g1.bits);  for k=1:g1.bits    if mask(k)==0;      new_dna(k)=g1.dna(k);    else      new_dna(k)=g2.dna(k);    end  end% $$$   d1=g1.dna% $$$   d2=g2.dna% $$$   new_dna=new_dna  res=g1;  res.dna=new_dna;  res.value=convert(res);elseif isa(g1,'ddv')  mask=make_mask(g1.bits);  for k=1:g1.bits    if mask(k)==0;      new_dna(k)=g1.dna(k);    else      new_dna(k)=g2.dna(k);    end  end  if in_range(new_dna,get(g1,'p_val'))    res=g1;    res.dna=new_dna;    res.value=convert(res);  else    disp('rec')    res=g1+g2;  end% $$$   d1=g1.dna% $$$   d2=g2.dna% $$$   new_dna=new_dnaendfunction mask = make_mask(b)% MAKE_MASK - mask=rand(1,b);for k=1:b  if mask(k)<0.5    mask(k)=0;  else    mask(k)=1;  endendfunction bool = in_range(dna,val)% IN_RANGE - %   x=0;for k=1:length(dna)  x=x+2^(k-1)*dna(k);endx=x+1;bool=x<=length(val);

⌨️ 快捷键说明

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