信息共享的记忆被囊群算法
文章目录
摘要:针对基本被囊群算法求解精度较低、收敛速度较慢、容易陷入局部最优的缺陷,提出信息共享的记忆被囊群算法.首先,将整个种群分为执行信息共享搜索和喷气推进搜索两个子群,引入动态自适应调整策略,用于平衡算法的全局开拓能力和局部开发能力.然后,在执行信息共享搜索模式时,部分个体向同伴所在领域相互获取信息,实现种群个体之间信息的充分交流与共享.另一部分个体引入历史最优位置,用于引导学习,增强算法搜索的有效性。
1.被囊群算法
基础被囊群算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107615961
2. 改进被囊群算法
2.1 信息共享搜索策略
TSA 是仅依照被囊动物喷气推进与群体聚齐的生活习性而建立的群体智能搜索算法. 在搜索食物过程中, 被囊动物个体以当前位置为中心, 在当前最 优位置(食物源位置) 与当前位置的差值构建的扇 形区域内进行随机搜索, 末考虑被囊动物行为中的 其它智能行为. 此种单一模式的搜索方式使被囊动 物的受食活动缺乏机动性和灵活性, 难以跳出局部 最优, 导致算法的搜索精度不高. 实际上, 自然界中 的被囊动物属于无脊椎动物, 相关研究表明,该类动 物除了表现为很强的集群行为以外, 还具有一定的 免疫记忆能力与相互学习能力 [ 16 − 17 ] { }^{[16-17]} [16−17].
TSA 采用式(1) 和式(2) 的方式直接向全局最 优值聚集, 导致算法的整体搜索不充分, 末充分利用 被囊群体在合作搜索食物时的共享信息, 降低算法 的搜索精度和收敛速度. 本文采用信息共享搜索策 略, 实现对领域信息的充分搜索. 搜索方式为
x
i
t
+
1
=
\boldsymbol{x}_i^{t+1}=
xit+1=
{
x
i
t
+
α
(
x
j
t
⊗
lev
(
β
)
−
x
i
t
)
,
r
<
J
x
i
t
+
α
(
x
j
t
−
x
i
t
⊗
levy
(
β
)
)
,
J
⩽
r
<
1
−
J
,
x
i
t
+
α
(
x
j
t
−
x
i
t
)
⊗
lev
(
β
)
,
r
⩾
1
−
J
(3)
\begin{cases}\boldsymbol{x}_i^t+\alpha\left(\boldsymbol{x}_j^t \otimes \operatorname{lev}(\beta)-\boldsymbol{x}_i^t\right), & r<J \\ \boldsymbol{x}_i^t+\alpha\left(\boldsymbol{x}_j^t-\boldsymbol{x}_i^t \otimes \operatorname{levy}(\beta)\right), & J \leqslant r<1-J, \\ \boldsymbol{x}_i^t+\alpha\left(\boldsymbol{x}_j^t-\boldsymbol{x}_i^t\right) \otimes \operatorname{lev}(\beta), & r \geqslant 1-J\end{cases} \tag{3}
⎩
⎨
⎧xit+α(xjt⊗lev(β)−xit),xit+α(xjt−xit⊗levy(β)),xit+α(xjt−xit)⊗lev(β),r<JJ⩽r<1−J,r⩾1−J(3)
其中:
r
r
r 是满足
(
0
,
1
)
(0,1)
(0,1) 内均匀分布的随机数;
J
∈
[
0
J \in[0
J∈[0, 1] 表示基于概率的变量, 确定种群中的个体采用何 种信息共享方式, 为了使种群中的个体能以同等概 率选择每种领域搜索方式,
J
J
J 取值为
1
/
3
;
α
1 / 3 ; \alpha
1/3;α 表示领域 学习系数;
⊗
\otimes
⊗ 表示点乘;
levy
(
⋅
)
\operatorname{levy}(\cdot)
levy(⋅) 表示满足 levy 分布 的随机数. 由于 levy 分布积分较困难, 文献
[
16
]
[16]
[16] 证 明可采用 Mantegana算法实现等价计算, 即
levy
(
β
)
≈
0.01
u
σ
∣
μ
∣
1
β
,
σ
=
(
Γ
(
1
+
β
)
⋅
sin
(
π
β
2
)
Γ
(
1
+
β
2
)
⋅
β
⋅
2
(
β
−
1
2
)
)
1
β
,
(4)
\begin{aligned} &\operatorname{levy}(\beta) \approx \frac{0.01 u \sigma}{|\mu|^{\frac{1}{\beta}}}, \\ &\sigma=\left(\frac{\Gamma(1+\beta) \cdot \sin \left(\frac{\pi \beta}{2}\right)}{\Gamma\left(\frac{1+\beta}{2}\right) \cdot \beta \cdot 2^{\left(\frac{\beta-1}{2}\right)}}\right)^{\frac{1}{\beta}}, \end{aligned} \tag{4}
levy(β)≈∣μ∣β10.01uσ,σ=⎝
⎛Γ(21+β)⋅β⋅2(2β−1)Γ(1+β)⋅sin(2πβ)⎠
⎞β1,(4)
其中,
u
、
μ
u 、 \mu
u、μ 表示
[
0
,
1
]
[0,1]
[0,1] 内的随机数,
β
\beta
β 表示常数.
在式(3) 的第 1 部分, 被囊动物的同伴自由搜索 周边领域, 并引导个体向同伴方向搜索; 第 2 部分搜 索个体充分探索自身周围的领域空间; 第 3 部分引 导个体向共享区域进行搜索, 获得新解. 该策略的核 心思想是采用不同交流算子的个体之间进行信息交 换以增加种群的多样性, 充分利用各自的领域信息. 此外,该共享策略使算法在整个优化搜索过程中展 现更丰富的随机行为, 避免算法陷人局部最优.
2.2 记忆搜索策略
被囊动物在群体觅食过程中具有一定的记忆能 力,因此它们除了向领域中的个体学习以外,还可以 以一定的概率向其它个体历史最优位置领域进行搜 索, 以加强对个体历史位置的充分搜索. 搜索方式
x
i
t
+
1
=
x
i
t
+
rand
(
)
⋅
(
m
e
m
j
t
−
x
i
t
)
,
j
≠
i
(5)
\boldsymbol{x}_i^{t+1}=\boldsymbol{x}_i^t+\operatorname{rand}() \cdot\left(\boldsymbol{m e m}_j^t-\boldsymbol{x}_i^t\right), j \neq i \tag{5}
xit+1=xit+rand()⋅(memjt−xit),j=i(5)
其中,
rand
(
)
\operatorname{rand}()
rand() 表示
[
0
,
1
]
[0,1]
[0,1] 内均匀分布的随机数,
m
e
m
j
t
\boldsymbol{m e m}_j^t
memjt 表示个体
j
j
j 在第
t
t
t 次迭代时的记忆值.
2.3 子群数量的动态调节
在改进的被囊群优化算法中, 部分被囊个体执 行喷气推进模式, 部分个体采用信息共享搜索模式, 如何做到合理分配、使种群中的个体执行相应的搜 索模式是本文算法的一个关键问题. 在迭代初期, 被 囊群体中的大多数个体执行信息共享搜索方式, 提 高算法的全局开拓能力, 避免陷人局部最优; 在迭代 后期, 大多数个体执行喷气推进模式, 增强算法的局 部搜索能力, 平衡算法局部开发与全局开拓能力. 为 了有效执行该方案, 本文引人动态自适应调节策略, 使种群中执行信息共享搜索模式的数量随迭代次数 的增加自适应地减少, 而执行喷气推进模式的个体 数量自适应地增加. 设每次迭代中执行信息共享机 制的数量
s
e
l
e
c
t
n
u
m
=
N
(
k
(
tan
(
−
π
t
4
T
max
+
π
4
)
+
(
1
−
k
)
⋅
rand
(
)
)
)
(6)
select_{num}=N\left(k\left(\tan \left(-\frac{\pi t}{4 T_{\max }}+\frac{\pi}{4}\right)+(1-k) \cdot \operatorname{rand}()\right)\right) \tag{6}
selectnum=N(k(tan(−4Tmaxπt+4π)+(1−k)⋅rand()))(6)
其中,
t
t
t 表示当前迭代次数,
T
max
T_{\max }
Tmax 表示最大迭代次数,
N
N
N 表示种群数量,
k
∈
(
0
,
1
)
k \in(0,1)
k∈(0,1) 表示控制系数, 避免算 法在迭代初期执行信息共享策略和迭代后期执行喷气推进模式的数量偏高、实现算法的局部开发和全局开拓能力的均衡.在进化初期, select
number
_{\text {number }}
number 取值 较大, 执行信息共享机制个体较多; 随着迭代次数的 法在迭代前期能保持较好的全局开拓能力, 在迭代 后期,加强局部开拓能力, 在整体上提高算法的搜索 精度和收敛速度.
3.实验结果
4.参考文献
[1]屈迟文,彭小宁.信息共享的记忆被囊群算法[J].模式识别与人工智能,2021,34(07):605-618.