智能优化算法:侏儒猫鼬优化算法
摘要:侏儒猫鼬优化算法(Dwarf Mongoose Optimization,DMO)是由是由 Jeffrey O. Agushaka 等于2022 年提出的一种群体智能优化算法。其灵感来源于侏儒猫鼬的群体觅食行为。
1.侏儒猫鼬优化算法
DMO 算法是模拟侏儒猫鼬半游牧式生活的一种元启发式算法。侏儒猫鼬通常生活在一个母系社会的家族群体中,主要有觅食、侦察和保姆三种社会职能。侏儒猫鼬以集体觅食和侦察而闻名,由雌性首领引导种群进行食物源的搜寻。一旦满足保姆交换条件,即
当阿尔法组未能寻找到合适的食物时,将交换阿尔法组和保姆组的成员,且阿尔法组同时进行觅食和寻找睡眠丘。
1.1 阿尔法组
1.1.1 雌性首领的产生
雌性首领在阿尔法组中产生, 阿尔法组中每个雌 性个体成为首领的概率为
α
\alpha
α, 计算公式如下:
α
=
f
i
t
i
∑
i
=
1
N
f
i
t
i
(1)
\alpha=\frac{f i t_i}{\sum_{i=1}^N f i t_i} \tag{1}
α=∑i=1Nfitifiti(1)
其中
f
i
t
i
f i t_i
fiti 是第
i
i
i 个个体的适应度,
N
N
N 是侏儒猫䶃种群中个 体的总数。阿尔法组的个体数量为
n
′
,
b
s
n^{\prime}, b s
n′,bs 为保姆的数量。
1.1.2 阿尔法组成员觅食
阿尔法组成员将共行并进行受食, 食物源的候选 位置由式 ( 2 ) 给出:
X
i
+
1
=
X
i
+
phi
×
peep
×
(
X
i
−
X
rand
)
(2)
X_{i+1}=X_i+\text { phi } \times \text { peep } \times\left(X_i-X_{\text {rand }}\right)\tag{2}
Xi+1=Xi+ phi × peep ×(Xi−Xrand )(2)
其中
X
i
+
1
X_{i+1}
Xi+1 是找到的食物源新位置,
X
i
X_i
Xi 为雌性首领的当 前位置, phi 是均匀分布在
[
−
1
,
1
]
[-1,1]
[−1,1] 之间的随机数, 本文 peep 选取为
2
,
X
rand
2, X_{\text {rand }}
2,Xrand 是阿尔法组中的随机个体。
1.2 保姆交换条件
保姆交换条件是用于重置阿尔法组和保姆组中的 猫舀个体。当阿尔法组成员末能搜寻到合适的食物时, 认为阿尔法组成员能力不足, 将交换阿尔法组和保姆 组的成员。交换条件满足后, 阿尔法组将同时进行受 食和寻找睡眠丘, 计算公式如下:
X
b
=
l
b
+
rand
∗
(
u
b
−
l
b
)
(3)
X_b=l b+\text { rand } *(u b-l b)\tag{3}
Xb=lb+ rand ∗(ub−lb)(3)
其中
X
b
X_b
Xb 为交换后个体的新位置,
u
b
u b
ub 和
l
b
l b
lb 分别为搜索 空间的上界和下界, rand 是 0 到 1 之间的随机数。
保姆交换后的觅食行为由公式 (2) 实现。睡眠丘 是猫䶂休息的场所, 而猫䶂不会回到之前的睡眠丘, 这种生活模式能够避免搜索区域被过度开发的问题。 新搜寻到的睡眠丘的数学模型如下:
X
s
m
=
{
X
i
−
C
F
∗
phi
∗
rand
∗
[
X
i
−
M
⃗
]
if
φ
i
+
1
>
φ
i
X
i
+
C
F
∗
phi
∗
rand
∗
[
X
i
−
M
⃗
]
else
}
(4)
X_{s m}=\left\{\begin{array}{lcc} X_i-C F * \text { phi } * \text { rand } *\left[X_i-\vec{M}\right] & \text { if } & \varphi_{i+1}>\varphi_i \\ X_i+C F * \text { phi } * \text { rand } *\left[X_i-\vec{M}\right] & \text { else } \end{array}\right\}\tag{4}
Xsm=⎩
⎨
⎧Xi−CF∗ phi ∗ rand ∗[Xi−M]Xi+CF∗ phi ∗ rand ∗[Xi−M] if else φi+1>φi⎭
⎬
⎫(4)
其中
X
s
m
X_{s m}
Xsm 为新的睡眠丘的位置,
M
⃗
\vec{M}
M 是决定猫晲移动到 新睡眠丘的方向向量,
φ
\varphi
φ 是睡眠丘的平均值, 计算公 式如下:
M
⃗
=
∑
i
=
1
N
X
i
×
s
m
i
X
i
(5)
\vec{M}=\sum_{i=1}^N \frac{X_i \times s m_i}{X_i}\tag{5}
M=i=1∑NXiXi×smi(5)
φ
=
∑
i
=
1
N
s
m
i
n
(6)
\varphi=\frac{\sum_{i=1}^N s m_i}{n}\tag{6}
φ=n∑i=1Nsmi(6)
其中
s
m
i
s m_i
smi 代表睡眠丘值:
s
m
i
=
f
i
t
i
+
1
−
f
i
t
i
max
{
∣
f
i
t
i
+
1
,
f
i
t
i
∣
}
(7)
s m_i=\frac{f i t_{i+1}-f i t_i}{\max \left\{\left|f i t_{i+1}, f i t_i\right|\right\}} \tag{7}
smi=max{∣fiti+1,fiti∣}fiti+1−fiti(7)
C
F
C F
CF 表示猫晲种群移动能力的参数, 它会随着迭 代次数线性递减, 计算公式如下:
C
F
=
(
1
−
t
T
)
(
2
t
T
)
(8)
C F=\left(1-\frac{t}{T}\right)^{\left(2 \frac{t}{T}\right)}\tag{8}
CF=(1−Tt)(2Tt)(8)
其中
t
t
t 为当前迭代次数,
T
T
T 为最大迭代次数。
3.实验结果
4.参考文献
[1] AGUSHAKA J O, EZUGWU A E, ABUALIGAH L.Dwarf mongoose optimization algorithm[J].Computer methods in applied mechanics and engineering, 2022,391(2022): 114570.
[1]贾鹤鸣,陈丽珍,力尚龙,刘庆鑫,吴迪,卢程浩.透镜成像反向学习的精英池侏儒猫鼬优化算法[J/OL].计算机工程与应用:1-12[2022-10-21].http://kns.cnki.net/kcms/detail/11.2127.TP.20221019.1554.014.html