当前位置:   article > 正文

基于鸡群优化算法的函数寻优算法

鸡群优化算法

一、理论基础

1、鸡群优化算法

文献[1]提出了一种新的生物优化算法——鸡群优化算法(Chicken Swarm Optimization, CSO)。CSO模拟了鸡群的等级秩序和鸡群(包括公鸡、母鸡和小鸡)的行为,可以有效地提取鸡的群体智能来优化问题。
适应度值较优的公鸡比适应度值较差的公鸡优先获得食物。为简单起见,可以用适应度值较优的公鸡比适应度值较差的公鸡在更大范围内寻找食物的情况来模拟这种情况。这可以表述如下: x i , j t + 1 = x i , j t ∗ ( 1 + R a n d n ( 0 , σ 2 ) ) (1) x_{i,j}^{t+1}=x_{i,j}^t*(1+Randn(0,\sigma^2))\tag{1} xi,jt+1=xi,jt(1+Randn(0,σ2))(1) σ 2 = { 1 , i f    f i ≤ f k exp ⁡ ( f k − f i ∣ f i ∣ + ε ) , o t h e r w i s e ,    k ∈ [ 1 , N ] , k ≠ i (2) \sigma^2=

\begin{dcases}1,\quad\quad\quad\quad\quad\quad if\,\,f_i\leq f_k\\[2ex]\exp(\frac{f_k-f_i}{|f_i|+\varepsilon}),\quad otherwise\end{dcases}
,\,\,k\in[1,N],k\neq i\tag{2} σ2= 1,iffifkexp(fi+εfkfi),otherwise,k[1,N],k=i(2)其中, R a n d n ( 0 , σ 2 ) Randn(0,\sigma^2) Randn(0,σ2)是均值为0、标准差为 σ \sigma σ的高斯分布; ε \varepsilon ε用于避免零除误差,是计算机中的最小常数; k k k是从公鸡组中随机选择的公鸡索引; f f f是相应 x x x的适应度值。
至于母鸡,它们可以跟随同组的公鸡寻找食物。此外,它们还会随机偷吃其他鸡发现的好食物,尽管它们会被其他鸡压制。更强势的母鸡在争夺食物时比更顺从的母鸡更有优势。这些现象可以用数学方法表述如下: x i , j t + 1 = x i , j t + S 1 ∗ R a n d ∗ ( x r 1 , j t − x i , j t ) + S 2 ∗ R a n d ∗ ( x r 2 , j t − x i , j t ) (3) x_{i,j}^{t+1}=x_{i,j}^t+S1*Rand*(x_{r1,j}^t-x_{i,j}^t)+S2*Rand*(x_{r2,j}^t-x_{i,j}^t)\tag{3} xi,jt+1=xi,jt+S1Rand(xr1,jtxi,jt)+S2Rand(xr2,jtxi,jt)(3) S 1 = exp ⁡ ( ( f i − f r 1 ) / ( a b s ( f i ) + ε ) ) (4) S1=\exp((f_i-f_{r1})/(abs(f_i)+\varepsilon))\tag{4} S1=exp((fifr1)/(abs(fi)+ε))(4) S 2 = exp ⁡ ( f r 2 − f i ) (5) S2=\exp(f_{r2}-f_i)\tag{5} S2=exp(fr2fi)(5)其中, R a n d Rand Rand是服从均匀分布的 [ 0 , 1 ] [0,1] [0,1]间的随机数; r 1 ∈ [ 1 , ⋯   , N ] r1\in[1,\cdots,N] r1[1,,N]是公鸡的索引,它是第 i i i只母鸡的伙伴,而 r 2 ∈ [ 1 , ⋯   , N ] r2\in[1,\cdots,N] r2[1,,N]是鸡(公鸡或母鸡)的索引,从群体中随机选择。
小鸡在母亲周围四处觅食,数学表达式如下: x i , j t + 1 = x i , j t + F L ∗ ( x m , j t − x i , j t ) (6) x_{i,j}^{t+1}=x_{i,j}^t+FL*(x_{m,j}^t-x_{i,j}^t)\tag{6} xi,jt+1=xi,jt+FL(xm,jtxi,jt)(6)其中, x m , j t x_{m,j}^t xm,jt表示第 i i i只小鸡母亲的位置( m ∈ [ 1 , N ] m\in[1,N] m[1,N]); F L FL FL( F L ∈ ( 0 , 2 ) FL\in(0,2) FL(0,2))是一个参数,这意味着小鸡会跟随母亲觅食。考虑到个体差异,每只小鸡的 F L FL FL将在0和2之间随机选择。

2、CSO算法伪代码

CSO算法的伪代码如图1所示。
在这里插入图片描述

图1 CSO算法伪代码

二、仿真实验与结果分析

对CSO算法单独实验,以常用23个测试函数中的F1、F4(单峰函数/20维)、F8、F9(多峰函数/20维)、F17、F23(固定维度多峰函数/2维、4维)为例,实验设置种群规模为30,最大迭代次数为1000,每种算法独立运算30次,结果显示如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

函数:F1
CSO:best: 7.0619e-79,worst:7.0136e-64,mean:2.4872e-65,std:1.2803e-64
函数:F4
CSO:best: 2.1513e-13,worst:23.9429,mean:0.81001,std:4.3692
函数:F8
CSO:best: -6142.6163,worst:-4294.8362,mean:-5219.1037,std:475.6907
函数:F9
CSO:best: 0,worst:13.271,mean:0.44237,std:2.4229
函数:F17
CSO:best: 0.39789,worst:0.39811,mean:0.3979,std:4.9836e-05
函数:F23
CSO:best: -10.5351,worst:-2.4125,mean:-8.1619,std:3.2238
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

实验结果表明:CSO算法在优化精度和鲁棒性方面取得了不错的效果。

三、参考文献

[1] MENG X B, LIU Y, GAO X Z, et al. A new bio-inspired algorithm: chicken swarm optimization[J]. Lecture Notes in Computer Science, 2014, 8794: 86-94.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/249209
推荐阅读
相关标签
  

闽ICP备14008679号