黑猩猩优化算法(Chimp Optimization Algorithm,ChOA)

黑猩猩优化算法(ChOA)是2020年提出的模拟黑猩猩社会行为的群智能算法。该算法通过初始化、探索和开发阶段来优化问题解决方案。在探索阶段,黑猩猩个体依据随机向量改变位置,而在开发阶段,不同角色的黑猩猩(攻击者、包围者等)协同更新位置以接近最优解。实验结果显示,ChOA在多个经典测试函数上的收敛性能良好。
摘要由CSDN通过智能技术生成

一、算法灵感

  黑猩猩优化算法(Chimp Optimization Algorithm, ChOA)是2020年提出的一种群智能优化算法,其灵感来源于黑猩猩种群的社会行为。黑猩猩是除人类之外智力水平最高的物种,同时也是一种群居生活的物种。黑猩猩算法能够根据黑猩猩能力不同划分不同的社会职责,其社会职责可以分为攻击者(Attacker)、包围者(Barrier)、驱赶者(Chaser)和追捕者(Driver)四种类型,分别代表黑猩猩种群的最优解、次优解、第三优解和第四优解。黑猩猩狩猎主要分为两个过程:探索阶段,即驱动、阻挡和追逐猎物阶段;开发阶段,即攻击猎物阶段。

二、算法介绍

2.1 初始化阶段

  在ChOA中,初始化黑猩猩种群位置更新公式如(1)所示:
X i = r a n d × ( u b − l b ) + l b (1) {X_i} = rand \times (ub - lb) + lb \tag{1} Xi=rand×(ublb)+lb(1)式中, X i {X_i} Xi 是第 i {i} i 个体的位置, l b {lb} lb u b {ub} ub 是搜索空间的下界和上界, r a n d {rand} rand 为0到1之间的随机数。

2.2 探索阶段

  在狩猎过程中,黑猩猩个体各司其职,根据猎物的位置相应改变自身的位置,其位置更新公式如(2)所示:
X c h i m p ( t + 1 ) = X p r e y ( t ) − a ⋅ d (2) {X_{chimp}}(t + 1) = {X_{prey}}(t) - a \cdot d \tag{2} Xchimp(t+1)=Xprey(t)ad(2)式(2)中, X c h i m p X_{chimp} Xchimp 为当前黑猩猩的位置向量, X p r e y X_{prey} Xprey 为当前猎物的位置向量, t t t 代表当前迭代次数; a a a 决定黑猩猩与猎物距离的随机向量,当 ∣ a ∣ > 1 |a|>1 a>1 时,表示黑猩猩分散寻找猎物,即进入探索阶段;当 ∣ a ∣ < 1 |a|<1 a<1 时,表示黑猩猩进行攻击行为,加快算法收敛。其计算公式如式(3)所示:
a = 2 ⋅ f ⋅ r 1 − f (3) a = 2 \cdot f \cdot {r_1} - f \tag{3} a=2fr1f(3)其中, f f f 是收敛因子,随迭代次数从2.5非线性减少到0, r 1 r_1 r1 是取值为 [ 0 , 1 ] [0,1] [0,1] 的随机数。因此, a a a 的取值范围是 [ − f , f ] [-f,f] [f,f]
   d d d 为黑猩猩与猎物之间的距离,如式(4)所示:
d = ∣ c ⋅ X p r e y ( t ) − m ⋅ X c h i m p ( t ) ∣ (4) d = |c\cdot{X_{prey}}(t) - m\cdot{X_{chimp}}(t)| \tag{4} d=cXprey(t)mXchimp(t)(4)其中, c c c 表示在狩猎过程中障碍物对黑猩猩捕猎的影响因子,其计算公式如式(5)所示:
c = 2 ⋅ r 2 (5) c = 2\cdot{r_2} \tag{5} c=2r2(5)其中, r 2 r_2 r2 是取值为 [ 0 , 1 ] [0,1] [0,1] 的随机数。
  式(4)中, m m m 是混沌映射矢量,具有一定的遍历性和有序性;其计算公式如式(6)所示:
m = C h a o t i c . v a l u e (6) m = Chaotic.value \tag{6} m=Chaotic.value(6)

2.3 开发阶段

  黑猩猩群体搜索猎物数学模型如式(7)所示:
X ( t + 1 ) = X 1 + X 2 + X 3 + X 4 4 (7) X(t + 1) = {{{X_1} + {X_2} + {X_3} + {X_4}} \over 4} \tag{7} X(t+1)=4X1+X2+X3+X4(7)其中, X ( t + 1 ) X(t+1) X(t+1) 为当前黑猩猩个体更新后的位置向量, X 1 X_1 X1 X 2 X_2 X2 X 3 X_3 X3 X 4 X_4 X4 为攻击者、包围者、驱赶者和追捕者更新后的位置向量,其攻击猎物数学模型如式(8)、(9)、(10)、(11)所示:
X 1 = X A t t a c k e r − a 1 ⋅ d A t t a c ker ⁡ (8) {X_1} = {X_{Attacker }} - {a_1} \cdot {d_{Attac\ker }} \tag{8} X1=XAttackera1dAttacker(8) X 2 = X B a r r i e r − a 2 ⋅ d B a r r i e r (9) {X_2} = {X_{Barrier}} - {a_2} \cdot {d_{Barrier}} \tag{9} X2=XBarriera2dBarrier(9) X 3 = X C h a s e r − a 3 ⋅ d C h a s e r (10) {X_3} = {X_{Chaser}} - {a_3} \cdot {d_{Chaser}} \tag{10} X3=XChasera3dChaser(10) X 4 = X D r i v e r − a 4 ⋅ d D r i v e r (11) {X_4} = {X_{Driver}} - {a_4} \cdot {d_{Driver}} \tag{11} X4=XDrivera4dDriver(11)其中, X A t t a c k e r X_{Attacker} XAttacker X B a r r i e r X_{Barrier} XBarrier X C h a s e r X_{Chaser} XChaser X D r i v e r X_{Driver} XDriver 分别表示攻击者、包围者、驱赶者和追捕者的位置向量; d A t t a c k e r d_{Attacker} dAttacker d B a r r i e r d_{Barrier} dBarrier d C h a s e r d_{Chaser} dChaser d D r i v e r d_{Driver} dDriver 表示攻击者、包围者、驱赶者和追捕者分别与猎物之间的距离,其数学模式如式(12)、(13)、(14)、(15)所示:
d A t t a c ker ⁡ = ∣ c 1 ⋅ X A t t a c ker ⁡ − m 1 ⋅ X ∣ (12) {d_{Attac\ker }} = |{c_1}\cdot{X_{Attac\ker }} - {m_1}\cdot X| \tag{12} dAttacker=c1XAttackerm1X(12) d B a r r i e r = ∣ c 2 ⋅ X B a r r i e r − m 2 ⋅ X ∣ (13) {d_{Barrier}} = |{c_2}\cdot{X_{Barrier}} - {m_2}\cdot X| \tag{13} dBarrier=c2XBarrierm2X(13) d C h a s e r = ∣ c 3 ⋅ X C h a s e r − m 3 ⋅ X ∣ (14) {d_{Chaser}} = |{c_3}\cdot{X_{Chaser}} - {m_3}\cdot X| \tag{14} dChaser=c3XChaserm3X(14) d D r i v e r = ∣ c 4 ⋅ X C h a s e r − m 4 ⋅ X ∣ (15) {d_{Driver}} = |{c_4}\cdot{X_{Chaser}} - {m_4}\cdot X| \tag{15} dDriver=c4XChaserm4X(15)其中, c 1 c_1 c1 c 2 c_2 c2 c 3 c_3 c3 c 4 c_4 c4 均表示在狩猎过程中障碍物阻挡黑猩猩捕猎的影响因子, m 1 m_1 m1 m 2 m_2 m2 m 3 m_3 m3 m 4 m_4 m4 均是混沌映射矢量。

2.4 算法伪代码

  1. 输入:黑猩猩种群规模 N N N、维度 d i m dim dim、最大迭代次数 T T T
  2. 初始化参数 f f f a a a c c c m m m
  3. 初始化黑猩猩种群 X i ( i = 1 , 2 , . . . , N ) X_i(i=1,2,...,N) Xi(i=1,2,...,N)
  4. While t < T t<T t<T do
  5.   检查是否有黑猩猩超出搜索空间并进行修改
  6.   计算每个黑猩猩个体的饥饿值(适应度值)
  7.   选取饥饿值最小的前四个个体,确定四个领导者的位置( X a t t a c k e r X_{attacker} Xattacker X b a r r i e r X_{barrier} Xbarrier X c h a s e r X_{chaser} Xchaser X d r i v e r X_{driver} Xdriver)
  8.   利用公式(3)、(5)、(6)更新参数 a a a c c c m m m
  9.   For i = 1 i=1 i=1 to N N N do
  10.     If μ < 0.5 μ<0.5 μ<0.5 then
  11.       If ∣ a ∣ < 1 |a|<1 a<1 then
  12.         利用公式(2)更新黑猩猩种群位置
  13.       Else
  14.         利用公式(8)~(11)更新四个领导者的位置( X a t t a c k e r X_{attacker} Xattacker X b a r r i e r X_{barrier} Xbarrier X c h a s e r X_{chaser} Xchaser X d r i v e r X_{driver} Xdriver)
  15.       End If
  16.     Else
  17.       利用公式(7)更新所有黑猩猩个体
  18.     End If
  19.   End For
  20.    t = t + 1 t=t+1 t=t+1
  21. End While
  22. 输出:最优位置 X a t t a c k e r X_{attacker} Xattacker

三、实验结果

ChOA在23个经典测试函数(设置维度 d i m = 30 dim=30 dim=30)的F1、F5、F8上进行测试,其测试函数公式如下所示:

函数公式理论值
F1 F 1 ( x ) = ∑ i = 1 n x i 2 {F_1}(x) = \sum\nolimits_{i = 1}^n {x_i^2} F1(x)=i=1nxi2 0.00 0.00 0.00
F5 F 5 ( x ) = ∑ i = 1 n − 1 [ 100 ( x i + 1 − x i 2 ) 2 + ( x i − 1 ) 2 ] {F_5}(x) = \sum\nolimits_{i = 1}^{n - 1} {[100{{({x_{i + 1}} - x_i^2)}^2} + {{({x_i} - 1)}^2}]} F5(x)=i=1n1[100(xi+1xi2)2+(xi1)2] 0.00 0.00 0.00
F8 F 8 ( x ) = ∑ i = 1 n − x i sin ⁡ ( ∣ x i ∣ ) {F_8}(x) = \sum\nolimits_{i = 1}^n { - {x_i}\sin (\sqrt {|{x_i}|} )} F8(x)=i=1nxisin(xi ) − 418.9829 × d i m -418.9829×dim 418.9829×dim

3.1 F1收敛曲线

在这里插入图片描述

3.2 F5收敛曲线

在这里插入图片描述

3.3 F8收敛曲线

在这里插入图片描述

四、参考文献

[1] Khishe M, Mosavi M R. Chimp optimization algorithm[J]. Expert Systems with Applications, 2020, 149, 113338.

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值