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

一、理论基础

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

实验结果表明: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.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心️升明月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值