初学多目标进化算法,就看到,MOEA(多目标进化算法)分为三类:基于支配的(如NSGAII,PAES,SPEA-2),基于分解的(MOEA/D),和基于超体积(HypE)的。后来发现,基本上只用NSGA-II就够了,就没细学HypE,今天重新学习。
上述的MOEA三分类是基于环境选择算子分类的,因为各种子代生成算子对于单目标和多目标问题是通用的。多目标进化算法=子代生成算子(各种交叉变异)+多目标选择算子。
对于实数编码问题,最优秀的子代生成算子是SBX(模拟二进制交叉)+多项式变异。对于二进制编码,一般用单点交叉/两点交叉+随机翻转即可。
HypE在论文HypE: An Algorithm for Fast Hypervolume-BasedMany-Objective Optimization中提出,详见下文。
上述的MOEA三分类是基于环境选择算子分类的,因为各种子代生成算子对于单目标和多目标问题是通用的。多目标进化算法=子代生成算子(各种交叉变异)+多目标选择算子。
对于实数编码问题,最优秀的子代生成算子是SBX(模拟二进制交叉)+多项式变异。对于二进制编码,一般用单点交叉/两点交叉+随机翻转即可。
HypE在论文HypE: An Algorithm for Fast Hypervolume-BasedMany-Objective Optimization中提出,详见下文。