混沌精英黏菌算法
摘要:为进一步提高标准黏菌算法的收敛速度和求解精度,采用 Tent 混沌映射丰富种群多样性,同时引入精英反向学习策略扩大搜索范围。
1.黏菌算法
基础黏菌算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/113710762
2.改进黏菌算法
2.1 混沌初始化
采用 Tent 混沌映射在 SMA 算法迭代初期进行种群初始化,使得个体位置均匀分布在搜索空间内, 有助于提高算法求解 效率。Tent 混池映射的数学表达式为
X
n
+
1
=
{
2
X
n
,
0
⩽
X
n
<
1
2
2
(
1
−
X
n
)
,
1
2
⩽
X
n
⩽
1
,
n
=
0
,
1
,
2
,
⋯
(10)
X_{n+1}=\left\{\begin{array}{ll} 2 X_n, & 0 \leqslant X_n<\frac{1}{2} \\ 2\left(1-X_n\right), & \frac{1}{2} \leqslant X_n \leqslant 1 \end{array}, n=0,1,2, \cdots\right. \tag{10}
Xn+1={2Xn,2(1−Xn),0⩽Xn<2121⩽Xn⩽1,n=0,1,2,⋯(10)
式(10)中:
n
n
n 表示映射次数;
X
n
X_n
Xn 表示第
n
n
n 次映射函 数值。
2.2 精英反向学习策略
反向学习策略(opposition-based learning, OBL) 是由 Tizhoosh
[
19
]
{ }^{[19]}
[19] 于 2005 年提出一种优化机制, 其主 要原理是针对当前可行解, 同时计算和评估其反向 解, 从中选取较优的解作为下一代个体
[
20
]
{ }^{[20]}
[20] 。精英反 向学习 (elite opposition-based learning, EOBL) 在前 者基础上利用精英个体比一般个体包括更加丰富 的有效信息和反向种群来增加种群多样性
[
21
]
{ }^{[21]}
[21], 扩大 搜索空间; 通讨引入 EOBL 策略能够有效增强算法 的全局搜索能力, 进一步提高算法的寻优性能。假 设当前黏窗种群中精英个体(即当前最优解)为
X
i
j
=
(
X
i
,
1
,
X
i
,
2
,
⋯
X
i
,
D
)
X_{i j}=\left(X_{i, 1}, X_{i, 2}, \cdots X_{i, D}\right)
Xij=(Xi,1,Xi,2,⋯Xi,D), 其中
D
D
D 为优化问题的空间 维度, 则其精英反向解
X
i
j
∗
=
(
X
i
,
1
∗
,
X
i
,
2
∗
,
⋯
,
X
i
,
D
∗
)
X_{i j}^*=\left(X_{i, 1}^*, X_{i, 2}^*, \cdots, X_{i, D}^*\right)
Xij∗=(Xi,1∗,Xi,2∗,⋯,Xi,D∗) 可 以定义为
X
i
,
j
∗
=
α
(
L
B
j
+
U
B
j
)
−
X
i
,
j
,
j
=
1
,
2
,
⋯
,
D
(11)
X_{i, j}^*=\alpha\left(\mathrm{LB}_j+\mathrm{UB}_j\right)-X_{i, j}, \quad j=1,2, \cdots, D \tag{11}
Xi,j∗=α(LBj+UBj)−Xi,j,j=1,2,⋯,D(11)
式 (11) 中:
X
i
,
j
X_{i, j}
Xi,j 为第
j
j
j 维个体的数值;
α
\alpha
α 为区间
[
0
,
1
]
[0,1]
[0,1] 内服从正态分布的随机数;
(
L
B
j
,
U
B
j
)
\left(\mathrm{LB}_j, \mathrm{UB}_j\right)
(LBj,UBj) 表示第
j
j
j 维搜 索空间的动态边界, 其定义为
L
B
j
=
min
(
X
i
,
j
)
(
12
)
\mathrm{LB}_j=\min \left(X_{i, j}\right) (12)
LBj=min(Xi,j)(12)
U
B
j
=
max
(
X
i
,
j
)
(
13
)
\mathrm{UB}_j=\max \left(X_{i, j}\right) (13)
UBj=max(Xi,j)(13)
式中:
min
(
X
i
,
j
)
、
max
(
X
i
,
j
)
\min \left(X_{i, j}\right) 、 \max \left(X_{i, j}\right)
min(Xi,j)、max(Xi,j) 分别为第
j
j
j 维个体的最小 值和最大值。
当生成的反向解超出
(
L
B
j
,
U
B
j
)
\left(\mathrm{LB}_j, \mathrm{UB}_j\right)
(LBj,UBj) 边界范眷时, 使用随机生成的方法进行越界重置, 具体描述为
X
i
,
j
∗
=
rand
(
L
B
j
,
U
B
j
)
(
14
)
X_{i, j}^*=\operatorname{rand}\left(\mathrm{LB}_j, \mathrm{UB}_j\right)(14)
Xi,j∗=rand(LBj,UBj)(14)
综合上述, 改进的混池精英秥菌算法 (chaotic elite slime mould algorithm, CESMA) 可以利用伪代 码表述其执行流程,如表 1 所示。
3.实验结果
4.参考文献
[1]肖亚宁,孙雪,李三平,姚金言.基于混沌精英黏菌算法的无刷直流电机转速控制[J].科学技术与工程,2021,21(28):12130-12138.