智能优化算法:黑猩猩优化算法-附代码
摘要:黑猩猩优化算法(ChOA) 是 M. Khishe 等人于2020 年根据黑猩猩群体狩猎行为提出的一种新型元启发式优化算法。具有收敛速度快,精度高等特点。
1.算法原理
ChOA 通过模拟攻击黑猩猩、驱赶黑猩猩、拦截黑猩猩和追逐黑猩猩 4 类黑猩猩协同狩
猎行为来达到求解问题的目的。
1.1 驱赶和追逐猎物
在黑猩猩狩猎过程中,通常根据黑猩猩个体智力和性动机来分配狩猎职责。任
何黑猩猩均可随机改变其在猎物周围空间中的位置,数学描述为:
d = ∣ c X p r e y ( t ) − m X c h i m p ( t ) ∣ (1) d=|cX_{prey}(t)-mX_{chimp}(t)| \tag{1} d=∣cXprey(t)−mXchimp(t)∣(1)
X c h i m p ( t + 1 ) = X p r e y ( t ) − a d (2) X_{chimp}(t+1)=X_{prey}(t)-ad\tag{2} Xchimp(t+1)=Xprey(t)−ad(2)
式中: d d d为黑猩猩与猎物间距; t t t为当前迭代次数; X p r e y ( t ) X_{prey}(t) Xprey(t)为猎物位置向量; X c h i m p ( t ) X_{chimp}(t) Xchimp(t)为黑猩猩位置向量; a 、 m 、 c a、m、c a、m、c为系数向量, a = 2 f r 1 − f a = 2fr_1-f a=2fr1−f, c = 2 r 2 c = 2r_2 c=2r2 ,$m=Chaotic_value ( 基 于 混 沌 映 射 的 混 沌 向 量 ) , (基于混沌映射的混沌向量), (基于混沌映射的混沌向量),f$ 为迭代过程中从2非线性降至0, r 1 , r 2 r_1,r_2 r1,r2为[0,1]范围内的随机向量。
1.2 攻击方式
黑猩猩能够探查猎物位置(通过驱赶、拦截和追逐),然后包围猎物。狩猎过程通常由
攻击黑猩猩进行,驱赶黑猩猩、拦截黑猩猩和追逐黑猩猩参与狩猎过程。4 类黑猩猩通过下式更新其位置,其他黑猩猩根据最佳黑猩猩位置更新其位置,猎物位置由最佳黑猩猩个体位置估计。数学描述为:
{ d A t t a c k e r = ∣ c 1 X A t t a c t e r − m 1 X ∣ d B a r r i e r = ∣ c 2 X B a r r i e r − m 2 X ∣ d C h a s e r = ∣ c 3 X C h a s e r − m 3 X ∣ d D r i v e r = ∣ c 4 X D r i v e r − m 4 X ∣ (3) \begin{cases}d_{Attacker}=|c_1X_{Attacter}-m_1X|\\ d_{Barrier}=|c_2X_{Barrier}-m_2X|\\ d_{Chaser}=|c_3X_{Chaser}-m_3X|\\ d_{Driver}=|c_4X_{Driver}-m_4X|\end{cases}\tag{3} ⎩⎪⎪⎪⎨⎪⎪⎪⎧dAttacker=∣c1XAttacter−m1X∣dBarrier=∣c2XBarrier−m2X∣dChaser=∣c3XChaser−m3X∣dDriver=∣c4XDriver−m4X∣(3)
{ X 1 = X A t t a c t e r − a 1 d A t t a c k e r X 2 = X B a r r i e r − a 2 d B a r r i e r X 3 = X C h a s e r − a 3 d C h a s e r X 4 = X D r i v e r − a 4 d D r i v e r (4) \begin{cases}X_1=X_{Attacter}-a_1d_{Attacker}\\ X_2=X_{Barrier}-a_2d_{Barrier}\\ X_3=X_{Chaser}-a_3d_{Chaser}\\ X_4 =X_{Driver}-a_4d_{Driver} \end{cases}\tag{4} ⎩⎪⎪⎪⎨⎪⎪⎪⎧X1=XAttacter−a1dAttackerX2=XBarrier−a2dBarrierX3=XChaser−a3dChaserX4=XDriver−a4dDriver(4)
X ( t + 1 ) = X 1 + X 2 + X 3 + X 4 4 (5) X(t+1)=\frac{X_1+X_2+X_3+X_4}{4}\tag{5} X(t+1)=4X1+X2+X3+X4(5)
式中: d A t t a c k e r 、 d B a r r i e r 、 d C h a s e r 、 d D r i v e r d_{Attacker} 、d_{Barrier} 、d_{Chaser} 、d_{Driver} dAttacker、dBarrier、dChaser、dDriver 分别为当前攻击黑猩猩、拦截黑猩猩、追逐黑猩猩、驱赶黑猩猩与猎物的间距; x A t t a c k e r 、 x B a r r i e r 、 x C h a s e r 、 x D r i v e r x_{Attacker} 、x_{Barrier} 、x_{Chaser} 、x_{Driver} xAttacker、xBarrier、xChaser、xDriver 分别为攻击黑猩猩、拦截黑猩猩、追逐黑猩猩、驱赶黑猩猩相对于猎物的位置向量; a 1 ~ a 4 、 m 1 ~ m 4 、 c 1 ~ c 4 a_1 ~ a_4 、m_1 ~ m_4 、c_1~ c_4 a1~a4、m1~m4、c1~c4 分别为攻击黑猩猩、拦截黑猩猩、追逐黑猩猩、驱赶黑猩猩系数向量;$ X_1 、X_2 、X_3 、X_4 $分别为攻击黑猩猩、拦截黑猩猩、追逐黑猩猩和驱赶黑猩猩位置更新向量; X X X为其他黑猩猩位置向量。
1.3 攻击和寻找猎物
在狩猎最后阶段,一方面黑猩猩根据攻击者、驱赶者、拦截者和追逐者位置更新位置,并攻击猎物;另一方面黑猩猩通过分散寻找猎物显示探查过程,即 ChOA 全局搜索。
2.算法结果
3.参考文献
[1]Khishe M., ,and Mosavi M.R…“Chimp Optimization Algorithm.” Expert Systems with Applications .prepublish(2020): doi:10.1016/j.eswa.2020.113338.
[1]程国森,崔东文.黑猩猩优化算法-极限学习机模型在富水性分级判定中的应用[J].人民黄河,2021,43(07):62-66+103.
4.Matlab代码
改进算法matlab代码
名称 | 说明或者参考文献 |
---|---|
多策略黑猩猩优化算法 | [1]黄倩,刘升,李萌萌,郭雨鑫.多策略黑猩猩优化算法研究及其工程应用[J/OL].计算机工程与应用:1-12[2021-10-25].http://kns.cnki.net/kcms/detail/11.2127.TP.20210806.1055.011.html. |