NSGAII算法和MOEAD算法是多目标优化领域的两大经典算法。相较于NSGAII算法,MOEAD算法更难理解,主要难点在不能很好理解三种分解方法(尤其是后两种)。本文旨在通过对等高线的分析来帮助理解三种分解策略。为便于理解,本文的目标函数数量均为2。
加权和法(Weighted Sum)的数学表达式为:
$$
\begin{align*}
min \;\; g^{ws}(x | \lambda) = \sum_{i=1}^{m} \lambda_{i} f_{i}(x)
\tag{1}
\end{align*}
$$
向量形式为:
$$
\begin{align*}
min \;\; g^{ws} = \lambda^{T} f
\tag{2}
\end{align*}
$$
显然\( \lambda^{T} f \)是向量\( \overrightarrow{\lambda} \)和\( \overrightarrow{f} \)的内积。若令\( \theta \)为向量\( \overrightarrow{\lambda} \)和\( \overrightarrow{f} \)的夹角,则内积还可以表示为:
$$
\begin{align*}
{\left| \overrightarrow{\lambda} \right|} \cdot {\left| \overrightarrow{f} \right|} {\cos \theta}
\tag{3}
\end{align*}
$$
其中\( \left| \overrightarrow{f} \right| \cos \theta \)是向量\( \overrightarrow{f} \)在向量\( \overrightarrow{\lambda} \)方向上的投影,示意图如图1所示。
图1
由于\( \left| \overrightarrow{\lambda} \right| \)是定值,所以\( g^{ws} \)的大小仅取决于\( \left| \overrightarrow{f} \right| \cos \theta \)。如图2所示,直线\( l \)上的点在向量\( \overrightarrow{\lambda} \)方向的投影均为\( \left| \overrightarrow{f} \right| \cos \theta \),因此直线\( l \)是一条等高线,其上所有的点与\( \overrightarrow{\lambda} \)的\( g^{ws} \)值相同。
图2
通过上述例子可以得出,WS法的等高线垂直于向量\( \overrightarrow{\lambda} \),且等高线离原点越近,其上面的点的\( g^{ws} \)值越小。
如图3所示,如果现在有两个点\( f(x_{1}) \)和\( f(x_{2}) \),分别位于等高线\( l_{1} \)和\( l_{2} \)上。那么由于\( l_{1} \)比\( l_{2} \)更接近原点,所以满足\( g^{ws}(x_{1}|\lambda) < g^{ws}(x_{2}|\lambda) \),因此可以认为个体\( x_{1} \)优于个体\( x_{2} \)。
图3
综上分析,可以认为,WS分解法的进化方向为平行于向量\( \overrightarrow{\lambda} \)指向原点,如图4所示。
图4
往期内容:
外罚函数法:外罚函数法(一):外罚函数的构造
多目标粒子群算法:智能优化算法:多目标粒子群优化算法(MOPSO)
创作不易,点个赞再走