智能优化算法:蜜獾算法
文章目录
- 智能优化算法:蜜獾算法
- 1.算法原理
- 1.1 种群初始化
- 1.2 强度(I)的定义
- 1.3 密度因子更新
- 1.4 跳出局部最优
- 1.5更新个体位置
- 1.5.1 挖掘阶段
- 1.5.2 采蜜阶段
- 2.实验结果
- 3.参考文献
- 4.Matlab代码
摘要:蜜獾算法(Honey Badger Algorithm,HBA)是于2021年提出的一种新型智能优化算法,该算法主要通过模拟蜜獾智能觅食行为来进行寻优,具有寻优能力强,收敛速度快等特点。
1.算法原理
1.1 种群初始化
与其他优化算法一样,种群初始化在设定的边界范围内随机初始化,具体如表达式(1)所示:
其中,和为搜索的下边界和上边界。为[0,1]之间的随机数。为种群里面的第个个体。
1.2 强度(I)的定义
强度的定义如式(2)所示。强度和猎物的集中力以及和蜜獾之间的距离有关。是猎物的气味强度;如果气味高,则运动速度快,反之亦然。
其中,是源强度或集中强度;表示猎物与当前蜜獾个体的距离。
1.3 密度因子更新
密度因子控制时变随机化,以确保从勘探到开采的平稳过渡。如式(3)所示:
其中,为最大迭代次数;(默认为2)。
1.4 跳出局部最优
这一步和接下来的两步用于跳出局部最优区域。在这种情况下,所提出的算法使用了一个改变搜索方向的标志F FF,以利用大量机会让搜索个体严格扫描搜索空间。
1.5更新个体位置
如前所述,HBA位置更新过程()分为两个部分,即“挖掘阶段”和“采蜜阶段”。
1.5.1 挖掘阶段
在挖掘阶段,蜜獾执行类似于心脏线形状的动作。心形运动可通过式(4)进行模拟:
其中,为全局最优位置;代表蜜獾获取食物的能力;为猎物与当前蜜獾个体的距离见式(2);是[0,1]之间的三个不同的随机数;F为改变搜索方向的标志,具体见表达式(5)
1.5.2 采蜜阶段
蜂蜜獾跟随蜂蜜向导獾到达蜂巢的情况可模拟为式(6):
其中,为更新后的蜜獾个体位置;为猎物位置;和分别由式(5)和式(3)确定;为(0,1)之间的随机数。从式(6)可以观察到,根据距离信息,蜜獾在猎物位置附近进行搜索。在这一阶段,搜索受到随迭代变化的搜索行为的影响。此外,一只蜜獾可能会受到干扰。
算法伪代码如下:
Algorithm 1 Pseudo code of HBA.
Set parameters t max , N,β,C.
Initialize population with random positions.
Evaluate the fitness of each honey badger position x i using objective function and assign to f i , i ∈ [1,2,..., N].
Save best position x prey and assign fitness to f prey .
while t ≤ t max do
Update the decreasing factor α using (3).
for i = 1 to N do
Calculate the intensity I i using Eq. (2).
if r < 0.5 then ▷ r is random number between 0 and 1
Update the position x new using Eq. (4).
else
Update the position x new using Eq. (6).
end if
Evaluate new position and assign to f new .
if f new ≤ f i then
Set x i = x new and f i = f new .
end if
if f new ≤ f prey then
Set x prey = x new and f prey = f new .
end if
end for
end while Stop criteria satisfied.
Return x prey
2.实验结果
3.参考文献
[1] Fatma A. Hashim, Essam H. Houssein, Kashif Hussain, Mai S. Mabrouk, Walid Al-Atabany. Honey Badger Algorithm: New metaheuristic algorithm for solving optimization problems[J]. Mathematics and Computers in Simulation, 2021: 84-110.
4.Matlab代码