智能优化算法:侏儒猫鼬优化算法
摘要:侏儒猫鼬优化算法(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