具有 Levy 变异和精英自适应竞争机制的蚁狮优化算法
文章目录
摘要:针对蚁狮优化算法易陷入局部最优、收敛速度慢的缺点,本文提出一种具有Levy变异和精英自适应竞争机制的蚁狮优化算法。利用服从Levy分布的随机数对种群较差个体进行变异,可改善种群多样性提高算法的全局搜索能力;精英自适应竞争机制使得多个精英并行带领种群寻优,提高了算法的收敛速度,为避免较大计算量,并行竞争的精英个数会随着寻优代数增加而减少。
1.蚁狮优化算法
基础蚁狮优化算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107726004
2. 改进蚁狮优化算法
2.1 Levy 变异机制
利用 Levy 飞行特点形成 Levy 变异机制来提 高种群的多样性, 保证了种群对附近区域详细捜索 的同时又具有一定的突变性。两种方式交替从而实 现对求解域的充分遍历, 有助于提高算法的全局捜 索能力
[
9
]
{ }^{[9]}
[9] 。Levy 昴行服从 Levy 分布, 其概率密度 函数如下:
P
α
,
γ
(
z
)
=
1
π
∫
0
∞
exp
(
−
γ
q
α
)
cos
(
q
z
)
d
q
P_{\alpha, \gamma}(z)=\frac{1}{\pi} \int_{0}^{\infty} \exp \left(-\gamma q^{\alpha}\right) \cos (q z) \mathrm{d} q
Pα,γ(z)=π1∫0∞exp(−γqα)cos(qz)dq
式中:
0
<
α
⩽
2
0<\alpha \leqslant 2
0<α⩽2 控制 Levy 分布图形的锐度,
γ
>
0
\gamma>0
γ>0 控 制分布的尺度。当
α
=
2
\alpha=2
α=2 时, Levy 分布等同于高斯分 布,
α
=
1
\alpha=1
α=1 时, Levy 分布等同于柯西分布。对于一般 的
α
\alpha
α 取值, 通过 Levy 分布的概率密度函数分析较为 困难, 所以通常采用模拟方法产生 Levy 分布的随 机数
[
10
−
12
]
{ }^{[10-12]}
[10−12] 。为了使 Levy 行轨迹充分遍历设定的 求解域, 对文献[13]的模拟公式做修改如式 (8):
{
δ
μ
=
{
Γ
(
1
+
β
)
sin
(
π
β
/
2
)
Γ
[
(
1
+
β
)
/
2
]
2
(
β
−
1
)
/
2
β
δ
v
=
1
{
μ
∼
N
(
0
,
δ
μ
2
)
v
∼
N
(
0
,
δ
v
2
)
\begin{aligned} \left\{\begin{aligned} \delta_{\mu}=&\left\{\frac{\Gamma(1+\beta) \sin (\pi \beta / 2)}{\Gamma[(1+\beta) / 2] 2^{(\beta-1) / 2} \beta}\right.\\ \delta_{v}=1 \end{aligned}\right.\\ \left\{\begin{array}{l} \mu \sim N\left(0, \delta_{\mu}^{2}\right) \\ v \sim N\left(0, \delta_{v}^{2}\right) \end{array}\right. \end{aligned}
⎩
⎨
⎧δμ=δv=1{Γ[(1+β)/2]2(β−1)/2βΓ(1+β)sin(πβ/2){μ∼N(0,δμ2)v∼N(0,δv2)
{
S
=
μ
∣
v
∣
1
/
β
λ
i
=
cumsum
(
S
i
)
\left\{\begin{array}{l} S=\frac{\mu}{|v|^{1 / \beta}} \\ \lambda_{i}=\text { cumsum }\left(S_{i}\right) \end{array}\right.
{S=∣v∣1/βμλi= cumsum (Si)
式中:
i
=
1
,
2
,
⋯
,
n
i=1,2, \cdots, n
i=1,2,⋯,n 为寻优的维度,
cumsum
(
S
i
)
\operatorname{cumsum}\left(S_{i}\right)
cumsum(Si) 为前
i
i
i 次 Levy 飞行位置的累积。
L
(
λ
i
)
=
{
l
b
,
λ
i
<
l
b
a
⋅
λ
i
,
l
b
<
λ
i
<
u
b
u
b
,
λ
i
>
u
b
L\left(\lambda_{i}\right)= \begin{cases}l_{b}, & \lambda_{i}<l_{b} \\ a \cdot \lambda_{i}, & l_{b}<\lambda_{i}<u_{b} \\ u_{b}, & \lambda_{i}>u_{b}\end{cases}
L(λi)=⎩
⎨
⎧lb,a⋅λi,ub,λi<lblb<λi<ubλi>ub
2.2 精英自适应竞争机制
单个精英所拥有的极值信息极其有限, 因此有 必要建立精英库存储历代较佳的个体 (变异后适应 值较佳的个体也会被存人精英库)。对 ALO 算法引 人精英竞争机制, 在每一代的寻优中, 多个精英之 间并行竞争, 而不是通过轮盘赌的方式选择。在多 个精英的同时带领下, 种群能够快速锁定相对较优 解的所在区域, 有助于加快算法收敛速度
[
14
−
15
]
{ }^{[14-15]}
[14−15]
为保证寻优前期的收敛速度, 应选取较多个精 英参与竞争; 而后期, 应减少精英个数避免较大的 计算量。因此并行竞争的精英个数应随着迭代次数 的增加而衰减。这种自适应选取方式在保证算法寻 优速度的同时避免了不必要的计算量。设置精英个 数范围为
[
n
min
,
n
max
]
\left[n_{\text {min }}, n_{\max }\right]
[nmin ,nmax], 则对于当代精英个数
n
(
t
)
n(t)
n(t) 和迭代 次数
t
t
t, 构造如下关系式:
{
n
(
t
)
=
round
(
n
min
1
+
(
n
min
n
max
−
1
)
h
(
t
)
)
h
(
t
)
=
1
−
(
t
T
)
2
\left\{\begin{array}{l} n(t)=\text { round }\left(\frac{n_{\min }}{1+\left(\frac{n_{\min }}{n_{\max }}-1\right) h(t)}\right) \\ h(t)=1-\left(\frac{t}{T}\right)^{2} \end{array}\right.
⎩
⎨
⎧n(t)= round (1+(nmaxnmin−1)h(t)nmin)h(t)=1−(Tt)2
式中: round()为取整函数,
T
T
T 为设置的最大迭代次 数。设置精英个数的范围为
[
1
,
5
]
[1,5]
[1,5] 时, 随迭代次数的增加, 建立容量为
n
n
n 的精英库, 每代寻优完成后对其更 新, 使得库内始终存放的是截止当前代为止最优的
n
n
n 个个体。根据式 (13) 确定精英个数, 蚂蚁种群按 照式 (1)、(2) 绕多个精英游走, 式 (3) 变为
c
i
t
=
Elite
j
t
+
c
t
,
d
i
t
=
Elite
j
t
+
d
t
i
=
1
,
2
,
⋯
,
n
×
N
;
j
=
1
,
2
,
⋯
,
n
\begin{gathered} c_{i}^{t}=\text { Elite }_{j}^{t}+c^{t}, d_{i}^{t}=\text { Elite }_{j}^{t}+d^{t} \\ i=1,2, \cdots, n \times N ; j=1,2, \cdots, n \end{gathered}
cit= Elite jt+ct,dit= Elite jt+dti=1,2,⋯,n×N;j=1,2,⋯,n
式中:
E
l
i
t
e
t
\mathrm{Elite}^{t}
Elitet '为来自精英库的精英,
N
N
N 为设定的种群 数目。式 (4) 不作变化, 式 (6) 中的
A
n
t
2
i
\mathrm{Ant}^{2}{ }_{i}
Ant2i 代表被
n
n
n 个 精英精英化后的蚂蚑种群, 即
i
=
1
,
2
,
⋯
,
n
×
N
i=1,2, \cdots, n \times N
i=1,2,⋯,n×N 。式 (5) 变为
∑
i
=
1
n
×
N
f
sort
(
Ant
i
t
)
⇒
∑
i
=
1
n
Antlion
i
t
+
1
\sum_{i=1}^{n \times N} f_{\text {sort }}\left(\operatorname{Ant}_{i}^{t}\right) \Rightarrow \sum_{i=1}^{n} \text { Antlion }_{i}^{t+1}
i=1∑n×Nfsort (Antit)⇒i=1∑n Antlion it+1
式中:
f
sort
f_{\text {sort }}
fsort 为排序函数,
⇒
\Rightarrow
⇒ 表示提取排序后的前
n
n
n 个较 优个体作为下一代蚁狮种群。
3.实验结果
4.参考文献
[1]景坤雷,赵小国,张新雨,刘丁.具有Levy变异和精英自适应竞争机制的蚁狮优化算法[J].智能系统学报,2018,13(02):236-242.