参考文献
A Strength Pareto Evolutionary Algorithm Based on Reference Direction for Multiobjective and Many-Objective Optimization
Shouyong Jiang and Shengxiang Yang, Senior Member, IEEE
1. diversity-first and convergence-second的动机
- 原文:In many-objective optimization,the convergence-first-and-diversity-second strategy can be of limited use because the proportion of nondominated solutions is very high and diversity preservation is very likely to be carried out only on nondominated solutions.
- 在众目标优化问题中,由于非支配解的比例在种群中非常高,收敛性优先,多样性次之的策略可能会受到限制。而且多样性的保持很可能不仅仅依赖非支配解。
- 如果分支配解分配不好,那么仅依靠非支配解进行多样性保持会使种群陷入失去多样性的风险并且保存下来的解距离非常远。结果是,再生因子很难产生好的后代,因为两个父代个体相距很远
- 事实上,一些被支配但是很有希望的解会对多样性造成贡献。适当的使用他们可以增加收敛压力在高位空间中。
基于以上,SPEA/R提出了一种多样性优先,收敛性次之的选择策略。
2. 算法框架
2.1 参考方向集的产生
a) 参考点的动机
- 对于高维空间来说,如果参考方向随意分配很可能会产生过多的参考方向,这样就不可避免的增加MOEAs的计算负担
- 为了避免以上的缺点,一种2层参考点策略被提出,即外面一层,里面一层。NSGA-III中使用了这样的产生参考方向的策略。尽管双层参考点的方法减少了计算负担,但还是产生了过多参考方向
- 为了解决以上缺点,SPEA/R中提出了k层参考方向
b) 提出的k层参考点
- 采用k层参考点
- 总共会产生
个参考点(方向)
2.2 后代产生和归一化
a) 产生后代的策略
- SPEA/R中采用了一种限制性的交叉策略却选择父代P1和P2。
- 具体来说,选出K个不同于P1的候选个体,然后从K个候选个体中选择与P1欧式距离最小的个体作为P2。让P1和P2执行交叉操作。
- 基于一些预先实验,本文推荐K取20
b) 归一化
- 产生结合种群Q后,找到每个维度的最大值和最小值,然后对所有个体进行归一化(和大多数MOEAs一样)
2.3 成员分配和适应度分配
a) 成员分配
-
成员分配是要在将结合种群Q映射到一个单位超体积空间之后再进行的,因为参考方向也在单位超体积空间内,归一化后的个体也都在单位超体积空间内,这样就可以将他们联系到一起,不会有单位不统一的问题。
-
个体和参考方向联系起来的方式:
-
计算每个个体和每个参考方向之间的锐角夹角大小
Angle = acos(1-pdist2(PopObj,W,'cosine'));
-
找到每个个体与之锐角夹角最小的参考方向 ψ
[Angle,Ei] = min(Angle',[],1);
-
-
为什么要将参考方向和个体之间联系起来?
- 用于接下来局部适应度的分配
- 在最理想的情况下,如果每一个参考方向内都有个体,那么在环境选择中,从每一个参考方向内选择逐一的选择个体,选择出来的个体会非常均匀。因为参考点是均匀的。这样就符合了本文坐着提出的多样性优先的选择策略了。
b) 适应度分配
- SPEA2的适应度分配
-
对于一个个体a
- S(a):a支配的个体的数量
- R(a):是一个累加和。是所有支配a的个体的S的累加和
- 其中,最外层非支配层的个体R为0. 因为没有个体支配它们了
-
全局适应度和局部适应度都是取R值
-
但是,如果某个参考方向内,只存在两个互不支配的个体,那么它们的局部R值都为0。需要选择一个跟靠近它们所属的参考方向的个体,如下图中a、b两个个体
-
这个时候需要计算个体和其所属的参考方向之间的锐角角度值,来衡量谁更贴近参考方向了。
-
其中,θa是个体和参考方向之间的夹角,θm是参考方向之间的取最小然后取最大的角度。
-
这样能始终将D(a)保持在(0,½]的范围内。不至于使D(a)>1,喧宾夺主,对R(a)造成影响。因为R(a)的单位大小是1,如果D(a)出现大于1的值很可能会让某一个有较小R、却有较大D的个体最终的适应度差(大)于某一个有着较大R、却有很小D的个体。这样会对收敛压力带来极大的损害
-
-
最终局部适应度为:
-
如此一来,在局部空间内(参考方向内),有着良好的分布性和收敛性的个体会获得一个更好的适应度值。
-
但是如果只有局部适应度也是不够的。如果在某一个参考方向内的一些个体,在全局空间中被其他参考方向内的个体所支配, 在环境选择中,会选择多个个体进入到下一代中,这样可能会导致其他参考方向内的非支配个体不能进入下一代种群,这样就大大损害了收敛性。其实,如果要保持良好的分布性,在被支配的个体中只选择一个局部适应度最好的个体就足够了。
-
因此,引入了全局适应度。全局适应度为R
-
-
综上,最终适应度为:
- 如果在某个参考方向内只有一个个体,那么它的最终适应度为局部适应度
- 文章中说,想让局部内仅有的一个个体有更好的适应度,让其能够有更大的可能被选中进入下一代。称为奖励机制。
- 但是这个奖励机制是否是多余的?因为,在环境选择中,是从每个参考方向内逐一选择个体的,那么如果某个参考方向内只有一个个体,它必定会被选入下一代,无论它的最终适应度仅仅等于局部适应度,还是局部+全局适应度。
- 换个角度想一下,这个奖励机制是多于的,那么直接取消掉是可以的。又或者是添加一种新的奖励机制来增加收敛压力or多样性保持?
- 否则,最终适应度为局部适应度+全局适应度
- 如果在某个参考方向内只有一个个体,那么它的最终适应度为局部适应度
2.4 环境选择
-
目的:从大小为2N的结合种群中选取N个最好的个体进入下一代种群。其中这N个最好的个体,能过平衡收敛性和多样性。
-
SPEA/R替换了SPEA2中的非常耗时的K临近距离的环境选择策略,采用了一种基于参考方向的更高效的环境选择策略
- 从每一个有个体的参考方向内逐一选择个体
- 如果选完一轮,本轮选中的个体数量+已经被选择进入下一代的个体数量<=N,则直接将其复制到下一代种群中
- 如果选完一轮,本轮选中的个体数量+已经被选择进入下一代的个体数量>N,则需要在这一轮中选择的个体中选取N-C§个适应度值最好的个体,以刚好填满N个个体。