Lazy loaded image
天牛须算法
字数 687阅读时长≈ 2 分钟
2026-10-12
2026-10-12

一、介绍

天牛须算法(Beetle Antennae search algorithm, BAS)是由 Jiang 等人于2017年提出的一种智能优化算法,该算法模拟了天牛寻食物时的搜索方式,是一种单体搜索算法,该算法原理简单、参数少、计算量少,在处理低维优化目标时具有优势。
天牛在觅食过程中,会被食物的气味吸引。天牛通过其两只触角对空气中的食物气味进行感知,由于食物距离两只触角的距离远近不同,因此触角所感知的气味浓度也有所差异。当食物处于天牛左侧时,左侧触角感知的气味浓度强于右侧触角感知的气味浓度,因此天牛可以根据两只触角所感知的浓度差,向着浓度强的一侧随机前进。多次迭代后最终找到食物的位置。

二、原理

介绍算法前可以先设定一些概念:
在 n 维空间中天牛的位置为:
天牛左右两只触角的位置:
其中 表示天牛质心与触须的距离, 表示随机单位向量,需要对单位向量进行归一化操作:
由于两只触角获得两个位置的目标函数信息,因此需要对两个位置择优前进:
其中 表示迭代次数, 函数为目标函数, 表示第 次探索时的步长, 为符号函数。通常在每次迭代过程中步长需要不断变小,因此可以将其设置为:
其中 表示每次迭代步长缩短的速度,通常设定为 0.95 。

三、参考代码

此代码为最大值模板,若要改为最小值,需要改变下面的代码:
上一篇
微分方程
下一篇
多元函数微分学

评论
Loading...