目录
1.摘要
本文提出了一种多目标版本的蚁狮优化算法(ALO),称为多目标蚁狮优化算法(MOALO)。MOALO首先使用一个存档来保存到目前为止获得的非支配Perato最优解。然后,基于解决方案的覆盖范围,使用轮盘赌机制从此存档中选择解决方案作为蚁狮,以指导蚂蚁朝向多目标搜索空间的潜力区域。
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 ant lion optimizer (MOALO)
3.1 单目标蚁狮优化算法(ALO)
3.2 多目标蚁狮优化算法(MOALO)
MOALO应用了领导者选择和存档维护策略,为了有效管理存档并提高解集的分布质量,文中提出了限制存档大小和通过分区方法来衡量解决方案分布的策略。在这个方法中,通过考量解决方案的邻近区域内的解数来评估其分布状况,优先选择邻近区域人口较少的解决方案作为领导者,存档中选择一个解决方案的概率:
P
i
=
c
N
i
P_i=\frac{c}{N_i}
Pi=Nic
其中,Ni 是第 i 个解决方案附近的解决方案数量。当存档已满时,将从存档中移除邻近区域人口最多的解决方案,以便为新的解决方案腾出空间。从存档中移除一个解决方案的概率:
P
i
=
N
i
c
P_i=\frac{N_i}{c}
Pi=cNi
基于MOALO多目标问题的性质:
A
n
t
l
i
o
n
j
t
=
A
n
t
i
t
i
f
f
(
A
n
t
i
t
)
≺
f
(
A
n
t
l
i
o
n
j
t
)
Antlion_j^t=Ant_i^t\quad if f\left(Ant_i^t\right)\prec f\left(Antlion_j^t\right)
Antlionjt=Antitiff(Antit)≺f(Antlionjt)
伪代码
4.结果展示
5.参考文献
[1] Mirjalili S, Jangir P, Saremi S. Multi-objective ant lion optimizer: a multi-objective optimization algorithm for solving engineering problems[J]. Applied Intelligence, 2017, 46: 79-95.