融合自适应惯性权重和柯西变异的秃鹰搜索算法(CBES) - 附代码

news/2025/1/8 20:50:18/

融合自适应惯性权重和柯西变异的秃鹰搜索算法(CBES)

文章目录

  • 融合自适应惯性权重和柯西变异的秃鹰搜索算法(CBES)
    • 1.秃鹰优化算法
    • 2.改进秃鹰优化算法
      • 2.1 Tent 映射
      • 2.2 自适应惯性权重
      • 2.3 柯西变异
    • 3.实验结果
    • 4.参考文献
    • 5.Matlab代码
    • 6.python代码

摘要:针对基本秃鹰搜索算法存在收敛速度慢、易陷入局部最优的缺点,提出了一种融合自适应惯性权重和柯西变异的秃鹰搜索算法(CBES).首先使用Tent混沌映射初始化种群,保留了种群的多样性;其次,引入自适应惯性权重,加快算法的收敛速度,增强算法的局部开发能力;最后将柯西变异算子整合到当前全局最优位置进行变异更新,提高算法陷入局部最优的能力.

1.秃鹰优化算法

基础秃鹰优化算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/113775430

2.改进秃鹰优化算法

2.1 Tent 映射

文章使用 Tent 映射来初始化种群, Tent 映射的表达式 如下所示:
x i + 1 = { 2 x i , 0 ≤ x ≤ 1 2 2 ( 1 − x i ) , 1 2 ≤ x ≤ 1 (17) x_{i+1}=\left\{\begin{array}{rc} 2 x_i, & 0 \leq x \leq \frac{1}{2} \\ 2\left(1-x_i\right), & \frac{1}{2} \leq x \leq 1 \end{array}\right.\tag{17} xi+1={2xi,2(1xi),0x2121x1(17)
即经过贝努利移位变换后表达式如下:
x i + 1 = ( 2 x i ) m o d 1 (18) x_{i+1}=\left(2 x_i\right) \bmod 1 \tag{18} xi+1=(2xi)mod1(18)
Tent 混沌映射初始化种群产生序列的具体步骤如下:
Step1: 在区间 ( 0 , 1 ) (0,1) (0,1) 内随机产生初始值 x 0 x_0 x0, 记作 i = i= i= 0 ;

Step2: 根据式 (17) 进行迭代运算产生一个新的 x x x 序 列, 且 i = i + 1 i=i+1 i=i+1;

Step3: 当 i i i 达到最大迭代次数时, 则停止迭代, 且将 迭代产生的 x x x 序列保存下来。

2.2 自适应惯性权重

本文提出了新的自适应权重 的方法, 自适应惯性权重公式如下:
w = sin ⁡ ( π + t 2 t max ⁡ × π ) + ( w max ⁡ + w min ⁡ ) 2 (19) w=\sin \left(\pi+\frac{t}{2 t_{\max }} \times \pi\right)+\frac{\left(w_{\max }+w_{\min }\right)}{2} \tag{19} w=sin(π+2tmaxt×π)+2(wmax+wmin)(19)
其中, t t t 表示当前迭代数; t max  t_{\text {max }} tmax  是设置的种群最大 迭代次数; w max  w_{\text {max }} wmax  是初始惯性权重, 在文中取值为 0.92 ; ; w min  w_{\text {min }} wmin  是秃鹰种群最大迭代次数时的惯性权重, 在文中取 值为 0.4 。将惯性权重因子引入秃鹰搜索优化算法中, 在探 索阶段, 秃鹰的位置更新的表达式如下:
P i , new  = w × P i + x ( i ) × ( w × P i − P mean  ) + y ( i ) × ( w × P i − P i + 1 ) (20) \begin{aligned} & \boldsymbol{P}_{i, \text { new }}=\boldsymbol{w} \times \boldsymbol{P}_{\boldsymbol{i}}+\boldsymbol{x}(\boldsymbol{i}) \times\left(\boldsymbol{w} \times \boldsymbol{P}_{\boldsymbol{i}}-\boldsymbol{P}_{\text {mean }}\right)+\boldsymbol{y}(\boldsymbol{i}) \times(\boldsymbol{w} \times \\ & \left.\boldsymbol{P}_{\boldsymbol{i}}-\boldsymbol{P}_{i+1}\right) \end{aligned} \tag{20} Pi, new =w×Pi+x(i)×(w×PiPmean )+y(i)×(w×PiPi+1)(20)

2.3 柯西变异

针对秃鹰算法易陷入局部极值的缺点, 本文在原有的算 法中融入柯西变异算子, 改善算法的全局搜索能力, 扩大搜 索空间。柯西分布是一种在概率论中常见的连续型概率分布, 柯西分布在原点处的概率密度较大, 两端处的密度较小; 两 端的形状又长又扁。正因此特点可以通过融入柯西变异对秃 鹰个体产生较大的扰动, 使得算法更容易跳出局部最优值 [ 2 ] ] { }^{[2]]} [2]] 。 标准的柯西分布概率密度函数公式如下:
f ( x ) = 1 π × 1 ( x 2 + 1 ) , − ∞ < x < + ∞ (21) f(x)=\frac{1}{\pi} \times \frac{1}{\left(x^2+1\right)},-\infty<x<+\infty \tag{21} f(x)=π1×(x2+1)1,<x<+(21)
柯西分布从峰值下降至两侧时相对平缓, 且峰值相对较 小, 在变异后秃鹰种群会在搜索相邻空间时使用较少的时间, 将主要精力花费在寻找全局最优值上。使用式 (22) 对搜索空 间猎物阶段获得的全局最优值进行变异处理:
P new  , best  = P best  + P best  × Cauchy ⁡ ( 0 , 1 ) (22) P_{\text {new }, \text { best }}=P_{\text {best }}+P_{\text {best }} \times \operatorname{Cauchy}(\mathbf{0}, \mathbf{1})\tag{22} Pnew , best =Pbest +Pbest ×Cauchy(0,1)(22)
CBES 算法具 体实现流程如下所示:

Step1:设置并初始化算法参数, 其中包含种群的规模 N \mathrm{N} N, 最大迭代次数 t max  t_{\text {max }} tmax , 目标函数的维度以及初始值的边界 条件。

Step2: 使用 2.1 节中的 Tent 混沌映射对种群进行初始 化, 按照适应度函数求出每只秃鹰的适应度值, 对所有秃鹰 的适应度值排序, 找出当前种群的全局最优位置。

Step3:在秃鹰选择搜索阶段, 按照公式 (1) 进行位置 跟新。

Step4: 在秃鹰搜索空间猎物阶段, 按照公式 (20) 进 行位置更新。

Step5: 在俯冲阶段, 按照公式 (22) 对上一个步骤得 到的全局最优解进行柯西变异处理, 再将得到的结果按照公 式(16)进行秃鹰的位置更新。

Step6: 更新秃鹰种群的最优个体位置与适应度值, 更 新算法的迭代次数。判断算法是否满足设置的最大迭代次数 或者精度要求, 若满足, 则终止算法, 输出适应度最优值及 最优解; 若没有, 则返回 Step3 进行循环。

3.实验结果

在这里插入图片描述

4.参考文献

[1]丁容,高建瓴,张倩.融合自适应惯性权重和柯西变异的秃鹰搜索算法[J].小型微型计算机系统,2023,44(05):910-915.DOI:10.20009/j.cnki.21-1106/TP.2021-0748.

5.Matlab代码

6.python代码


http://www.ppmy.cn/news/907559.html

相关文章

天玑920相当于骁龙什么 天玑920相当于骁龙多少 天玑920怎么样

天玑920的CPU部分采用两颗2.5Ghz Cortex A78大核心六颗2.0Ghz的Cortex A55小核心&#xff0c;常见的双丛集式设计。GPU部分则是采用了G68 MC4的设计。G68核心架构大家可能比较陌生&#xff0c;G68实际上就是G78的低配版&#xff0c;架构、特性完全沿袭Mali-G78&#xff0c;唯一…

PBlaze5 920系列特性——在线固件升级

在线固件升级的市场需求 传统需要冷重启服务器才能升级固件的操作&#xff0c;需要用户停止业务&#xff0c;umount文件系统&#xff0c;冷重启完成SSD固件升级&#xff0c;然后mount文件系统&#xff0c;重新启动业务系统的各个模块。对用户来说&#xff0c;操作复杂&#xf…

PS VR2头显有望将与PC兼容,并实现破解6DOF跟踪功能

Sony在今年早些时候推出了专门为PlayStation 5打造的高级虚拟现实头显PS VR2&#xff0c;这款头显赢得了行业的赞誉&#xff0c;为用户提供了独特的体验。 然而&#xff0c;由于其高达599美元&#xff08;约合4283元人民币&#xff09;的售价&#xff08;相比于售价为399美元的…

小白学懂分频器(二)

分频&#xff1a;简单来说&#xff0c;二分频后的方波一个周期为标准方波高低电平循环两个周期&#xff0c;四分频为4个周期。分频后的时钟周期为原来的n倍&#xff0c;即为n分频。   频率和周期的关系&#xff1a;f1/T &#xff08;1&#xff09;简单的计数器 计数器实质是…

发布【水晶五笔】安卓版

用了很多手机上的五笔输入法后&#xff0c;发现还是不大习惯&#xff0c;因此将之前写在Windows上的【水晶五笔】移植到了安卓上。不收集或上传用户数据&#xff01; 因其它平台个人开发者没办法发布APP&#xff0c;只上了谷歌Play。感兴趣的朋友&#xff0c;或是对安卓五笔输…

MATLAB下的自适应滤波器算法实现

“MATLAB下的自适应滤波器算法实现&#xff1a;对具有正交校正因子的 APAOCF 仿射投影算法、DCTLMS 离散余弦变换最小均方、DFTLMS 离散傅里叶变换最小均方、DHTLMS 离散哈特利变换最小均方与eAPA电子仿射投影算法的详细分析与代码演示” 在数字信号处理中&#xff0c;自适应滤…

软测面试1--概念方向

目录 1.什么是软件测试? 2.软件测试的目的/怎么做好软件测试? 3.软件测试的方法有哪些 4.编写测试用例的方法有哪些 5.什么是黑盒测试?白盒测试 6.黑盒测试的优点?白盒测试的优点?缺点? 7.你发现了一个bug,但是开发不认为是一个bug,怎么办 8.软件测试分为几个阶段…