多目标进化算法系列
- 多目标进化算法(MOEA)概述
- 多目标优化-测试问题及其Pareto前沿
- 多目标进化算法详述-MOEA/D与NSGA2优劣比较
- 多目标进化算法-约束问题的处理方法
- 基于C#的多目标进化算法平台MOEAPlat实现
- MOEAD中聚合函数等高线分析
- MOEAD中一种使解更均匀分布的聚合函数介绍
基于分解的多目标进化算法主要依靠聚合函数来比较所进化的解的优劣来促进种群的进化,而常用的聚合函数主要包括:
- Weighted Sum Approach
- Tchebycheff Approach
- penalty-based boundary intersection (PBI) approach
这三个聚合函数的数学表达式及等高线示例图在这篇文章(多目标进化算法(MOEA)概述)已有介绍,在此便不再赘述,此文主要讲前两种聚合函数的等高线(此文以二维多目标优化问题为例介绍)。
首先来看第一种,Weighted Sum Approach的等高线。所谓等高线,即对于给定的权重向量
(
λ
1
,
λ
2
)
(\lambda_1, \lambda_2)
(λ1,λ2),等高线上的任意不同的两点
(
f
1
1
,
f
2
1
)
(f_1^1, f_2^1)
(f11,f21),
(
f
1
2
,
f
2
2
)
(f_1^2, f_2^2)
(f12,f22)都满足
λ
1
f
1
1
+
λ
2
f
2
1
=
λ
1
f
1
2
+
λ
2
f
2
2
\lambda_1f_1^1+\lambda_2f_2^1=\lambda_1f_1^2+\lambda_2f_2^2
λ1f11+λ2f21=λ1f12+λ2f22,则可推出
λ
1
λ
2
=
f
2
1
−
f
2
2
f
1
2
−
f
1
1
\frac{\lambda_1}{\lambda_2}=\frac{f_2^1-f_2^2}{f_1^2-f_1^1}
λ2λ1=f12−f11f21−f22,由于是对于任意两点都满足,显然该两点必在同一直线上,且该直线与权重向量正交,也即如下图所示,等高线垂直于权重向量。
下面来看Tchebycheff Approach的等高线。来看下其表达式 m i n g t e ( x ∣ λ ) = m a x { λ i f i ) } min\; g^{te}(x|\lambda)=max\; \{\lambda_if_i)\} mingte(x∣λ)=max{λifi)},显然,对于等高线上任意不同的两点 ( f 1 1 , f 2 1 ) (f_1^1, f_2^1) (f11,f21), ( f 1 2 , f 2 2 ) (f_1^2, f_2^2) (f12,f22),必有以下四种情况:
- λ 1 f 1 1 = λ 2 f 2 2 \lambda_1f_1^1=\lambda_2f_2^2 λ1f11=λ2f22 且 λ 1 f 1 1 > λ 2 f 2 1 \lambda_1f_1^1>\lambda_2f_2^1 λ1f11>λ2f21, λ 1 f 1 2 < λ 2 f 2 2 \lambda_1f_1^2<\lambda_2f_2^2 λ1f12<λ2f22,
- λ 1 f 1 2 = λ 2 f 2 1 \lambda_1f_1^2=\lambda_2f_2^1 λ1f12=λ2f21 且 λ 1 f 1 1 < λ 2 f 2 1 \lambda_1f_1^1<\lambda_2f_2^1 λ1f11<λ2f21, λ 1 f 1 2 > λ 2 f 2 2 \lambda_1f_1^2>\lambda_2f_2^2 λ1f12>λ2f22,
- f 2 1 = f 2 2 f_2^1=f_2^2 f21=f22 且 λ 1 f 1 1 < λ 2 f 2 1 \lambda_1f_1^1<\lambda_2f_2^1 λ1f11<λ2f21, λ 1 f 1 2 < λ 2 f 2 2 \lambda_1f_1^2<\lambda_2f_2^2 λ1f12<λ2f22,
- f 1 1 = f 1 2 f_1^1=f_1^2 f11=f12 且 λ 1 f 1 1 > λ 2 f 2 1 \lambda_1f_1^1>\lambda_2f_2^1 λ1f11>λ2f21, λ 1 f 1 2 > λ 2 f 2 2 \lambda_1f_1^2>\lambda_2f_2^2 λ1f12>λ2f22,
由后面两个表达式可知,只要满足条件,
f
1
=
f
1
1
f_1=f_1^1
f1=f11与
f
2
=
f
2
1
f_2=f_2^1
f2=f21都可以是等高线,对于不在同一直线的两点,其也是可以在同一等高线上的,由前两个条件有
f
1
1
1
λ
1
=
f
2
2
1
λ
2
\frac{f_1^1}{\frac{1}{\lambda_1}}=\frac{f_2^2}{\frac{1}{\lambda_2}}
λ11f11=λ21f22或者
f
1
2
1
λ
1
=
f
2
1
1
λ
2
\frac{f_1^2}{\frac{1}{\lambda_1}}=\frac{f_2^1}{\frac{1}{\lambda_2}}
λ11f12=λ21f21,显然,只要两点满足
(
f
1
1
,
f
2
2
)
(f_1^1,f_2^2)
(f11,f22)经过方向向量为
(
1
λ
1
,
1
λ
2
)
(\frac{1}{\lambda_1}, \frac{1}{\lambda_2})
(λ11,λ21)的直线即可。如下图所示。
如上,便是两种聚合函数的等高线的分析。
QQ交流群:399652146