文章目录
一、理论基础
1、基本黑猩猩优化算法
黑猩猩优化算法(Chimp optimization algorithm, ChOA)是根据黑猩猩种群的捕猎行为提出的一种群智能优化算法,一般来说,黑猩猩的狩猎过程分为两个主要阶段:探索阶段,即驱动、阻挡和追逐猎物;开发阶段,即攻击猎物。黑猩猩捕猎行为的仿生学原理描述如下:
为了用数学模型模拟黑猩猩的行为,假设第一个攻击者(最佳解决方案)、驱赶者、阻碍者和追赶者能发现潜在猎物的位置,其他黑猩猩被迫根据最佳黑猩猩的位置更新自己的位置。黑猩猩驱赶和追逐猎物的数学模型描述如式(1)和(2)所示:
d
(
t
)
=
∣
c
X
P
(
t
)
−
m
X
C
(
t
)
∣
(1)
d(t)=|cX_P(t)-mX_C(t)|\tag{1}
d(t)=∣cXP(t)−mXC(t)∣(1)
X
C
(
t
+
1
)
=
X
P
(
t
)
−
a
⋅
d
(2)
X_C(t+1)=X_P(t)-a\cdot d\tag{2}
XC(t+1)=XP(t)−a⋅d(2)其中,
d
(
t
)
d(t)
d(t)为猎物与黑猩猩之间的距离,
t
t
t为当前迭代次数,
a
a
a、
c
c
c为系数向量,
m
m
m是由混沌映射产生的混沌向量,
X
P
X_P
XP为猎物的位置向量,
X
C
X_C
XC为黑猩猩的位置向量。
a
a
a和
c
c
c向量由式(3)和(4)分别表示:
a
=
2
⋅
f
⋅
r
1
−
f
(3)
a=2\cdot f\cdot r_1-f\tag{3}
a=2⋅f⋅r1−f(3)
c
=
2
⋅
r
2
(4)
c=2\cdot r_2\tag{4}
c=2⋅r2(4)其中,
f
f
f为线性衰减因子,随着迭代次数的增加
f
f
f值由2.5线性衰减到0,
r
1
r_1
r1和
r
2
r_2
r2是取值为
[
0
,
1
]
[0, 1]
[0,1]的随机数。
参数
a
a
a为
[
−
2
f
,
2
f
]
[−2f, 2f]
[−2f,2f]之间的随机变量,假设
a
a
a的值为
[
−
1
,
1
]
[−1, 1]
[−1,1]时猎物停止移动,此时黑猩猩必须攻击猎物结束捕猎,因此采取降低f值的方式迫使黑猩猩结束捕猎,黑猩猩的下一个位置可以在当前位置与猎物位置之间的任意位置。
黑猩猩攻击猎物数学模型描述如式(5)-(7)所示:
{
d
A
=
∣
c
1
X
A
−
m
1
X
∣
d
B
=
∣
c
2
X
B
−
m
2
X
∣
d
C
=
∣
c
3
X
C
−
m
3
X
∣
d
D
=
∣
c
4
X
D
−
m
4
X
∣
(5)
\begin{dcases}d_A=|c_1X_A-m_1X|\\d_B=|c_2X_B-m_2X|\\d_C=|c_3X_C-m_3X|\\d_D=|c_4X_D-m_4X|\end{dcases}\tag{5}
⎩⎪⎪⎪⎨⎪⎪⎪⎧dA=∣c1XA−m1X∣dB=∣c2XB−m2X∣dC=∣c3XC−m3X∣dD=∣c4XD−m4X∣(5)
{
X
1
=
X
A
−
a
1
⋅
d
A
X
2
=
X
B
−
a
2
⋅
d
B
X
3
=
X
C
−
a
3
⋅
d
C
X
4
=
X
D
−
a
4
⋅
d
D
(6)
\begin{dcases}X_1=X_A-a_1\cdot d_A\\X_2=X_B-a_2\cdot d_B\\X_3=X_C-a_3\cdot d_C\\X_4=X_D-a_4\cdot d_D\end{dcases}\tag{6}
⎩⎪⎪⎪⎨⎪⎪⎪⎧X1=XA−a1⋅dAX2=XB−a2⋅dBX3=XC−a3⋅dCX4=XD−a4⋅dD(6)
X
(
t
+
1
)
=
(
X
1
+
X
2
+
X
3
+
X
4
)
/
4
(7)
X(t+1)=(X_1+X_2+X_3+X_4)/4\tag{7}
X(t+1)=(X1+X2+X3+X4)/4(7)由式(5)-(7)可知,黑猩猩个体最终的位置是随机分布在一个由攻击者、阻碍者、追逐者和驱赶者黑猩猩的位置所确定的圆圈中。换句话说,猎物的位置是由四个最好的个体来估计的,而其他黑猩猩则随机更新它们在附近的位置。
种群在捕猎的最后阶段个体获得食物满足,随后的社会动机会使黑猩猩释放它们的天性,此时,黑猩猩个体试图强行混乱地获得食物。黑猩猩在最后阶段的混乱行为有助于进一步缓解解决高维问题时的局部最优陷阱和收敛速度慢这两个问题。原始黑猩猩算法使用了六种具有随机行为的确定性混沌过程映射,为了模拟这种社会行为,假设有50%的概率在正常的更新位置机制或混沌模型中选择其一更新黑猩猩的位置,社会性刺激行为数学模型如式(8)所示:
X
C
(
t
+
1
)
=
{
X
P
(
t
)
−
a
⋅
d
,
if
μ
<
0.5
C
h
a
o
t
i
c
,
if
μ
≥
0.5
(8)
X_C(t+1)=\begin{dcases}X_P(t)-a\cdot d,\quad \text{if}\,\,\mu<0.5\\Chaotic,\quad\quad\quad\, \text{if}\,\,\mu≥0.5\end{dcases}\tag{8}
XC(t+1)={XP(t)−a⋅d,ifμ<0.5Chaotic,ifμ≥0.5(8)其中,
μ
\mu
μ是取值
[
0
,
1
]
[0, 1]
[0,1]的随机数,
C
h
a
o
t
i
c
Chaotic
Chaotic是混沌映射,用来更新解的位置。
2、改进的黑猩猩优化算法
2.1 Halton序列初始化种群
原始黑猩猩优化算法采用rand函数随机初始化种群,所得到的种群随机性高,但是不一定均匀地分布在整个解空间,导致种群搜索速度慢,算法多样性不足。针对上述问题,本文引入Halton序列产生伪随机数来初始化种群,伪随机数的遍历性使个体更加均匀地分布在整个解空间,提高初始化时算法的多样性,个体能快速发现优质解的位置,从而加快算法收敛,提高算法收敛精度。
对于二维的Halton序列,其实现过程为:选取两个质数作为基础量,通过对两个基础量不断切分,从而组合成一系列均匀分布且不重复的点,其切分过程数学模型描述如式(9)-(11)所示:
n
=
∑
i
=
0
m
b
i
⋅
p
i
=
b
m
⋅
p
m
+
⋯
+
b
1
⋅
p
1
+
b
0
(9)
n=\sum_{i=0}^mb_i\cdot p^i=b_m\cdot p^m+\cdots+b_1\cdot p^1+b_0\tag{9}
n=i=0∑mbi⋅pi=bm⋅pm+⋯+b1⋅p1+b0(9)
θ
(
n
)
=
b
0
p
−
1
+
b
1
p
−
2
+
⋯
+
b
m
p
−
m
−
1
(10)
\theta(n)=b_0p^{-1}+b_1p^{-2}+\cdots+b_mp^{-m-1}\tag{10}
θ(n)=b0p−1+b1p−2+⋯+bmp−m−1(10)
H
(
n
)
=
[
θ
1
(
n
)
,
θ
2
(
n
)
]
(11)
H(n)=[\theta_1(n),\theta_2(n)]\tag{11}
H(n)=[θ1(n),θ2(n)](11)其中,
n
∈
[
1
,
N
]
n\in[1,N]
n∈[1,N]为任意整数,
p
p
p是大于等于2的质数,
b
i
∈
{
0
,
1
,
2
,
⋯
,
p
−
1
}
b_i\in\{0,1,2,\cdots,p-1\}
bi∈{0,1,2,⋯,p−1}为常数,
p
p
p表示Halton序列基础量,
θ
(
n
)
\theta(n)
θ(n)是定义的序列函数,
H
(
n
)
H(n)
H(n)为最后得到的二维均匀Halton序列。
如图1为基本黑猩猩算法产生的随机种群初始化个体分布图,图2为使用Halton序列产生的初始种群分布图,其中Halton序列基础量为
b
a
s
e
1
=
2
base1=2
base1=2和
b
a
s
e
2
=
3
base2=3
base2=3。
2.2 非线性收敛因子和自适应权重
2.2.1 非线性收敛因子
基本ChOA算法的收敛因子
f
f
f由2.5线性下降到0,这种线性变化并不能适应算法对于复杂多峰函数的寻优,导致算法寻优速度缓慢,甚至陷入局部最优值。因此,本文引入一种非线性变化的收敛因子,在算法迭代前期种群大范围搜索时缓慢衰减的收敛因子能让种群更好地搜索全局最优解;算法迭代后期种群收敛,此时快速衰减的收敛因子有利于算法局部寻找最优解。同时,加入控制因子
k
k
k,能控制衰减的幅度,非线性收敛因子的数学模型描述如式(12)所示:
f
=
f
m
⋅
[
1
−
(
e
t
/
M
a
x
_
i
t
e
r
−
1
e
−
1
)
k
]
(12)
f=f_m\cdot\left[1-\left(\frac{e^{t/Max\_iter}-1}{e-1}\right)^k\right]\tag{12}
f=fm⋅[1−(e−1et/Max_iter−1)k](12)其中,
t
t
t为当前迭代次数,
M
a
x
_
i
t
e
r
Max\_iter
Max_iter为最大迭代次数,
f
m
f_m
fm为收敛因子的初始值,
k
∈
[
1
,
10
]
k∈[1, 10]
k∈[1,10]为控制因子,
k
k
k能控制
f
f
f衰减幅度,
k
k
k越大时收敛因子衰减越慢,反之越快。线性收敛因子f和控制因子
k
k
k取
k
=
1
k = 1
k=1、
k
=
5
k = 5
k=5和
k
=
10
k = 10
k=10的非线性收敛因子对比如图3所示:
2.2.2 自适应权重因子
权重因子在目标函数优化中起着很重要的作用,合适的权重能够加快算法收敛,提高算法收敛精度。针对ChOA算法寻优过程中收敛速度慢、精度不高的问题,引入一种自适应调整的权重因子
ω
\omega
ω:在算法迭代初期,给予一个较大的权重使种群以大步长遍历整个搜索空间,有利于算法快速搜寻全局最优位置,加快算法收敛;在算法迭代中后期,算法逐渐收敛,个体局部搜寻最优解,此时给予一个较小的权重有利于算法以小步长精细探索最优位置,提高算法收敛精度;最后,在算法迭代末期,针对ChOA算法易陷入局部最优的问题,给予个体位置一个相对较大的扰动,有利于算法跳出局部最优解。自适应权重因子
ω
\omega
ω数学模型如式(13)所示:
ω
=
{
δ
1
⋅
(
cos
(
t
⋅
π
/
δ
2
)
+
δ
3
)
,
t
≤
ε
ρ
1
⋅
sin
(
ρ
2
⋅
t
⋅
π
)
+
ρ
3
,
t
>
ε
(13)
\omega=\begin{dcases}\delta_1\cdot (\cos(t\cdot\pi/\delta_2)+\delta_3),\quad t≤\varepsilon\\\rho_1\cdot\sin(\rho_2\cdot t\cdot\pi)+\rho_3,\quad t>\varepsilon\end{dcases}\tag{13}
ω={δ1⋅(cos(t⋅π/δ2)+δ3),t≤ερ1⋅sin(ρ2⋅t⋅π)+ρ3,t>ε(13)其中,
δ
1
\delta_1
δ1、
δ
2
\delta_2
δ2、
δ
3
\delta_3
δ3、
ρ
1
\rho_1
ρ1、
ρ
2
\rho_2
ρ2、
ρ
3
\rho_3
ρ3为常数系数,
t
t
t为当前迭代次数,
t
=
(
1
,
2
,
⋅
⋅
⋅
,
M
a
x
_
i
t
e
r
)
t = (1, 2, ···, Max\_iter)
t=(1,2,⋅⋅⋅,Max_iter),
ε
\varepsilon
ε为指定迭代次数。
ω
\omega
ω随迭代次数变化图如图4所示:
2.3 黄金正弦策略更新位置
黄金正弦算法(Golden sine algorithm, Golden-SA)是Tanyildizi等人于2017年根据正弦函数相关思想提出的新型智能算法,该算法具有寻优速度快、调参简单、鲁棒性好等优点。Golden-SA算法使用正弦函数与单位圆的特殊关系结合黄金分割系数进行迭代搜索,通过正弦函数扫描单位圆模拟算法探索搜索空间的过程。其数学模型描述请参考这里。
2.4 IChOA实现伪代码
IChOA算法的具体实现伪代码如下所示:
Halton序列初始化种群并设置相关参数
计算当前种群的搜索空间, 返回超出搜索空间的个体
While l<Max_iter
计算个体适应度并排序
记录最优和最差个体位置及适应度
更新四个领导者位置
for i = 1:N
if i ≤ 10
按公式(12)更新个体位置
else
按照公式(5)-(7)更新个体位置
m = chaos (3, 1, 1)
end
end
end
算法结束, 返回最优位置及适应度
二、实验仿真与结果分析
本文选取基本黑猩猩算法(ChOA)、粒子群优化算法(PSO)、灰狼优化算法(GWO)和鲸鱼优化算法(WOA)与IChOA算法进行对比,基本参数统一设置为:种群规模
N
=
30
N=30
N=30,最大迭代次数
M
a
x
_
i
t
e
r
=
500
Max\_iter=500
Max_iter=500,维度为
d
=
30
d=30
d=30。各算法内部参数设置文献[2]中如表1所示。以文献[2]中表2的F1、F3(单峰函数/30维)、F9、F10(多峰函数/30维)、F17、F18(固定维度多峰函数/2维、2维)为例,各算法分别运行50次取平均值,结果显示如下:
函数:F1
IChimp:最差值: 0,最优值:0,平均值:0,标准差:0,秩和检验:NaN
Chimp:最差值: 6.37e-05,最优值:7.8899e-11,平均值:4.8259e-06,标准差:1.1332e-05,秩和检验:3.3111e-20
PSO:最差值: 5.2735,最优值:0.020512,平均值:0.79161,标准差:1.0876,秩和检验:3.3111e-20
WOA:最差值: 1.2265e-69,最优值:1.0962e-90,平均值:2.5661e-71,标准差:1.7346e-70,秩和检验:3.3111e-20
GWO:最差值: 5.1731e-27,最优值:1.6414e-29,平均值:9.096e-28,标准差:1.2179e-27,秩和检验:3.3111e-20
函数:F3
IChimp:最差值: 0,最优值:0,平均值:0,标准差:0,秩和检验:NaN
Chimp:最差值: 918.9665,最优值:1.096,平均值:100.1558,标准差:170.0563,秩和检验:3.3111e-20
PSO:最差值: 873.6178,最优值:125.8864,平均值:416.8888,标准差:202.2196,秩和检验:3.3111e-20
WOA:最差值: 70386.816,最优值:13069.7994,平均值:41840.8827,标准差:13560.8905,秩和检验:3.3111e-20
GWO:最差值: 0.00097317,最优值:6.7593e-08,平均值:2.7636e-05,标准差:0.00013873,秩和检验:3.3111e-20
函数:F9
IChimp:最差值: 0,最优值:0,平均值:0,标准差:0,秩和检验:NaN
Chimp:最差值: 30.4633,最优值:1.8122e-05,平均值:8.5779,标准差:7.8956,秩和检验:3.3111e-20
PSO:最差值: 197.7414,最优值:60.2584,平均值:133.4077,标准差:31.2577,秩和检验:3.3111e-20
WOA:最差值: 5.6843e-14,最优值:0,平均值:2.2737e-15,标准差:1.1252e-14,秩和检验:0.15937
GWO:最差值: 17.0401,最优值:5.6843e-14,平均值:2.7792,标准差:3.7974,秩和检验:3.2179e-20
函数:F10
IChimp:最差值: 8.8818e-16,最优值:8.8818e-16,平均值:8.8818e-16,标准差:0,秩和检验:NaN
Chimp:最差值: 19.9642,最优值:19.9572,平均值:19.9627,标准差:0.0012698,秩和检验:3.3111e-20
PSO:最差值: 3.3303,最优值:0.94759,平均值:1.9493,标准差:0.55565,秩和检验:3.3111e-20
WOA:最差值: 7.9936e-15,最优值:8.8818e-16,平均值:5.1514e-15,标准差:2.4864e-15,秩和检验:3.2317e-16
GWO:最差值: 1.5721e-13,最优值:7.5495e-14,平均值:1.0626e-13,标准差:1.7205e-14,秩和检验:2.8434e-20
函数:F17
IChimp:最差值: 0.4162,最优值:0.39792,平均值:0.40287,标准差:0.0046366,秩和检验:1
Chimp:最差值: 0.39907,最优值:0.39789,平均值:0.39818,标准差:0.00028999,秩和检验:3.3752e-15
PSO:最差值: 0.39789,最优值:0.39789,平均值:0.39789,标准差:3.3645e-16,秩和检验:3.3111e-20
WOA:最差值: 0.39797,最优值:0.39789,平均值:0.3979,标准差:1.7267e-05,秩和检验:8.9852e-18
GWO:最差值: 0.39789,最优值:0.39789,平均值:0.39789,标准差:7.9402e-07,秩和检验:7.0661e-18
函数:F18
IChimp:最差值: 3.0006,最优值:3,平均值:3.0001,标准差:0.00013496,秩和检验:1
Chimp:最差值: 3.0027,最优值:3,平均值:3.0003,标准差:0.00042827,秩和检验:0.11051
PSO:最差值: 3,最优值:3,平均值:3,标准差:1.2657e-15,秩和检验:3.3595e-18
WOA:最差值: 3.0007,最优值:3,平均值:3.0001,标准差:0.00012557,秩和检验:1.4196e-06
GWO:最差值: 84,最优值:3,平均值:4.62,标准差:11.4551,秩和检验:2.5383e-06
实验结果表明,改进的算法具有更好的鲁棒性。
三、参考文献
[1] Khishe M, Mosavi M R. Chimp optimization algorithm[J]. Expert Systems with Applications, 2020, 149: 113338.
[2] 刘成汉, 何庆. 融合多策略的黄金正弦黑猩猩优化算法[J]. 自动化学报, 2021, 47(x): 1−14.