基于分解的多目标优化进化算法
算法思想
MOEA/D利用分解思想
其将一个多目标优化问题转换为多个标量子问题,且每一个子问题由一个均匀分布的权重向量构成
对于每生成一个新解,则基于聚合函数对该子问题附近的解进行替换
在完成种群初始化后,该算法会为种群中的每个个体分配一个均匀分布的权重向量,而后计算权向量间的欧几里得距离,选择距离最近的 T 个权重向量作为该权重向量对应子问题的邻域
各子问题在其邻域内选取个体交叉产生新解
在新解产生之后,通过聚合函数来实现解的选择
即选择聚合函数值更优的解,并且每个子问题还会利用相邻子问题的信息进行优化
算法流程图
算法三个聚合函数
1.权重求和法
该方法通过公式
来将多目标优化问题聚合成单目标优化问题
权重求和法详解
首先,权重求和法将所有目标函数以一个相对重要程度组合起来,并把组合形成的函数作为自己将要优化的目标看待。
数学含义是:
例如在图中,
垂直于权重向量λ的线称为等高线。通过缩小等高线上的值,属于权重向量λ的等高线会向原点移动,这样就肯定会与凹的POF有切点(图中点A),那么A点即为权重向量λ对应子问题的最优解。通过设置不同的权重向量λ ,就可以达到多个切点(也就是最优解)
多个最优解共同组成帕累托前沿。
2.切比雪夫法
该方法是一种非线性聚合方法,其分解后的目标函数形式为:
在该公式中,Z*为参考点(代表算法理想值,经常取某个目标上的出现过的最小值作为该目标上的理想位置)
切比雪夫法详解
切比雪夫法就是找出λi|fi(x)-z*i|最大值(也就是看那个目标函数离理想点比较远),对其进行缩小,当最大值最小时,其余值也必然最小化。
直接举例说明: