一、概述
基于分解的多目标优化算法(multiobjective evolutionary algorithm based on decomposition)简称MOEA/D。其核心思想是将一个多目标优化问题分解为多个标量优化子问题,并对其同时进行优化。且每个子问题仅使用相邻的两个子问题的信息进行优化。同时其还可以结合目标归一化技术,用于处理缩放的目标。
由于每个子问题使用的信息更少,所以其计算复杂度要远低于NSGA-Ⅱ。
对于MOEA/D算法而言,最重要的是构建聚合函数和邻域结构。聚合函数可以将多目标的权重分布结合起来,并在此基础上定义个体的适应度;邻域结构可以在高效运行的同时保持多样性,邻域之间的信息交互通过局部搜索机制进行。
二、分解策略
多目标优化问题(MOP)的目标函数可以表述为:
2.1加权求和法
设置一组权重向量,且
,
,可将目标函数写作:
,其中
为待优化变量,
是目标函数的系数向量,可以通过不同的权重向量
来产生一组不同的帕累托最优解。其分解方式如下图所示:
2.2切比雪夫法
切比雪夫法的公式可表述为:
,其中
为参考点,对于
均有
。
对于每个帕累托最优解而言,总存在一个权重向量
可以将上式映射为原MOP的帕累托最优解。其分解过程可以描述为:
2.3基于惩罚的边界交叉法
边界交叉法的目标是找到最上边界和一组线的交点,通过数学表述为:
,其约束为
可以保证
总是具有方向线
且其上必定通过
,目标是尽可能推高
。式中
为权重向量,
为参考点。
在实现过程中,采用惩罚的方法实现等式约束,可以表述为:
,其中
,
,另
为预设的惩罚参数。其过程如下图所示:
三、算法流程
在MOEA/D中,每一代种群由各子问题的最优解构成,只有相邻的子问题可以用来优化彼此。流程如下图:
基于切比雪夫法,对于种群大小为的群体EP而言,MOEA/D的流程可具体描述为:
①初始化:
1)计算任意两个权重向量之间的欧氏距离;对每个权重向量都选取离它欧氏距离最近的个权重向量,将这个权重向量的集合记作:
;
2)生成初始种群,令
;
3)通过目标函数搜索到当前最优解集合
②更新:
for i in range(0,N):
1)从中随机选取两个标号为
的个体,使用遗传算子从个体
生成新的解
;
2)基于测试问题改进生成新的
;
3)若,则更新
,
;
4)更新相邻解:若,其中
,若
,
;
5)从EP移除所有被支配的向量,更新EP
③终止条件判定
若满足终止条件,则输出EP,否则重复②