多目标进化算法系列
- 多目标进化算法(MOEA)概述
- 多目标优化-测试问题及其Pareto前沿
- 多目标进化算法详述-MOEA/D与NSGA2优劣比较
- 多目标进化算法-约束问题的处理方法
- 基于C#的多目标进化算法平台MOEAPlat实现
- MOEAD中聚合函数等高线分析
- MOEAD中一种使解更均匀分布的聚合函数介绍
基于分解的多目标进化算法需要聚合函数来比较个体优劣来指导种群进化方向,目前常用的三种聚合函数在该系列文章中的第一篇已有介绍,分别是
- Weighted Sum Approach
- Tchebycheff Approach
- penalty-based boundary intersection (PBI) approach
本文基于PBI方法改进提出一种新的新的方法用于种群进化过程中的个体比较,下面看看PBI方法的几何示意图,在第一篇文章中已给出该图,为了方便,本文再次给出,如下图
下面看看基于PBI方法对于一个较为复杂前沿的多目标优化问题,所得到的理想解的示意图(其中权重向量与Pareto前沿的交点即为理想解,如A、B、C、D点),
由上图可知,对于均匀分布的权重向量,并不能得到在Pareto前沿均匀分布的解,A点与B点的在前沿上的路径明显大于B点与C点的,因此,基于PBI的方法在处理该类带有复杂前沿的多目标优化问题时,效果不尽人意。
PBI方法使用一条从原点出发到参照点的直线来指导选择操作,但对于复杂前沿的多目标问题,这种方法不能得到比较均匀的解。为此,一种改进的PBI(MPBI)方法用来解决具有长尾和尖峰前沿的问题。
为了后续表述更加简洁,特别是一些名词的使用以及其所代表的含义,先来给出一些概念的定义。
理想点(Ideal point)
理想点表示的是每个维度最优值组成的一个向量
z
∗
=
(
z
1
∗
,
.
.
.
,
z
m
∗
)
z^*=(z_{1}^*,..., z_{m}^*)
z∗=(z1∗,...,zm∗), 其中
z
i
∗
=
m
i
n
f
i
(
x
)
z_i^* = min f_i(x)
zi∗=minfi(x),
i
∈
{
1
,
.
.
.
,
m
}
{i}\in \{1,...,m\}
i∈{1,...,m}。
标准目标向量(Standard objective vector)
为了使ideal point为坐标原点, 向量
F
s
t
a
n
d
a
r
d
=
F
(
x
)
−
z
∗
F^{standard} = F(x) - z^*
Fstandard=F(x)−z∗ 被视为 standard objective vector, 其中
f
i
s
t
a
n
d
a
r
d
(
x
)
=
f
i
(
x
)
−
z
i
∗
f_{i}^{standard}(x) = f_{i}(x)-z_{i}^*
fistandard(x)=fi(x)−zi∗ and
i
∈
{
1
,
.
.
.
,
m
}
{i}\in \{1,...,m\}
i∈{1,...,m}。
截距(Intercept)
超平面表达式为
∑
i
=
1
m
f
i
=
1
\sum_{i=1}^mf_i=1
∑i=1mfi=1,其中
m
m
m为目标维度, 很显然,该超平面与坐标轴会有交点,该交点到坐标原点的距离称之为截距(Intercept), 由于该超平面的法向量为
(
1
,
.
.
.
,
1
)
T
(1,...,1)^T
(1,...,1)T,因此,对于每一个坐标轴其Intercept是相等的。
投影点(Projective point)
将目标向量
F
(
x
)
F(x)
F(x)投影到超平面的点称之为投影点,且记为
F
p
(
x
)
F^p(x)
Fp(x),其中
F
p
(
x
)
F^p(x)
Fp(x)的第
i
i
i个分量记为
f
i
p
(
x
)
f_i^p(x)
fip(x)。
补足位移(Supplemental displacement)
在目标空间中,
d
=
(
d
1
,
.
.
.
,
d
m
)
d=(d_{1},...,d_{m})
d=(d1,...,dm)称之为补足位移,其中
d
i
=
m
i
n
f
i
p
(
x
)
d_{i}={min}f_i^p(x)
di=minfip(x),
i
∈
{
1
,
.
.
.
,
m
}
{i}\in \{1,...,m\}
i∈{1,...,m}。
切点(Tangent point)
在当前种群个体中,必定存在一个解
x
∗
x^*
x∗使得其对应的Standard Objective Vector
F
s
t
a
n
d
a
r
d
(
x
∗
)
F^{standard}(x^*)
Fstandard(x∗)使超平面的截距最小,就将其对应的目标向量记为
F
T
a
n
g
e
n
t
(
x
∗
)
F^{Tangent}(x^*)
FTangent(x∗)。
首先来看该聚合函数示意图,如下,
PBI方法是当前基于分解的多目标进化算法中一种常用的聚合函数,该方法对于常规前沿的多目标问题能得到较好的效果,但对于复杂前沿的多目标问题,效果较差,对于陡峭区域及平缓区域的解都丢失了,而在某些区域解却很稠密。这种改进的PBI方法(MPBI)恰好能解决该问题。
其数学表达式如下:
g
M
P
B
I
(
x
∣
P
,
z
∗
)
=
d
1
+
θ
d
2
g^{MPBI}(x|P,z^*)=d_1 + \theta d_2
gMPBI(x∣P,z∗)=d1+θd2
其中,
d
1
=
∣
∣
F
(
x
)
−
P
−
z
∗
∣
∣
∣
∣
w
∣
∣
d_1=\frac{||F(x)- P -z^*||}{||w||}
d1=∣∣w∣∣∣∣F(x)−P−z∗∣∣
d
2
=
∣
∣
F
(
x
)
−
P
−
(
z
∗
+
d
1
w
∣
∣
w
∣
∣
)
∣
∣
d_2=||F(x)- P - (z^* + d_1 \frac{w}{||w||})||
d2=∣∣F(x)−P−(z∗+d1∣∣w∣∣w)∣∣
其中,
w
=
(
1
,
.
.
.
,
1
)
T
w = (1,...,1)^T
w=(1,...,1)T是一个
m
m
m维的恒定不变的超平面的法向量,
P
P
P是参照点。上图介绍了该方法的几何意义。
在上图中,
P
1
P_1
P1是参照点的边界点,而过
P
1
P_1
P1的法向量穿过
Q
1
Q_1
Q1,因此,
Q
1
Q_1
Q1就成了POF的边界点,而这显然不符合实际需求,很大一部分的POF被忽略了,为了解决这个问题,超平面和种群中的个体都必须移动,使得所有个体在超平面上的投影都在第一象限内。下面来详细介绍这些方法。
移动和投影操作
上图展示了移动和投影操作。考虑到超平面沿着方向向量
w
=
(
1
,
.
.
.
,
1
)
T
w=(1,...,1)^T
w=(1,...,1)T移动,则超平面在每个坐标轴上的截距是相等的。对于当前种群中的个体,为了获得更小的截距,如上图(b)所示,这个超平面穿过点
Q
1
Q_1
Q1,此时截距计算如下:
D
i
n
t
e
r
c
e
p
t
=
min
x
∈
F
1
∑
i
=
1
m
f
i
s
t
a
n
d
a
r
d
(
x
)
(1)
D_{intercept} = \mathop {\min}\limits_{x\in F_1}\sum_{i = 1}^mf_i^{standard}(x) \tag{1}
Dintercept=x∈F1mini=1∑mfistandard(x)(1)
其中, D i n t e r c e p t D_{intercept} Dintercept表示最小截距, F 1 F_1 F1表示当前种群中的非支配个体。
如图(b)所示,
Q
2
Q_2
Q2在超平面上的投影点
P
1
P_1
P1仍在第二象限,显然有些边界解也会被丢弃。因此,接下来求补足位移。对于每一个个体
x
∈
F
1
x\in F_1
x∈F1,
F
p
(
x
)
=
(
f
i
p
(
x
)
,
.
.
.
,
f
m
p
(
x
)
)
F^p(x) = (f_i^p(x),...,f_m^p(x))
Fp(x)=(fip(x),...,fmp(x))是其在超平面的投影点,其中
F
p
(
x
)
F^p(x)
Fp(x)中的每一个分量
f
i
p
(
x
)
f_i^p(x)
fip(x)可如下计算:
f
i
p
(
x
)
=
f
i
s
t
a
n
d
a
r
d
(
x
)
−
∑
i
=
1
m
f
i
s
t
a
n
d
a
r
d
(
x
)
−
D
i
n
t
e
r
c
e
p
t
m
(2)
f_i^p(x) = f_i^{standard}(x) - \frac{\sum_{i=1}^m f_i^{standard}(x) - D_{intercept}}{m} \tag{2}
fip(x)=fistandard(x)−m∑i=1mfistandard(x)−Dintercept(2)
这样,补足位移
d
=
(
d
1
,
.
.
.
,
d
m
)
d=(d_{1},...,d_{m})
d=(d1,...,dm)中的每一个分量是对应投影点的最小值,其表达如下:
d
i
=
min
x
∈
F
1
f
i
p
(
x
)
,
i
∈
{
1
,
2
,
.
.
.
,
m
}
(3)
d_i = \mathop {\min}\limits_{x\in F_1} f_i^p(x), i \in \{1,2,...,m\} \tag{3}
di=x∈F1minfip(x),i∈{1,2,...,m}(3)
如此便可将超平面和所有的目标向量同时移动使得所有的目标向量投影到超平面上的投影点都在第一象限。这些转换后的目标向量记为Transformed standard objective value
F
~
(
x
)
\tilde{F}(x)
F~(x),且其每一个分量计算公式如下:
f
~
i
(
x
)
=
f
i
s
t
a
n
d
a
r
d
(
x
)
−
d
i
,
i
∈
{
1
,
2
,
.
.
.
,
m
}
(4)
\tilde{f}_i(x) = f_i^{standard}(x) - d_i, i \in \{1,2,...,m\} \tag{4}
f~i(x)=fistandard(x)−di,i∈{1,2,...,m}(4)
由于超平面也有移动,因此其截距也会有变化,其更新公式如下:
D
i
n
t
e
r
c
e
p
t
=
D
i
n
t
e
r
c
e
p
t
−
∑
i
=
1
m
d
i
(5)
D_{intercept} = D_{intercept} - \sum_{i = 1}^m d_i \tag{5}
Dintercept=Dintercept−i=1∑mdi(5)
这样如图(c)所示,
Q
2
Q_2
Q2在超平面上的投影点
P
1
P_1
P1就不会落在第二象限,并且所有的解在超平面的投影都落在第一象限。
通过移动和投影操作,超平面和种群中解的目标向量的位置将会从图(a)移动到图(c)所示的位置。这样一来,所有的投影点都在第一象限。
为了更进一步描述算法以及后面需要用到的一些结论,以下介绍几个推论,并给出证明。
推论1:转换后的标准目标向量在超平面之上。
证明:假设
x
∗
x^*
x∗是一个可行解且
F
(
x
∗
)
F(x^*)
F(x∗)是切点。移动超平面使其穿过
F
(
x
∗
)
F(x^*)
F(x∗),此时的截距记为
D
i
n
t
e
r
c
e
p
t
D_{intercept}
Dintercept。根据式
(1),对于任意一个解
x
x
x,
∑
i
=
1
m
f
i
s
t
a
n
d
a
r
d
(
x
)
≥
D
i
n
t
e
r
c
e
p
t
\sum_{i=1}^m f_i^{standard}(x) \geq D_{intercept}
∑i=1mfistandard(x)≥Dintercept。经过转换后,对于每一个解
x
x
x,转换后的标准目标向量
∑
i
=
1
m
f
~
i
(
x
)
≥
D
~
i
n
t
e
r
c
e
p
t
\sum_{i=1}^m\tilde{f}_i(x) \geq \tilde{D}_{intercept}
∑i=1mf~i(x)≥D~intercept。因此得证。
推论2:如果
F
(
x
∗
)
F(x^*)
F(x∗)是POF的边界点,那么经转换后的标准目标向量投影到超坪面的投影点就在超平面的边界上。
证明:如果
F
(
x
∗
)
F(x^*)
F(x∗)是POF的边界点,那么根据式(3),
∃
i
∈
{
1
,
2
,
.
.
.
,
m
}
\exists i \in \{1,2,...,m\}
∃i∈{1,2,...,m}, s.t.
f
i
p
(
x
∗
)
=
d
i
f_i^p(x^*) = d_i
fip(x∗)=di,并且根据式(2,4,5),
f
~
i
p
(
x
∗
)
=
0
\tilde{f}_i^p(x^*) = 0
f~ip(x∗)=0,因此得证。
推论3:转换后的截距
D
i
n
t
e
r
c
e
p
t
D_{intercept}
Dintercept是使所有的目标向量在超平面的投影点都在第一象限的最小值。
证明:如果存在一个截距小于
D
i
n
t
e
r
c
e
p
t
D_{intercept}
Dintercept使得投影点都在第一象限,则根据推论(2),对于一个边界点
F
(
x
∗
)
F(x^*)
F(x∗),
∃
i
∈
{
1
,
2
,
.
.
.
,
m
}
\exists i \in \{1,2,...,m\}
∃i∈{1,2,...,m}, s.t.
f
~
i
p
(
x
∗
)
<
0
\tilde{f}_i^p(x^*) < 0
f~ip(x∗)<0,因此不存在这样的小于
D
i
n
t
e
r
c
e
p
t
D_{intercept}
Dintercept的截距。因此得证。
推论4:计算截距和补足位移时只需用到种群中的非支配解。
证明:
∀
x
1
∈
R
t
\
F
1
\forall x_1 \in R_t \backslash F_1
∀x1∈Rt\F1,必定有
∃
x
∗
∈
F
1
\exists x^* \in F_1
∃x∗∈F1 满足
x
∗
x^*
x∗ 支配
x
1
x_1
x1,根据式(1)有
∑
i
=
1
m
f
i
s
t
a
n
d
a
r
d
(
x
∗
)
<
∑
i
=
1
m
f
i
s
t
a
n
d
a
r
d
(
x
1
)
\sum_{i = 1}^mf_i^{standard}(x^*) < \sum_{i = 1}^mf_i^{standard}(x_1)
∑i=1mfistandard(x∗)<∑i=1mfistandard(x1),并且根据式(2)有
f
i
p
(
x
∗
)
<
f
i
p
(
x
1
)
f_i^p(x^*)<f_i^p(x_1)
fip(x∗)<fip(x1) for
i
=
1
,
2
,
.
.
.
m
i=1,2,...m
i=1,2,...m。因此,对于任意一个非支配解
x
1
x_1
x1,总存在一个解
x
∗
x^*
x∗支配
x
1
x_1
x1,并且其对应的补足位移和截距更小。因此得证。
下面看下效果,以二维多目标优化问题F1为例,该问题的前沿面比较复杂,结果如下:
很显然,MPBI的效果远远优于PBI聚合函数,PBI得到的解都聚集在前沿面的中间部分,而MPBI得到的解均匀分布在整个前沿面上。
下面以三维多目标优化问题mF4为例,结果如下图:
其中,
θ
\theta
θ-DEA使用的聚合函数为PBI,显然,MPBI的效果也明显优于PBI。
当然,为了更好的体现出MPBI的作用,对于三维及更高维的多目标优化问题以及不连续的问题,其需要配合一种参照点动态调整的技术,在此不再介绍,有兴趣的朋友可以去看下论文A modified PBI approach for multi-objective optimization with complex Pareto fronts。
QQ交流群:399652146
参考文献:
[1] A modified PBI approach for multi-objective optimization with complex Pareto fronts
[2] 基于分解思想的多目标进化算法研究. 湖南大学, 2018