目录
1.摘要
由于灰狼优化算法(Grey Wolf Optimizer, GWO)的新颖性,目前文献中尚无针对该算法的多目标版本设计的研究。本文首次提出了一种多目标灰狼优化算法(Multi-Objective Grey Wolf Optimizer, MOGWO),用于优化多目标问题。该方法在GWO中集成了一个固定大小的外部档案,用于存储和检索帕累托最优解。随后,这个档案被用来定义社会等级并模拟灰狼在多目标搜索空间中的狩猎行为。
2.多目标优化
多目标优化问题是指具有多个目标函数的优化问题:
M
i
n
i
m
i
z
e
:
F
(
x
⃗
)
=
f
1
(
x
⃗
)
,
f
2
(
x
⃗
)
,
.
.
.
,
f
o
(
x
⃗
)
,
S
u
b
j
e
c
t
t
o
:
g
i
(
x
⃗
)
≥
0
,
i
=
1
,
2
,
.
.
.
,
m
,
h
i
(
x
⃗
)
=
0
,
i
=
1
,
2
,
.
.
.
,
p
,
L
i
≤
x
i
≤
U
i
,
i
=
1
,
2
,
.
.
.
,
n
,
\mathrm{Minimize:~F}(\vec{x})=f_{1}(\vec{x}),f_{2}(\vec{x}),...,f_{o}(\vec{x}),\\\mathrm{Subject~to}:g_{i}(\vec{x})\geq0,i=1,2,...,m,\\h_{i}(\vec{x})=0, i=1,2, ...,p,\\L_{i}\leq x_{i}\leq U_{i}, i=1,2, ...,n,
Minimize: F(x)=f1(x),f2(x),...,fo(x),Subject to:gi(x)≥0,i=1,2,...,m,hi(x)=0,i=1,2,...,p,Li≤xi≤Ui,i=1,2,...,n,
在求解目标函数最大化的问题的时候, 解 X 优于解 Y 的条件是当且仅当 X ≻ Y X\succ Y X≻Y。当出现这种情形时, 我们便定义一个可行解在问题所给的目标函数中都表现出相等或者是更优的目标值, 同时该解在不止一个目标函数中显现出优于其他解, 这种情况下的可行解才是解的集合中最优。
学者们考虑在不失一般性的条件下, 对最大化问题的 Pareto 优势数学定义:
2.1 Pareto 支配
假设向量 x ⃗ = ( x 1 , x 2 , . . . , x k ) \vec{x}=(x_{1},x_{2},...,x_{k}) x=(x1,x2,...,xk)和 y → = ( y 1 , y 2 , . . . , y k ) {\overrightarrow{y}}=(y_{1},y_{2},...,y_{k}) y=(y1,y2,...,yk),称向量 x 支配向量 y( x ≻ y x\succ y x≻y)当且仅当:
∀ i ∈ { 1 , 2 , . . . , k } , [ f ( x i ) ≥ f ( y i ) ] ∩ [ ∃ i ∈ 1 , 2 , . . . , k : f ( x i ) ] \forall\mathrm{i}\in\{1,2,...,k\},[f(x_i)\geq f(y_i)]\cap[\exists i\in1,2,...,k:f(x_i)] ∀i∈{1,2,...,k},[f(xi)≥f(yi)]∩[∃i∈1,2,...,k:f(xi)]
2.2 Pareto最优
解
x
⃗
ϵ
X
\vec{x}\epsilon X
xϵX称为Pareto最优当且仅当:
∄
y
⃗
∈
X
∣
F
(
y
⃗
)
≻
F
(
x
⃗
)
\nexists\vec{y}\in X\mid F(\vec{y})\succ F(\vec{x})
∄y∈X∣F(y)≻F(x)
2.3 Pareto 最优集
Pareto 最优集是指包含问题所有非支配解的集合(Pareto最优解集合),数学表达式:
P
s
:
=
{
x
,
y
∈
X
∣
∃
F
(
y
)
>
F
(
x
)
}
P_{s}:=\{x,y\in X\mid\exists F(y)>F(x)\}
Ps:={x,y∈X∣∃F(y)>F(x)}
2.4 Pareto前沿
Pareto 前沿是指包含相应 Pareto 最优解的目标值的集合:
P
f
:
=
{
F
(
x
)
∣
x
∈
P
s
}
P_f:=\{F(x)|x\in P_s\}
Pf:={F(x)∣x∈Ps}
3.Multi-Objective Grey Wolf Optimizer (MOGWO)
3.1 单目标灰狼算法(GWO)
GWO模仿了灰狼群的捕食策略,以狼群追踪、包围、追捕和攻击猎物为目标,以实现最优搜索。α、β、δ、w分别为最优解,次优解,候选解。
灰狼在狩猎过程中包围猎物,包围行为表述为:
D
=
∣
C
X
P
(
t
)
−
X
(
t
)
∣
X
(
t
+
1
)
=
X
P
(
t
)
−
A
D
(1)
\begin{aligned}\mathbf{D}&=|\mathbf{C}\mathbf{X}_P(t)-\mathbf{X}(t)\mid\\{X}(t+1)&=\boldsymbol{X}_P(t)-\boldsymbol{A}\boldsymbol{D}\end{aligned}\tag{1}
DX(t+1)=∣CXP(t)−X(t)∣=XP(t)−AD(1)
其中,t为当前迭代次数;A 和C 均为系数向量;XP(t)为猎物的位置向量;X(t)为当前灰狼的位置向量;D 为当前灰狼与猎物的距离;X(t+1)为灰狼位置的更新。
系数向量A 和C :
A
=
2
a
r
1
−
a
C
=
2
r
2
(2)
\begin{aligned}A&=2a\boldsymbol{r}_1-a\\C&=2\boldsymbol{r}_2\end{aligned}\tag{2}
AC=2ar1−a=2r2(2)
a为影响A 变化的收敛因子:
a
=
2
(
1
−
t
t
max
)
(3)
a=2\bigg(1-\frac t{t_{\max}}\bigg)\tag{3}
a=2(1−tmaxt)(3)
在狩猎过程中,利用α狼、β狼和δ 狼的不同位置来预估猎物的位置:
{
D
α
=
∣
C
1
X
α
−
X
∣
D
β
=
∣
C
2
X
β
−
X
∣
D
δ
=
∣
C
3
X
δ
−
X
∣
(4)
\begin{cases}D_\alpha=|C_1X_\alpha-X|\\D_\beta=|C_2X_\beta-X|\\D_\delta=|C_3X_\delta-X|&\end{cases}\tag{4}
⎩
⎨
⎧Dα=∣C1Xα−X∣Dβ=∣C2Xβ−X∣Dδ=∣C3Xδ−X∣(4)
其中,Dα、Dβ 和Dδ 分别为当前灰狼趋向于α、β、δ狼之间的近似距离。
每只灰狼位置更新:
{
X
1
=
X
α
−
A
1
D
α
X
2
=
X
β
−
A
2
D
β
X
3
=
X
δ
−
A
3
D
δ
(5)
\begin{cases}\boldsymbol{X}_1=\boldsymbol{X}_\alpha-\boldsymbol{A}_1\boldsymbol{D}_\alpha\\\boldsymbol{X}_2=\boldsymbol{X}_\beta-\boldsymbol{A}_2\boldsymbol{D}_\beta\\\boldsymbol{X}_3=\boldsymbol{X}_\delta-\boldsymbol{A}_3\boldsymbol{D}_\delta\end{cases}\tag{5}
⎩
⎨
⎧X1=Xα−A1DαX2=Xβ−A2DβX3=Xδ−A3Dδ(5)
X
(
t
+
1
)
=
X
1
+
X
2
+
X
3
3
(6)
X(t+1)=\frac{X_1+X_2+X_3}3\tag{6}
X(t+1)=3X1+X2+X3(6)
其中,Xα、Xβ、Xδ 分别为α、β、δ狼的当前位置;X1、X2、X3 分别为ω狼向α、β、δ狼的前进步长和方向,X(t+1)为ω狼的最后位置。
3.2 多目标灰狼算法(MOGWO)
为了使用 GWO 执行多目标优化,MOGWO整合了两个组件:档案库和领导者选择策略。
档案库是一个存储目前获得的非支配 Pareto 最优解决方案的单元,其中最关键的部分就是存储控制器。存储控制器主要是当我们检索到新的解决方案或者存储单元已达到存储的最大限度的时候, 这个部分便开始控制存档。
可能会出现以下几种情况:
- 搜索过程中出现的解不优于存储单元中的解,直接舍去
- 搜索过程中出现的解优于存储单元中的解,存储单元中的解应该被删除, 搜索中出现的解代替原来的解放在存储单元中
- 搜索过程中出现的解与存储单元中的解不好比较的时候, 这时将新出现的解加入到存储单元中去
- 如果存储单元的存储空间已达上限, 这时我们会使用运行网络机制的办法对存储空间重新划分, 同时找到存储最满的空间删去其中的一个解决方案. 然后为了提高最后逼近 Pareto 最优前沿的解的多样性, 将新产生的解插入到最不拥挤的区间
领导者选择策略是选择搜索空间中最不拥挤的部分, 并提供一种非主导的解决方案, 如α、 β和δ狼。对于每个超立方体, 选择是通过轮盘赌方法完成的, 概率如下:
P
i
=
c
N
i
P_i=\frac{c}{N_i}
Pi=Nic
其中 c 是大于 1 的常数, Ni是在第 i 个存储单元中获得的 Pareto 最优解的数目。
当存储单元不太满时,新的领导者出现的概率较高。随着存储单元中解的数量减少,选择领导者的过程更倾向于选择存储解较少的单元。由于需要选出三个领导者(α、β和δ),可能会遇到一些特殊情况。例如,当存储解最少的单元中有三个最优解时,这三个解将随机分配给α、β和δ;如果少于三个最优解,则会从存储解数量第二少的单元中继续选择领导者。如果该单元中也不足,则从第三少的单元中选择。此策略防止MOGWO算法选择相似的领导者,促进搜索向未探索区域进行,减少重复搜索已探索区域的概率。领导者选择机制优先从存储解较少的单元中进行选择,当数量不足时,则从其他单元中选择领导者。
伪代码
4.结果展示
5.参考文献
[1] Mirjalili S, Saremi S, Mirjalili S M, et al. Multi-objective grey wolf optimizer: a novel algorithm for multi-criterion optimization[J]. Expert systems with applications, 2016, 47: 106-119.