注释:是学习之余整理的资料,如有不足的地方还请指教,十分感谢!
目录
1、MOEA/D算法的简介
1.1 MOEA/D产生的背景
多目标问题同时需要优化的目标不止一个,并且不同目标之间往往存在冲突,任何一个目标的优化都有可能恶化其他目标。几乎不可能同时把所有目标优化到最优,因此,需要一组Pareto最优解作为候选解。如何为决策者准确地找到真实的Pareto最优解就成为了多目标问题的求解目标。
20年来,出现了很多优秀的多目标进化算法,这些算法都致力于将种群尽可能地推向Pareto前沿。但是他们通常都不能沿Pareto前沿产生一组均匀分布的解,因为他们都不能合理地将计算资源分配到不同的前沿部位。
1.2MOEA/D的产生
为了克服这种缺点,张清富和李辉等人提出了基于分解的多目标优化算法(MOEA/D),这种方法将一个多目标优化问题分解为一组标量子问题,再为每个子问题分配若干个邻居,通过邻居间的合作对局部进行优化,从而使整体向前推进。在一些温和的条件下,这些子问题的最优解是对应所讨论的多目标问题的Pareto最优解。
2、MOEA/D算法的原理与流程
2.1 MOEA/D算法的基本原理
基于分解的多目标进化算法(MOEA/D)的核心思想将多目标优化问题被转化为一系列单目标优化子问题或者是多个多目标的子问题,然后利用子问题之间的邻域关系,采用协作的方式对这些子问题同时进行优化。从而向整个Pareto前沿逼近。通常子问题的定义由权重向量确定,子问题之间的邻域关系是通过计算权重向量之间的欧式距离来确定的。
Q. Zhang, H. Li, MOEA/D: A multiobjective evolutionary algorithm based on decomposition,IEEE Transactions on Evolutionary Computation,2007
2.2 MOEA/D算法的分解策略
针对多目标优化问题(MOP):
min y=f(x)=[f1(x), f2(x), …, fM(x)]
s.t.
这个算法的精髓在于将多目标问题分解,首先需要在目标空间均匀分布权重向量