一、理论基础
1、被囊群算法
请参考这里。
2、信息共享的记忆被囊群算法
(1)信息共享搜索策略
本文采用信息共享搜索策略,实现对领域信息的充分搜索。搜索方式为:
x
i
t
+
1
=
{
x
i
t
+
α
(
x
j
t
⊗
l
e
v
y
(
β
)
−
x
i
t
)
,
r
<
J
x
i
t
+
α
(
x
j
t
−
x
i
t
⊗
l
e
v
y
(
β
)
)
,
J
≤
r
<
1
−
J
x
i
t
+
α
(
x
j
t
−
x
i
t
)
⊗
l
e
v
y
(
β
)
,
r
≥
1
−
J
(1)
\boldsymbol x_i^{t+1}=\begin{dcases}\boldsymbol x_i^t+\alpha(\boldsymbol x_j^t\otimes levy(\beta)-\boldsymbol x_i^t),\quad r<J\\\boldsymbol x_i^t+\alpha(\boldsymbol x_j^t-\boldsymbol x_i^t\otimes levy(\beta)),\quad J≤r<1-J\\\boldsymbol x_i^t+\alpha(\boldsymbol x_j^t-\boldsymbol x_i^t)\otimes levy(\beta),\quad r≥1-J\end{dcases}\tag{1}
xit+1=⎩⎪⎨⎪⎧xit+α(xjt⊗levy(β)−xit),r<Jxit+α(xjt−xit⊗levy(β)),J≤r<1−Jxit+α(xjt−xit)⊗levy(β),r≥1−J(1)其中,
r
r
r是满足
(
0
,
1
)
(0,1)
(0,1)内均匀分布的随机数;
J
∈
[
0
,
1
]
J\in[0,1]
J∈[0,1]表示基于概率的变量,确定种群中的个体采用何种信息共享方式,为了使种群中的个体能以同等概率选择每种邻域搜索方式,
J
J
J取值为
1
/
3
1/3
1/3;
α
\alpha
α表示邻域学习系数;
⊗
\otimes
⊗表示点乘;
l
e
v
y
(
⋅
)
levy(\cdot)
levy(⋅)表示满足levy分布的随机数。levy分布请参考这里。
该策略的核心思想是采用不同交流算子的个体之间进行信息交换以增加种群的多样性,充分利用各自的领域信息。此外,该共享策略使算法在整个优化搜索过程中展现更丰富的随机行为,避免算法陷入局部最优。
(2)记忆搜索策略
被囊动物在群体觅食过程中具有一定的记忆能力,因此它们除了向领域中的个体学习以外,还可以以一定的概率向其它个体历史最优位置领域进行搜索,以加强对个体历史位置的充分搜索。搜索方式: x i t + 1 = x i t + r a n d ( ) ⋅ ( m e m j t − x i t ) , j ≠ i (2) \boldsymbol x_i^{t+1}=\boldsymbol x_i^t+rand()\cdot(\boldsymbol{mem}_j^t-\boldsymbol x_i^t),\quad j≠i\tag{2} xit+1=xit+rand()⋅(memjt−xit),j=i(2)其中, r a n d ( ) rand() rand()表示 [ 0 , 1 ] [0,1] [0,1]内均匀分布的随机数, m e m j t \boldsymbol{mem}_j^t memjt表示个体 j j j在第 t t t次迭代时的记忆值。
(3)子群数量的动态调节
在改进的被囊群优化算法中,部分被囊个体执行喷气推进模式,部分个体采用信息共享搜索模式,如何做到合理分配、使种群中的个体执行相应的搜索模式是本文算法的一个关键问题。在迭代初期,被囊群体中的大多数个体执行信息共享搜索方式,提高算法的全局开拓能力,避免陷入局部最优;在迭代后期,大多数个体执行喷气推进模式,增强算法的局部搜索能力,平衡算法局部开发与全局开拓能力。为
了有效执行该方案,本文引入动态自适应调节策略,使种群中执行信息共享搜索模式的数量随迭代次数的增加自适应地减少,而执行喷气推进模式的个体数量自适应地增加。设每次迭代中执行信息共享机制的数量
s
e
l
e
c
t
num
=
(
N
(
k
(
tan
(
−
π
t
4
T
max
+
π
4
)
+
(
1
−
k
)
⋅
r
a
n
d
(
)
)
)
)
(3)
select_{\text{num}}=\left(N\left(k\left(\tan\left(-\frac{\pi t}{4T_{\max}}+\frac\pi4\right)+(1-k)\cdot rand()\right)\right)\right)\tag{3}
selectnum=(N(k(tan(−4Tmaxπt+4π)+(1−k)⋅rand())))(3)其中,
t
t
t表示当前迭代次数,
T
max
T_{\max}
Tmax表示最大迭代次数,
N
N
N表示种群数量,
k
∈
(
0
,
1
)
k\in(0,1)
k∈(0,1)表示控制系数,避免算法在迭代初期执行信息共享策略和迭代后期执行喷气推进模式的数量偏高、实现算法的局部开发和全局开拓能力的均衡。
s
e
l
e
c
t
number
select_{\text{number}}
selectnumber的取值在迭代过程中的动态变化如图1所示。由图可看出:在进化初期,
s
e
l
e
c
t
number
select_{\text{number}}
selectnumber取值较大,执行信息共享机制个体较多;随着迭代次数的增大,
s
e
l
e
c
t
number
select_{\text{number}}
selectnumber取值逐渐减小,执行喷气推进模式的个体逐渐增多。因此,
s
e
l
e
c
t
number
select_{\text{number}}
selectnumber取值确保本文算法在迭代前期能保持较好的全局开拓能力,在迭代后期,加强局部开拓能力,在整体上提高算法的搜索精度和收敛速度。
(4)算法步骤
ISMTSA算法迭代过程如下所示:
二、实验及结果分析
为了对比算法性能,选取如下对比算法:CS、SSA、GWO、TLBO。为了对比的合理性和公平性,各算法的种群规模
N
=
30
N =30
N=30,对比算法的参数值来自于相应的参考文献,在ISMTSA中,确定种群中的个体采用何种信息共享方式的控制概率
J
=
1
/
3
J =1/3
J=1/3,执行信息共享策略子群数量的控制系数
k
=
0.9
k=0.9
k=0.9,社交活动的最小值
P
min
=
1
P_{\min}=1
Pmin=1,最大值
P
max
=
4
P_{\max}=4
Pmax=4。同时,对于每个测试函数,迭代次数为500次,每种算法均独立运行30次。以文献[1]中f1、f2(单峰函数/30维)、f8、f9(多峰函数/30维)、f13、f14(固定维度多峰函数)为例。结果显示如下:
函数:F1
CS:最差值: 15.1282,最优值:2.2921,平均值:7.7369,标准差:2.7713,秩和检验:3.0199e-11
SSA:最差值: 1.5505e-06,最优值:3.3226e-08,平均值:2.4471e-07,标准差:3.0274e-07,秩和检验:3.0199e-11
GWO:最差值: 7.8962e-27,最优值:3.408e-29,平均值:1.3503e-27,标准差:1.812e-27,秩和检验:3.0199e-11
TLBO:最差值: 1.8193e-89,最优值:1.5788e-92,平均值:3.8301e-90,标准差:5.1247e-90,秩和检验:3.0199e-11
ISMTSA:最差值: 6.964e-188,最优值:1.5527e-200,平均值:2.692e-189,标准差:0,秩和检验:1
函数:F2
CS:最差值: 19.2386,最优值:4.34,平均值:10.8293,标准差:4.1778,秩和检验:3.0199e-11
SSA:最差值: 9.4924,最优值:0.31559,平均值:2.4597,标准差:2.1463,秩和检验:3.0199e-11
GWO:最差值: 2.1662e-16,最优值:1.8124e-17,平均值:8.3325e-17,标准差:5.687e-17,秩和检验:3.0199e-11
TLBO:最差值: 3.8011e-45,最优值:1.4393e-46,平均值:9.6703e-46,标准差:8.6627e-46,秩和检验:3.0199e-11
ISMTSA:最差值: 1.1114e-94,最优值:3.164e-102,平均值:3.7488e-96,标准差:2.0284e-95,秩和检验:1
函数:F8
CS:最差值: 144.8696,最优值:77.5327,平均值:101.125,标准差:14.0505,秩和检验:3.1117e-10
SSA:最差值: 99.4957,最优值:20.8941,平均值:54.6563,标准差:18.3998,秩和检验:4.9957e-09
GWO:最差值: 9.9362,最优值:5.6843e-14,平均值:2.4991,标准差:3.1903,秩和检验:0.021456
TLBO:最差值: 28.8581,最优值:0,平均值:13.9131,标准差:7.2515,秩和检验:1.5029e-07
ISMTSA:最差值: 111.8632,最优值:0,平均值:6.9392,标准差:24.1578,秩和检验:1
函数:F9
CS:最差值: 12.6872,最优值:4.0013,平均值:7.2969,标准差:2.4289,秩和检验:1.7203e-12
SSA:最差值: 4.884,最优值:4.8526e-05,平均值:2.5565,标准差:1.0138,秩和检验:1.7203e-12
GWO:最差值: 1.3589e-13,最优值:6.839e-14,平均值:9.8706e-14,标准差:1.618e-14,秩和检验:1.5396e-12
TLBO:最差值: 4.4409e-15,最优值:4.4409e-15,平均值:4.4409e-15,标准差:0,秩和检验:0.33371
ISMTSA:最差值: 7.9936e-15,最优值:4.4409e-15,平均值:4.5593e-15,标准差:6.4863e-16,秩和检验:1
函数:F13
CS:最差值: 0.00068356,最优值:0.00031093,平均值:0.00044105,标准差:0.0001039,秩和检验:0.0022658
SSA:最差值: 0.020363,最优值:0.0003909,平均值:0.0022269,标准差:0.0049371,秩和检验:0.019112
GWO:最差值: 0.020363,最优值:0.00030765,平均值:0.0062722,标准差:0.0090781,秩和检验:0.23399
TLBO:最差值: 0.0012232,最优值:0.00030749,平均值:0.00037831,标准差:0.0001972,秩和检验:4.6736e-08
ISMTSA:最差值: 0.088346,最优值:0.00031736,平均值:0.0062072,标准差:0.016995,秩和检验:1
函数:F14
CS:最差值: -1.0316,最优值:-1.0316,平均值:-1.0316,标准差:4.7373e-16,秩和检验:4.0988e-12
SSA:最差值: -1.0316,最优值:-1.0316,平均值:-1.0316,标准差:1.9212e-14,秩和检验:3.0142e-11
GWO:最差值: -1.0316,最优值:-1.0316,平均值:-1.0316,标准差:2.7486e-08,秩和检验:3.0199e-11
TLBO:最差值: -1.0316,最优值:-1.0316,平均值:-1.0316,标准差:6.7122e-16,秩和检验:1.7203e-12
ISMTSA:最差值: -1,最优值:-1.0316,平均值:-1.0306,标准差:0.0057722,秩和检验:1
实验结果表明,ISMTSA在搜索精度、收敛速度和稳定性等方面都具有较强的竞争力和优越性。
代码下载地址:https://download.csdn.net/download/weixin_43821559/85941325
三、参考文献
[1] 屈迟文, 彭小宁. 信息共享的记忆被囊群算法[J]. 模式识别与人工智能, 2021, 34(7): 605-618.