非支配关系Matlab描述

非支配关系Matlab描述

觉得有用的话,欢迎一起讨论相互学习~Follow Me

规则

  • 如果个体A在所有目标上都小于等于个体B且在有至少一个目标上小于个体B则称个体A支配B。
  • 如果不存在个体A支配个体B的情况并且A在至少一个目标上比B小并且B在至少一个目标上比A小,则称A和B是非支配关系
% 遍历所有M个目标值
for obj_index=1:Global.M
    if NewPop.obj(obj_index)<=Population(i).obj(obj_index)
      % 如果目标值小于等于则计数值加1
       offspringless_or_equal= offspringless_or_equal+1;
       if NewPop.obj(obj_index)<Population(i).obj(obj_index)
         % 如果目标值完全小于则计数值加1
          offspringless=offspringless+1;
       end
    else parentless=parentless+1;
    end                 
end
% 如果新解可以支配旧解
if((offspringless_or_equal==Global.M)&&(offspringless>0))
    Population(i)=NewPop;
%如果两者非支配
elseif((offspringless>0)&&(parentless>0))

猜你喜欢

转载自www.cnblogs.com/cloud-ken/p/10994475.html