智能优化算法:天牛须搜索算法
往期内容:
智能优化算法(一):海鸥算法原理及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)∥2rands(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.2 空间放电体 1.3 引导放电体 2.算法结果 3.参考文献 4.Matlab ...
- 智能优化算法:爬行动物搜索算法-附代码
智能优化算法:爬行动物搜索算法 文章目录 智能优化算法:爬行动物搜索算法 1.算法原理 1.1 初始化 1.2 包围阶段(探索) 1.3 狩猎阶段(开发) 2.实验结果 3.参考文献 4.Matlab ...
- 智能优化算法:布谷鸟搜索算法-附代码
智能优化算法:布谷鸟搜索算法-附代码 文章目录 智能优化算法:布谷鸟搜索算法-附代码 1.算法原理 2.算法结果 3.参考文献 4.Matlab代码 摘要:谷鸟搜索算法(cuckoo search , ...
- 智能优化算法:麻雀搜索算法-附代码
2020智能优化算法:麻雀搜索算法 文章目录 2020智能优化算法:麻雀搜索算法 1.算法原理 2.算法结果 3.参考文献 4.Matlab代码 5.Python代码 摘要:麻雀搜索算法(Sparro ...
- 萤火虫算法_40多种智能优化算法原理和代码分享
40多种智能优化算法原理和代码分享 <智能优化算法讲解>PDF下载地址: <智能优化算法原理讲解>PDFmianbaoduo.com 包括: 1.海鸥算法SOA 智能优化算法 ...
- 天牛须搜索算法优化神经网络_matlab代码
BAS原理 天牛须搜索算法(beetle antennae search,BAS)算法是2017年提出的一种 基于天牛觅食原理的适用于多目标函数优化的新技术,其生物原理为:当天牛觅食时,其并不知道食物 ...
- 智能优化算法应用:基于麻雀搜索算法的工程优化案例
智能优化算法应用:基于麻雀搜索算法的工程优化案例 文章目录 智能优化算法应用:基于麻雀搜索算法的工程优化案例 1.麻雀搜索算法 2.压力容器设计问题 3.三杆桁架设计问题 4.拉压弹簧设计问题 4.M ...
- 系统优化方法与智能优化算法
系统优化方法与智能优化算法 系统优化方法在各种工程系统.经济系统,乃至社会系统中得到了广泛的应用.最优化理论的研究也一直是一个十分活跃的领域,出版了许多最优化理论.方法和应用的著作和译作. 梯度为基础 ...
- 麻雀优化算法_多种智能优化算法应用案例分享-附代码
1.智能优化算法应用:基于灰狼算法的Otsu图像多阈值分割 智能优化算法应用:基于灰狼算法的Otsu图像多阈值分割-附代码_Jack旭的博客-CSDN博客blog.csdn.net 2.智能优化算法 ...
最新文章
- 第 5 章 Nova - 025 - OpenStack 通用设计思路
- 宏基因组序列物种分类之kraken 1/2和Bracken的使用
- python父类和子类_python子类父类
- linux桌面天气,Ubuntu桌面美化:添加Gmail +天气预报插件[图文]
- android 状态栏和标题栏,Android隐藏状态栏和标题栏,相当于全屏效果
- 写在那个毕业五年的日子
- SSH中为什么action需要用多例而dao层和service层为什么就用单例就可以
- 顺丰物流单号查询效果(可输入多个文本框)
- 重读博弈论(四)-重要的基本概念的理解:风险爱好、风险中性、风险厌恶(风险避规)...
- Matlab之三维曲面的绘制
- openmv探索_5_openmv读取的数据输出到外界
- 将React Native集成至Android原生应用
- 腾讯云数据迁移工具解决方案:阿里云迁移到腾讯云
- 【玩转嵌入式屏幕显示】(六)ST7789 SPI LCD硬件垂直滚动功能的使用
- Win10 IPv6 远程桌面连接(小米路由器)
- AcWing1402. 星空之夜
- 计算机毕业设计SpringBoot选题推荐——疫情防控志愿者管理系统
- windows不支持scp指令解决方案
- 004.前端面试排雷之唱、跳、rap三步曲(一)唱篇
- TortoiseSVN安装失败——Please install the universal CRT first