往期内容:

智能优化算法(一):海鸥算法原理及Matlab代码
智能优化算法(二):海鸥算法之改进篇
智能优化算法(三):基于量子的鸽群优化算法
智能优化算法(四):基于Powell优化的鸽群优化算法

智能优化算法:天牛须搜索算法

  • 一、前言
  • 二、算法简介
  • 三、算法原理
    • 3.1 算法模型
    • 3.2 算法流程
  • 总结

一、前言

天牛须算法 (Beetle Antennae search algorithm, BAS) 是由Jiang等于2017年提出的一种智能优化算法,与其他仿生类算法不同,天牛须算法是一种单体搜索算法,具有原理简单、参数少、计算量少等优点,在处理低维优化目标时具有非常大的优势,例如:时间复杂度低、搜索能力较强,用李佳琪的话就是:“Oh,My God!用它,用它,用它”。
       原文链接:https://download.csdn.net/download/qq_38643813/13150658不要积分,免费下载!

二、算法简介


       天牛须搜索算法模仿自然界中天牛觅食行为。在天牛觅食过程中,食物会产生特殊气味,吸引天牛向着食物前进。天牛通过其两只触角对空气中的食物气味进行感知,且根据食物距离两只触角的距离远近不同,两只触角所感知的气味浓度也有所差异。当食物处于天牛左侧时,左侧触角感知的气味浓度强于右侧触角感知的气味浓度,天牛根据两只触角所感知的浓度差,向着浓度强的一侧随机前进。通过一次次迭代,最终找到食物的位置。

三、算法原理

3.1 算法模型

BAS算法主要是通过在不停的左右触角气味浓度比对中前进,同其他算法相比,原理十分简单。
       在进行两只触角气味浓度计算之前,需要对其进行一系列准备工作,在DDD维空间中天牛的位置为X=(x1,x2,...,xn)X=(x_1,x_2,... ,x_n)X=(x1​,x2​,...,xn​),天牛左右两只触角的位置被定义为如下公式所示模型:
{Xr=X+l∗d⃗Xl=X−l∗d⃗\left\{ \begin{array}{l} {X_r} = X + l * \vec d\\ {X_l} = X - l * \vec d \end{array} \right.{Xr​=X+l∗dXl​=X−l∗d​上式中,lll表示天牛质心与触须的距离;d⃗\vec dd表示随即单位向量,需对其进行归一化操作:d⃗=rands(D,1)∥rands(D,1)∥2\vec d = \frac{{rands(D,1)}}{{{{\left\| {rands(D,1)} \right\|}_2}}}d=∥rands(D,1)∥2​rands(D,1)​根据左右两根触角感知的气味浓度差进行对比,判断天牛下一步的位置:Xt+1=Xt+δt∗d⃗∗sign[f(Xr)−f(Xl)]{X_{t + 1}} = {X_t} + {\delta _t} * \vec d * sign\left[ {f\left( {{X_r}} \right) - f\left( {{X_l}} \right)} \right]Xt+1​=Xt​+δt​∗d∗sign[f(Xr​)−f(Xl​)]式中,ttt表示当前的迭代次数;f(.)f(.)f(.)表示适应度函数;δt\delta _tδt​表示第ttt次迭代时的探索步长,sign(.)sign(.)sign(.)函数为符号函数,各个变量的具体定义为:δt+1=δt∗eta{\delta _{t + 1}} = {\delta _t} * etaδt+1​=δt​∗eta

       到这里,天牛须算法的原理基本就介绍完毕了,是不是非常简单?需要注意的是,在处理不同的优化目标时公式3的+++不是固定的,根据优化的目标为最大值或者最小值,适当对其进行改变。

3.2 算法流程

输入:种群数量、解空间维度、最大迭代次数、初始步长;
输出:极值点g_best;
Step1:初始化步长衰减因子、狩猎空间,位置信息X
Step2:根据公式(2)进行归一化处理;
Step3:根据公式(1)确定天牛的左须与右须位置;
Step4:根据公式(3)更新天牛的位置
Step5 :计算天牛位置的适应度函数值并存储,更新步长;
Step6 :判断是否达到迭代终止条件,若是则输出全局最优解,否则跳转至Step2

总结

到目前为止,天牛须算法的应用已经比较广泛了。目前,在路径规划、图像处理、PID参数整定、组合优化、任务分配等方面已经开始被使用。
       但是,BAS算法也存在一些缺点,收敛速度慢、在处理多维复杂问题时,往往会出现搜索失败的情况!换句话说,在多维问题(4维以上),BAS算法不具备良好的优化能力!
       那是否就不能将BAS算法用于多维复杂问题的处理呢?当然可以!下一期,我们来详细谈一下,如何对BAS算法进行改进,解决其在多维复杂问题处理时表现出的缺陷。

Matlab代码链接:https://mianbaoduo.com/o/bread/YZWUkppr

原创不易,请各位看官支持一下点个赞吧!拜谢

智能优化算法:天牛须搜索算法相关推荐

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

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

  2. 智能优化算法:爬行动物搜索算法-附代码

    智能优化算法:爬行动物搜索算法 文章目录 智能优化算法:爬行动物搜索算法 1.算法原理 1.1 初始化 1.2 包围阶段(探索) 1.3 狩猎阶段(开发) 2.实验结果 3.参考文献 4.Matlab ...

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

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

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

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

  5. 萤火虫算法_40多种智能优化算法原理和代码分享

    40多种智能优化算法原理和代码分享 <智能优化算法讲解>PDF下载地址: <智能优化算法原理讲解>PDF​mianbaoduo.com 包括: 1.海鸥算法SOA 智能优化算法 ...

  6. 天牛须搜索算法优化神经网络_matlab代码

    BAS原理 天牛须搜索算法(beetle antennae search,BAS)算法是2017年提出的一种 基于天牛觅食原理的适用于多目标函数优化的新技术,其生物原理为:当天牛觅食时,其并不知道食物 ...

  7. 智能优化算法应用:基于麻雀搜索算法的工程优化案例

    智能优化算法应用:基于麻雀搜索算法的工程优化案例 文章目录 智能优化算法应用:基于麻雀搜索算法的工程优化案例 1.麻雀搜索算法 2.压力容器设计问题 3.三杆桁架设计问题 4.拉压弹簧设计问题 4.M ...

  8. 系统优化方法与智能优化算法

    系统优化方法与智能优化算法 系统优化方法在各种工程系统.经济系统,乃至社会系统中得到了广泛的应用.最优化理论的研究也一直是一个十分活跃的领域,出版了许多最优化理论.方法和应用的著作和译作. 梯度为基础 ...

  9. 麻雀优化算法_多种智能优化算法应用案例分享-附代码

    1.智能优化算法应用:基于灰狼算法的Otsu图像多阈值分割 智能优化算法应用:基于灰狼算法的Otsu图像多阈值分割-附代码_Jack旭的博客-CSDN博客​blog.csdn.net 2.智能优化算法 ...

最新文章

  1. 第 5 章 Nova - 025 - OpenStack 通用设计思路
  2. 宏基因组序列物种分类之kraken 1/2和Bracken的使用
  3. python父类和子类_python子类父类
  4. linux桌面天气,Ubuntu桌面美化:添加Gmail +天气预报插件[图文]
  5. android 状态栏和标题栏,Android隐藏状态栏和标题栏,相当于全屏效果
  6. 写在那个毕业五年的日子
  7. SSH中为什么action需要用多例而dao层和service层为什么就用单例就可以
  8. 顺丰物流单号查询效果(可输入多个文本框)
  9. 重读博弈论(四)-重要的基本概念的理解:风险爱好、风险中性、风险厌恶(风险避规)...
  10. Matlab之三维曲面的绘制
  11. openmv探索_5_openmv读取的数据输出到外界
  12. 将React Native集成至Android原生应用
  13. 腾讯云数据迁移工具解决方案:阿里云迁移到腾讯云
  14. 【玩转嵌入式屏幕显示】(六)ST7789 SPI LCD硬件垂直滚动功能的使用
  15. Win10 IPv6 远程桌面连接(小米路由器)
  16. AcWing1402. 星空之夜
  17. 计算机毕业设计SpringBoot选题推荐——疫情防控志愿者管理系统
  18. windows不支持scp指令解决方案
  19. 004.前端面试排雷之唱、跳、rap三步曲(一)唱篇
  20. TortoiseSVN安装失败——Please install the universal CRT first

热门文章

  1. c语言格式字符使用举例,c语言char怎么用
  2. 辨别三星内存条的真假
  3. idea自动识别spring框架配置文件,自动提示spring配置
  4. 研磨设计模式 之 组合模式(Composite) 2——跟着cc学设计系列
  5. 《摸鱼篇》---关于撩妹那点破事
  6. 一玩就上瘾 网易推出《第五人格》画风怪诞新奇
  7. AppStore 关于账号授权
  8. Jstat -gc 参数说明
  9. Selenium爬取网页
  10. 诺唯赞、澳华内镜登陆科创板;博腾生物与恺佧生物就mRNA技术达成合作 | 医药健闻...