分解是传统多目标优化算法中的基础策略,但是分解策略还未能广泛的应用于多目标进化优化算法中。该篇文章提出了一个基于分解的多目标进化算法MOEA/D:将一个多目标优化问题分解成许多单目标优化子问题,然后同时对这些子问题进行优化。由于对每一个子问题进行优化时仅使用该子问题邻近的几个子问题的相关信息,因此MOEA/D算法有较低的计算复杂度。实验结果显示了使用标准化目标函数的MOEA/D算法能够处理不同缩放程度的目标。此外,使用高级分解方法的MOEA/D算法对三目标测试问题进行优化时可以生成一系列均匀分布的解。小种群的MOEA/D算法性能以及MOEA/D算法的可拓展性和灵敏性也在文章中以实验的方式进行了展示。
现实生活中的多目标优化问题需要决策者从众多Pareto最优解中选取最终适用的解。但是大部分的多目标问题存在许多甚至无限量的Pareto最优解,获取完整的解集十分消耗时间,甚至可能也无法获取完整的解集。另一方面,决策者也不愿意从大量的Pareto最优解中进行选择。因此,学者们致力于研究能够寻找可控数量的Pareto解且解在PF上均匀分布的多目标优化算法。
众所周知,多目标优化问题的Pareto最优解在某条件下可以转化成一个聚合所有目标函数的单目标优化问题的最优解。因此,求解PF的近似解就可以分解成一些单目标优化子问题。
TPLS(two-phase local search):TPLS针对一个单目标优化问题集。其中,目标函数是待优化的多目标优化问题的目标函数的聚合。使用单目标优化算法解决同一序列中基于聚合系数的单目标优化问题。前一问题获得的解可以作为解决下一个问题的起始解(由于两个问题的聚合目标函数仅存在细微的不同之处(稍有不同slightly different))。
MOGLS(multiobjective genetic local search):同时优化由加权和方法或者切比雪夫方法构建的所有聚合函数。每一次迭代,都优化一个随机生成的聚合函数。
将多目标优化问题明确分解成N个单目标优化子问题。核心算法:
该方法通过一个非负权重向量将MOP转换为单目标子向量。设 λ = ( λ 1 , λ 2 , . . . λ m ) T \lambda = (\lambda_1,\lambda_2,...\lambda_m)^T λ=(λ1,λ2,...λm)T是权重向量且满足 ∑ i = 1 m λ i = 1 \sum_{i=1}^{m}\lambda_i=1 ∑i=1mλi=1(每个目标函数都有自己的权重),那么下面这个单目标优化问题的最优解(唯一)就是一个Pareto最优解。
m i n m i z e g w s ( x ∣ λ ) = ∑ i = 1 m λ i f i ( x ) ( 1 ) s . t . x ∈ Ω minmize\quad g^{ws}(x|\lambda)=\sum_{i=1}^{m}\lambda_if_i(x)\quad (1)\\s.t.\quad x\in \Omega minmizegws(x∣λ)=i=1∑mλifi(x)(1)s.t.x∈Ω
对式(1), ∑ i = 1 m λ i f i ( x ) \sum_{i=1}^{m}\lambda_if_i(x) ∑i=1mλifi(x)(即权重向量和目标函数值向量相乘)可以看做点 f i ( x ) f_i(x) fi(x)(目标函数向量即为一个Pareto最优解)在 λ \lambda λ方向上的投影。从各个最优解向 λ \lambda λ方向作垂线,从原点到垂点的距离即是投影值。上图中,A即为最短投影点。
通过设置不同的权重向量 λ \lambda λ,就可以得到所有的最短投影点,共同组成Pareto最优解集。然而,使用这种方法难以寻找非凸解(非凸解向参照向量的垂线不能与PF相切)。实际应用时可以采用 ε − c o n s t r a i n t \varepsilon-constraint ε−constraint的方法解决这种问题。
切比雪夫法中单目标优化函数的表达形式为
m i n i m i z e g t e ( x ∣ λ , z ∗ ) = m a x 1 ≤ i ≤ m { λ i ( f i ( x ) − z i ∗ ) } ( 2 ) s . t . x ∈ Ω minimize\quad g^{te}(x|\lambda,z^*)= \underset{1\le i\le m}{max}\left\{\lambda_i(f_i(x)-z_i^*)\right\}\quad (2)\\s.t.\quad x\in \Omega minimizegte(x∣λ,z∗)=1≤i≤mmax{λi(fi(x)−zi∗)}(2)s.t.x∈Ω
其中, z ∗ = ( z 1 ∗ , . . . , z m ∗ ) T z^*=(z_1^*,...,z_m^*)^T z∗=(z1∗,...,zm∗)T是参考点, z i ∗ = m i n { f i ( x ) ∣ x ∈ Ω } z_i^*=min\left\{f_i(x)|x\in \Omega\right\} zi∗=min{fi(x)∣x∈Ω},即 z ∗ z^* z∗是由所有目标函数最小值组成的参考向量。原文中给出的是 m a x max max,但是由于后续仿真实验中作者采用的均是 m i n i m i z a t i o n M O P minimization\text{ }MOP minimization MOP ,所以此处应为 m i n min min,也就是论文中的该处注释:
从式(2)物理意义角度理解: λ i ( f i ( x ) − z i ∗ ) \lambda_i(f_i(x)-z_i^*) λi(fi(x)−zi∗)值越大,就说明在这个目标函数上离理想点(最小值点)越远。假设 λ a ( f a ( x ) − z a ∗ ) \lambda_a(f_a(x)-z_a^*) λa(fa(x)−za∗)是所有 λ i ( f i ( x ) − z i ∗ ) \lambda_i(f_i(x)-z_i^*) λi(fi(x)−zi∗)中的最大值,逐渐改变 x x x使得该值减小(靠近理想点)直到到达PF上的对应点,即完成了最小化 g t e ( x ∣ λ , z ∗ ) g^{te}(x|\lambda,z^*) gte(x∣λ,z∗)的任务。(最大值已经最小化了,那么其他 λ i ( f i ( x ) − z i ∗ ) \lambda_i(f_i(x)-z_i^*) λi(fi(x)−zi∗)也会最小化)
从图像角度理解:令 f i ′ ( x ) = f i ( x ) − z i ∗ f_i^\prime (x)=f_i(x)-z_i^* fi′(x)=fi(x)−zi∗,并将坐标系进行平移变换。在该坐标系中,公式变为 m i n g t e ( x ∣ λ , z ∗ ) = m a x 1 ≤ i ≤ m { λ i f i ′ ( x ) } min\quad g^{te}(x|\lambda,z^*)= \underset{1\le i\le m}{max}\left\{\lambda_if_i^\prime (x)\right\} mingte(x∣λ,z∗)=1≤i≤mmax{λifi′(x)}。给定一个权重向量 λ ⃗ \vec{\lambda} λ。对于 λ ⃗ \vec{\lambda} λ上方的个体满足 λ 1 f 1 ′ ( x ) > λ 2 f 2 ′ ( x ) \lambda_1f_1^\prime (x)>\lambda_2f_2^\prime (x) λ1f1′(x)>λ2f2′(x),因此 λ ⃗ \vec{\lambda} λ上方的优化任务就变为了 min ( λ 1 f 1 ′ ( x ) ) \min(\lambda_1f_1^\prime (x)) min(λ1f1′(x))。同理,对于 λ ⃗ \vec{\lambda} λ下方的个体满足 λ 1 f 1 ′ ( x ) < λ 2 f 2 ′ ( x ) \lambda_1f_1^\prime (x)<\lambda_2f_2^\prime (x) λ1f1′(x)<λ2f2′(x), λ ⃗ \vec{\lambda} λ下方的优化任务就变为了 min ( λ 2 f 2 ′ ( x ) ) \min(\lambda_2f_2^\prime (x)) min(λ2f2′(x))。
易判断, f 1 ′ ( x ) f_1^\prime (x) f1′(x)的等高线垂直于纵轴平行于横轴, f 2 ′ ( x ) f_2^\prime (x) f2′(x)的等高线垂直于横轴平行于纵轴,因此每一个解的等高线就由两条垂线构成。收敛过程如下:对于 λ ⃗ \vec{\lambda} λ上方的个体,若存在新解的 f 1 ′ ( x ) f_1^\prime (x) f1′(x)小于当前等高线值,那么等高线向下移动;对于 λ ⃗ \vec{\lambda} λ下方的个体,若存在新解的 f 2 ′ ( x ) f_2^\prime (x) f2′(x)小于当前等高线值,那么等高线向左移动(两部分收敛时都是两条等高线同时移动)。由此,直到搜索到Pareto前沿。同理,通过设置不同的权重向量 λ \lambda λ,就可以得到所有的收敛点,共同组成Pareto最优解集。
小缺点:该种方法的聚合函数对于连续MOP问题来说不够平滑。但是仍适用于文中的算法框架。(文中算法不需要对聚合函数求导)
边界交叉方法适用于连续MOP问题。通常情况下,最大化连续MOP问题的PF前沿会是目标函数集的右上部分(最小化MOP的PF前沿是左下部分)。从几何学角度上理解,BI Approach是为了寻找边界处与一组线的交点。如果这组线在某种意义上均匀分布,那么所得到的交点就可以很好的代表PF 的近似前沿。这种方法可以用于求解非凸集。论文中采用由参考点发散出的一组线求解交点。单目标优化函数形式可以表示为
m i n g b i ( x ∣ λ , z ∗ ) = d ( 3 ) s . t . z ∗ − F ( x ) = d λ , x ∈ Ω min\quad g^{bi}(x|\lambda,z^*)=d\quad (3)\\s.t.\quad z^*-F(x)=d\lambda,\\x\in \Omega mingbi(x∣λ,z∗)=d(3)s.t.z∗−F(x)=dλ,x∈Ω
其中, λ \lambda λ和 z ∗ z^* z∗与上文中的定义相同, F ( x ) F(x) F(x)目标空间的一个解。如下图所示, z ∗ − F ( x ) = d λ z^*-F(x)=d\lambda z∗−F(x)=dλ是为了确保 F ( x ) F(x) F(x)与 z ∗ z^* z∗共线于直线L(直线L朝 λ \lambda λ方向且经过参考点)。该问题的求解目标就是尽可能地使 F ( x ) F(x) F(x)高( d d d尽可能小)直到到达PF。
但上述问题不易满足等式约束条件。论文中引入惩罚方法处理约束条件,作者称这种方法为PBI approach。单目标约束问题就变为了
m i n g b i p ( x ∣ λ , z ∗ ) = d 1 + θ d 2 ( 4 ) s . t . x ∈ Ω min\quad g^{bip}(x|\lambda,z^*)=d_1+\theta d_2\quad (4)\\s.t.\quad x\in \Omega mingbip(x∣λ,z∗)=d1+θd2(4)s.t.x∈Ω
其中, θ > 0 \theta>0 θ>0是惩罚参数。
上式中, d 1 = ∥ ( z ∗ − F ( x ) ) T λ ∥ ∥ λ ∥ d 2 = ∥ F ( x ) − ( z ∗ − d 1 λ ) ∥ d_1=\frac{\left \| (z^*-F(x))^T\lambda\right\|}{\left\|\lambda\right\|}\\d_2=\left\|F(x)-(z^*-d_1\lambda)\right\| d1=∥λ∥∥∥(z∗−F(x))Tλ∥∥d2=∥F(x)−(z∗−d1λ)∥
从式(4)物理意义来理解,算法通过引入惩罚参数以此放宽了对所求解的要求。也就是说,所求解可以不在权重向量方向上,但若不在权重向量方向上就必须要接收惩罚。所求解距离权重向量越远,受的惩罚越厉害,以此来约束算法向权重向量的方向生成解。
从几何角度理解 d 1 d_1 d1和 d 2 d_2 d2两个公式:
λ , z ∗ \lambda,z^* λ,z∗的定义与前文相同。求解PF近似解的MOP问题可以分解成N个单目标优化子问题,这也就意味着需要N个不同的权重向量。MOEA/D算法在一次运行过程中同时优化N个目标函数。对于第 j j j个子问题,其数学表达式为
m i n g t e ( x ∣ λ j , z ∗ ) = m a x 1 ≤ i ≤ m { λ i j ( f i ( x ) − z i ∗ ) } ( 6 ) min\quad g^{te}(x|\lambda^j,z^*)= \underset{1\le i\le m}{max}\left\{\lambda_i^j(f_i(x)-z_i^*)\right\}\quad (6) mingte(x∣λj,z∗)=1≤i≤mmax{λij(fi(x)−zi∗)}(6)
由于 g t e g^{te} gte是 λ \lambda λ的连续函数,所以如果 λ i \lambda_i λi与 λ j \lambda_j λj很接近的话, g t e ( x ∣ λ i , z ∗ ) g^{te}(x|\lambda^i,z^*) gte(x∣λi,z∗)与 g t e ( x ∣ λ j , z ∗ ) g^{te}(x|\lambda^j,z^*) gte(x∣λj,z∗)就会很接近。因此,拥有和 λ i \lambda_i λi很接近的权重向量的 g t e g^{te} gte对于优化 g t e ( x ∣ λ i , z ∗ ) g^{te}(x|\lambda^i,z^*) gte(x∣λi,z∗)就会很有帮助。这是MOEA/D算法很重要的机制之一。
在MOEA/D算法中,权重向量 λ i \lambda_i λi的邻居定义为 { λ 1 , . . . , λ N } \left\{\lambda^1,...,\lambda^N\right\} {λ1,...,λN}中的一组最接近的权重向量。同理,第 i i i个子问题的邻居就由 λ i \lambda_i λi的邻居所确定的子问题组成。种群由迄今为止每个子问题找到的最优解组成,仅利用当前子问题的邻近子问题的解来优化当前子问题。
在第 t t t次迭代,使用切比雪夫的MOEA/D算法包括:
输入:MOP;停止条件(迭代次数); N N N(子问题个数);均匀分布的 N N N个权重向量 λ 1 , . . . , λ N \lambda^1,...,\lambda^N λ1,...,λN;每个权重向量的邻居个数 T T T。
输出:EP。
对 i = 1 , . . . , N i=1,...,N i=1,...,N
满足停止条件后,停止迭代。否则,重新进入迭代循环步骤。
[1]Qingfu Zhang, Hui Li.MOEA/D: A Multiobjective Evolutionary Algorithm Based on Decomposition[J].IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION,2007(6):712-731
[2]链接:【多目标优化】3. 基于分解的多目标进化算法 —(MOEA/D)
[3]链接:多目标优化_学习笔记(三)MOEA/D
[4]链接:多目标优化–MOEAD算法笔记
[5]链接:多目标优化问题中常见分解方法的理解