正弦余弦指引的乌鸦搜索算法

文章目录

  • 正弦余弦指引的乌鸦搜索算法
    • 1.乌鸦搜索算法
    • 2.正弦余弦指引的乌鸦搜索算法
      • 2.1 代际信息交流机制
      • 2.2正弦余弦指引机制
    • 4.实验结果
    • 5.参考文献
    • 6.Matlab代码
    • 7.python代码

摘要:乌鸦搜索算法模拟乌鸦觅食行为对个体位置进行更新与搜索,为降低基本乌鸦搜索位置更新策略本身存在 的盲目性,将正弦余弦作为局部优化算子嵌入到基本算法中,提出了正弦余弦指引的乌鸦搜索算法。该算法通过正 弦余弦操作使每一个乌鸦个体都可以充分吸收自身与最优个体的位置差信息,有效指引乌鸦个体沿最优值方向趋近 最优值,改善算法的收敛效果和寻优精度。

1.乌鸦搜索算法

基础乌鸦搜索算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/108800505

2.正弦余弦指引的乌鸦搜索算法

2.1 代际信息交流机制

针对CSA位置更新策略一存在的盲目性,引入代际 信息交流机制,将原始算法中乌鸦个体iii追随位置随机 产生的乌鸦jjj的位置更新策略改为乌鸦个体iii以第iii只乌鸦的在上一次迭代时的食物藏匿点 MiTM_i^TMiT​为导向的位 置追踪更新策略,即改进后的乌鸦iii位置更新公式如下:
Xi(T+1)={XiT+r1×LiT×(MiT−XiT),r2⩾APa rand position, otherwise \boldsymbol{X}_{i}^{(T+1)}=\left\{\begin{array}{l} \boldsymbol{X}_{i}^{T}+r_{1} \times \boldsymbol{L}_{i}^{T} \times\left(\boldsymbol{M}_{i}^{T}-\boldsymbol{X}_{i}^{T}\right), r_{2} \geqslant A P \\ \text { a rand position, otherwise } \end{array}\right. Xi(T+1)​={XiT​+r1​×LiT​×(MiT​−XiT​),r2​⩾AP a rand position, otherwise ​
对乌鸦搜索算法进行的这种改进调整在一定程度 上避免了 r2≥APr_2 ≥ APr2​≥AP 情况下的乌鸦个体位置更新的盲目 性,使得乌鸦 i 每次向着上一代个体最优位置移动,从 而提高算法收敛速度。

2.2正弦余弦指引机制

CSA 参数少、结构简单,使用时一般将APAPAP和 LiTL^T_iLiT​ 设置为固定值,缺乏动态参数,算法缺乏适应性。经实验本文取 AP=0.1AP = 0.1AP=0.1 、LiT=2L^T_i = 2LiT​=2 ,AP=0.1AP = 0.1AP=0.1 使得算法倾向于 局部搜索,这虽然可以加快收敛速度,但也会使得种群 个体在解的空间内迅速的聚集,从而陷入局部最优。LiT=2L^T_i = 2LiT​=2时,算法倾向于全局搜索,但也使得算法的收敛性降低,导致搜索效率 不高。固定的参数设置使得 CSA 的搜索能力受限,为 进一步优化 CSA算法协调全局的探索与局部开发的能 力,本文引入正弦余弦指引机制,将正弦余弦算法 (Sine Cosine Algorithm,SCA)作为局部优化算子嵌 入乌鸦搜索算法,即在迭代后期对整个乌鸦个体进行正 弦余弦的操作指引乌鸦个体更新到新的乌鸦位置,操作方式为:
Xi(T+1)={XiT+R1×sin⁡(R2)×∣R3×MiT−XiT∣,R4⩽0.5XiT+R1×cos⁡(R2)×∣R3×MiT−XiT∣,R4>0.5\boldsymbol{X}_{i}^{(T+1)}=\left\{\begin{array}{l} \boldsymbol{X}_{i}^{T}+R_{1} \times \sin \left(R_{2}\right) \times\left|R_{3} \times \boldsymbol{M}_{i}^{T}-\boldsymbol{X}_{i}^{T}\right|, R_{4} \leqslant 0.5 \\ \boldsymbol{X}_{i}^{T}+R_{1} \times \cos \left(R_{2}\right) \times\left|R_{3} \times \boldsymbol{M}_{i}^{T}-\boldsymbol{X}_{i}^{T}\right|, R_{4}>0.5 \end{array}\right. Xi(T+1)​=⎩⎨⎧​XiT​+R1​×sin(R2​)×∣∣∣​R3​×MiT​−XiT​∣∣∣​,R4​⩽0.5XiT​+R1​×cos(R2​)×∣∣∣​R3​×MiT​−XiT​∣∣∣​,R4​>0.5​
式中存在四个参数$R_1 、R_2 、R_3 $和 R4R_4R4​ ,R1R_1R1​ 决定下一次 迭代第iii个个体的位置更新方向,不同的 R1R_1R1​ 对解的搜 索范围有着不同的影响,R1=a−T×a/TmaxR_1 = a - T × a/T_{max}R1​=a−T×a/Tmax​ ,随着迭代次 数自适应调整,缩小乌鸦个体的搜索范围,保证了算法 的收敛性,使之最终收敛于一个最优解,aaa为常数,本文中取 a=2a = 2a=2 ;R2R_2R2​ 是属于[0,2π]的随机数,决定下一次迭代 中个体的移动距离;R3R_3R3​ 为随机权重取值范围为[0,2], R3>1R_3 > 1R3​>1 时,MiTM_i^TMiT​ 对下一次迭代中个体位置有较明显的影响,否则无明显影响效果;R4∈[0,1]R_4 ∈ [0,1]R4​∈[0,1]为一个随机数,其 大小决定位置更新方式选择余弦还是正弦操作。

正弦余弦指引机制的引入,一方面可以极大地弥补 CSA算法位置更新策略存在盲目性缺点,这是由于不管 是正弦操作还是余弦操作,乌鸦个体都会与最优个体进 行信息交流,促进信息在种群中快速传播,每一个乌鸦 个体都可以充分吸收自身与最优个体的位置差信息,以 引导一般个体逐步接近最优个体,在这个过程中参数R1R_1R1​ 和R2R_2R2​ ,也可以有效控制个体的搜索方向和距离。另 一方面,正弦余弦指引机制使得乌鸦个体进 一步在同一个空间的不同区域范围内进行全局搜索和 局部寻优,并最终收敛于同一个最优解即目标函数值。 正弦操作保证全局搜索避免错过潜在最优解以减少余 弦开发的寻优盲点,减少个体在局部最优中停滞的可能 性,而余弦操作促进局部开发弥补正弦全局搜索收敛速 度慢的缺陷,提高搜索效率,加快收敛速度。正弦余弦 相互配合,共同促进算法性能的改进。

算法流程图如下:

4.实验结果

5.参考文献

[1]肖子雅,刘升,韩斐斐,于建芳.正弦余弦指引的乌鸦搜索算法研究[J].计算机工程与应用,2019,55(21):52-59.

6.Matlab代码

7.python代码

正弦余弦指引的乌鸦搜索算法-附代码相关推荐

  1. 智能优化算法:闪电搜索算法-附代码

    智能优化算法:闪电搜索算法-附代码 文章目录 智能优化算法:闪电搜索算法-附代码 1.算法原理 1.1 过渡放电体 1.2 空间放电体 1.3 引导放电体 2.算法结果 3.参考文献 4.Matlab ...

  2. 智能优化算法:布谷鸟搜索算法-附代码

    智能优化算法:布谷鸟搜索算法-附代码 文章目录 智能优化算法:布谷鸟搜索算法-附代码 1.算法原理 2.算法结果 3.参考文献 4.Matlab代码 摘要:谷鸟搜索算法(cuckoo search , ...

  3. 智能优化算法:麻雀搜索算法-附代码

    2020智能优化算法:麻雀搜索算法 文章目录 2020智能优化算法:麻雀搜索算法 1.算法原理 2.算法结果 3.参考文献 4.Matlab代码 5.Python代码 摘要:麻雀搜索算法(Sparro ...

  4. 多段扰动共享型乌鸦算法-附代码

    多段扰动共享型乌鸦算法 文章目录 多段扰动共享型乌鸦算法 1.乌鸦搜索算法 2.基于多段扰动的共享型乌鸦算法 2.1 加入共享机制的位置更新方式 2.2 加入扰动策略更新最优藏食位置 4.实验结果 5 ...

  5. 【乌鸦算法】基于正弦余弦指引乌鸦算法求解单目标优化问题含Matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  6. 混合策略改进的麻雀搜索算法-附代码

    混合策略改进的麻雀搜索算法 文章目录 混合策略改进的麻雀搜索算法 1.麻雀优化算法 2. 改进麻雀算法 2.1 Circle 混沌初始化策略 2.2 蝴蝶优化策略 2.3 逐维变异策略 3.实验结果 ...

  7. 融合多策略的改进麻雀搜索算法-附代码

    融合多策略的改进麻雀搜索算法 文章目录 融合多策略的改进麻雀搜索算法 1.麻雀优化算法 2. 改进麻雀算法 2.1 正弦搜索策略 2.2 多样性变异处理 3.实验结果 4.参考文献 5.Matlab代 ...

  8. 基于正交对立学习的改进麻雀搜索算法-附代码

    基于正交对立学习的改进麻雀搜索算法 文章目录 基于正交对立学习的改进麻雀搜索算法 1.麻雀优化算法 2. 改进麻雀算法 2.1 正态变异扰动 2.2 对立学习 2.3 正交对立学习 3.实验结果 4. ...

  9. 基于 Sobol 序列和纵横交叉策略的麻雀搜索算法-附代码

    基于 Sobol 序列和纵横交叉策略的麻雀搜索算法 文章目录 基于 Sobol 序列和纵横交叉策略的麻雀搜索算法 1.麻雀优化算法 2. 改进麻雀算法 2.1 基于 Sobol 序列初始化种群位置 2 ...

最新文章

  1. php.ini权限,php开启与关闭错误提示适用于没有修改php.ini的权限_PHP
  2. win10 uwp 毛玻璃
  3. PAT_B_1027_Java(20分)
  4. java商城_基于Java,jfinal web框架开发出微信商城,微信分销商城源码分享
  5. vue页面锚文本_Vue如何实现锚点定位功能?
  6. 京东物流研发岗位会背景调查吗_【秋招资讯】京东健康于港交所主板上市 | 京东健康2021校园招聘火热进行中!...
  7. 中国 IT 行业平均工资再次碾压金融业,意味着什么?
  8. oracle查询小时差,ORACLE小时段 Connect By的查询,感觉还是有点难度的。
  9. C语言文件读写操作中缓冲区问题和setbuf函数详解
  10. Lucene系列:番外篇-DocValues
  11. 网络摄像机—什么是GOP
  12. ansible生成巡检报告
  13. PyQt:桌面程序设计的饕餮盛宴
  14. OpenCV快速傅里叶变换(FFT)用于图像和视讯流的模糊检测
  15. 淘宝sdk,淘宝api接口
  16. Web前端教程学习笔记1.2-2022.10.17始
  17. MsgQ机制,实现H5游戏的模块彻底分离
  18. opencv摄像头 vmware虚拟机无法打开摄像头的解决方法
  19. sift是图像匹配的非常经典的算法
  20. 《C语言动漫教程(中级)》

热门文章

  1. 什么是ISO镜像文件,为什么不能拷贝到U盘直接重新安装?
  2. 机器人运动控制-水下机器人
  3. Origin 2017 调整默认字体的方法
  4. vue移动端的真机测试
  5. python爬虫:找房助手V1.0-爬取58同城租房信息
  6. 干货 | 七年留美经验,帮你省钱自助游美国
  7. 22年上半年网络工程师考前知识集锦
  8. SpringBoot的幕后推手,分布式架构演进+相关笔记参考
  9. 计算机上如何使用文件管理器,苹果iphone iFiles文件管理器使用图文教程
  10. 怎么从安卓设备转移数据到苹果_如何将数据从安卓设备转移到iPhone12