KnEA(转载)
原文链接:https://blog.csdn.net/qq_32182397/article/details/105888274
这篇文章提出了 knee point-driven EA(KnEA)算法,算法主要思想是如果没有明确的用户偏好,knee point是非支配解中最受欢迎的。种群中非支配解knee point的bias是对更大HV的bias,这样能够提高收敛性。在非支配解前沿,最多将一个解作为其邻域内的knee point,因此不需要引入额外的多样性维护机制,从而降低了计算的复杂性。需要注意的是计算多样性方法中,比如NSGA2的拥挤距离计算是非常浪费时间的。
在多目标优化中,knee points是pareto optimal solution的子集,这些点的特点是如果一个目标有了改善会导致至少一个其他目标的严重退化。
KnEA算法用于寻找非支配解中的knee points,也就是说knnee points是选择中的第二个标准。这里提到的knee points并不是true pareto front上的点,而是当前种群中的点。
这篇文章的贡献:
- 提出了knee point-driven MOEA,在选择过程中knee point是非支配解中最受欢迎的。knee points可以看作是larger HV的bias,因此这些点可以同时保持多样性和加速收敛。过去在MOP中有很多工作致力于识别knee points但是将knee points作为搜索的第二个标准还是首次
- 采用了一个adaptive策略识别一个较小邻域内的knee points,比如local knee regions,不需要知道true pareto front的knee points数量。adaptive策略的目的不是精确找到true pareto front的knee points,而是定位种群中非支配前沿的local knee points,将其与父代和子代合并加速收敛和提高多样性。
- 多种算法对比
KnEA的步骤:
- 初始化:随机生成N个个体的种群
- 选择:采用binary tournament strategy生成N个offsprint,在binary tournament selection步骤有一些改变,使用了三个tournament metrics,即 dominance relationship, the knee point criterion, and a weighted distance measure
- 非支配排序:在parent和offspring的合并集合中执行nondominated sorting,随后执行adaptive strategy识别knee regions的solution
- 环境选择:选出N个个体作为下一代的父代知道满足结束条件
Binary Tournament Mating Selection:
KnEA采用了三种锦标赛选择策略: dominance relationship, the knee point criterion, and a weighted distance measure。
首先随机选择两个个体进行比较,如果a支配b,则选择a,否则选择b(dominance relationship);如果a,b不互相支配,若a是knee point,b不是knee point则选择a,反之选择b(the knee point criterion),如果a,b都是或都不是knee point,则计算他们的weighted distance,选择较大的哪个solution( a weighted distance measure),如果两个solution的weighted distance相等则随机选择一个。
weighted distance计算公式:对于一个个体p,k近邻的距离为
是p的第i个邻居,是的权重,是p和之间的欧氏距离,的的排序,1<=j<=k。
从的公式可以看出,如果p的邻居距离中心近的话,就会有一个较大的rank值
Adaptive Strategy for Identifying Knee Points:
Knee Points在mating和环境选择中应用,下图显示了找出Knee Points的方法,在2个目标的问题中,有9个solution,将最大f1和最大f2的solution连线,其余点在其邻域内到连线L上最远距离的solution就是Knee Points。这种Knee Points的方法将多样性隐式地考虑进去了。
L可以表示为y ax + by + c = 0,点 A(xA, yA)到L的距离可以表示为
对于最小化问题,只有凸集上的knee regions是兴趣点,因此上面的距离公式可以改为
上面的计算方式可以很容易扩展到大于2个目标的问题,L为超平面。从上图可以看出,邻域的大小对算法影响很大,如果所有点都是一个邻域内的,那只有E点是knee point,因此,这篇文章提出了一种调整邻域数量的策略。
在g代的合并的种群中有NF个nondominated fronts,每个nondominated fronts有Fi个nondominated solutions,1 ≤ i ≤ NF。每个solution的邻域有一个超立方体表示, M是目标个数。第j个目标的邻域大小表示为,等式右侧第一项和第二项分别表示在g代Fi中第j个目标的最大值和最小值,是邻域大小与g代Fi中第j个目标跨度的比率。
M是目标数,是在(g-1)代pareto front Fi中knee points 个数与非支配解个数的比值,0<T<1,T控制knee points在Fi中的数量的参数,上面的公式保证了当比T小得多的时候 会迅速下降,当变大时 会下降减慢,当=T时,保持不变。初始为0和1.
这种knee points的寻找方式与以前提出的方式很大不同,以前的方法是在true pareto front中找到,而这种方式在mating和环境选择中执行,在当前的pareto 非支配解中寻找,但是这些点能够保持种群的多样性并加快收敛。
Environmental Selection环境选择:
在环境选择前,KnEA采用efficient nondominated sorting (ENS)算法对非支配解排序,与NSGA2相似,KnEA选择Fi中非支配解也是knee points,如果数量大于N,则删除到超平面距离小的解,如果数量小于N,则在非支配解中(不是knee points)选择到超平面最大的解。下图显示了DTLZ2中不同代下的不同解是数量关系
可以看出随着世代数增加,knee points也不断增加
Empirical Computational Complexity Analysis
KnEA的几个操作过程中,1) mating selection; 2) genetic variations; 3) nondominated sorting; 4) knee-point identification; and 5) environmental selection
mating的runtime是,genetic variations采用simulated binary crossover (SBX)和polynomial mutation,runtime是O(DN) ,D的决策变量个数, nondominated sorting的runtime是,knee-point identification包括两步,找到超平面和计算到超平面的距离,需要runtime是O(MN),另一步是检查非支配解是否是knee points 需要,因此,knee-point identification 需要,environmental selection需要。由于最耗费时间的步骤是计算到超平面的距离,因此,KnEA需要总的runtime是,G是世代数generation。
Experimental Setting:
- Crossover and Mutation: The SBX and polynomial mutation
- Population Sizing:根据目标数目不同而不同,目标数为2,4,6,8,10
- Number of Runs and Stopping Condition:独立运行20次,对于DTLZ1 、 WFG2迭代次数为700,DTLZ3 、 WFG1为1000,DTLZ2, DTLZ4, DTLZ5, DTLZ6, DTLZ7, WFG 3 - WFG9为250
- Quality Metrics:HV和IGD
对比算法:HypE,MOEA/D,GrEA,NSGA3