白鲸算法

​ 白鲸算法(BWO)是一种新的元启发式算法,是一种基于群体的算法,其灵感来自于白鲸的行为,包括游泳,猎物和鲸落。在BWO的数学模型中构建了勘探,开发和鲸落阶段,并在开发阶段利用Levy飞行函数来提高BWO的收敛能力。

勘探阶段

​ 由于BWO基于种群的机制,将白鲸作为搜索代理,每条白鲸都是一个候选解,在优化过程中不断个更新。搜索代理位置的矩阵建模为:

n代表白鲸种群大小,d是变量的维度。对于所有的白鲸,它们的适应度如下:

​ BWO算法可以根据平衡因子B
f
从勘探过渡到开采,其建模为:

T代表当前迭代次数,T
max
是最大迭代次数,而B
0
是每一代(0,1)的随机数。当B
f
>0.5时,白鲸进入勘探阶段,否则白鲸进入开发阶段。随着迭代次数的增加,B
f
的波动幅度逐渐显著,从(0,1)到(0,0.5)。

​ BWO的勘探阶段是从白鲸游泳行为获得的灵感。白鲸可以在不同的姿势下进行社会性行为,如两只白鲸以同步或镜像的方式紧密地游在一起。因此,搜索代理的位置由白鲸的配对游动决定,白鲸的位置更新如下:

X
i,j
(T+1)
是第 i 个白鲸在第 j 维度的新位置,p
j
是d维度的一个随机数,X
i,Pj
T
是第i个白鲸在 pj 维度上的位置,X
i,Pj
T
和 X
r,P1
T
是第i个和第r个白鲸的当前位置,r 是随机选择的一个白鲸,r1 和 r2 分别是(0,1)的两个随机数,sin(2πr
2
)和cos(2πr
2
)表示镜像白鲸的鳍朝向水面。

开发阶段

​ 开发阶段是模范白鲸捕猎行为,白鲸可以根据附近白鲸的位置合作觅食和移动。因此,白鲸可以根据彼此共享的信息进行捕猎,Levy飞行函数可以提高BWO的收敛性,建模如下:

X
best
T
是白鲸当前最好最好的位置,C1 = 2r
4
(1 - T /T
max
)是随机跳跃强度,测试Levy飞行函数的强度,L
F
是Levy飞行函数,计算公式如下:

u和v是正态分布的随机数,beta是一个默认的常数1.5。

鲸落阶段

​ 一鲸落,万物生。为了在每一代中模仿鲸落,随机在种群中选择一个个体进行鲸落行为。这个数学模型为:

8

X
step
是鲸落的步长,建模为:

9

C
2
是步长系数,与鲸落的概率和种群大小有关,C
2
=2W
f
* n,u
b
和 l
b
分别是上下边界变量。

W
f
= 0.1 - 0.05T / T
max
当鲸落的概率从最初迭代的0.1下降到最后迭代的0.05,说明在优化过程中,当白鲸离食物源越近,白鲸的危险就越小。

BWO流程

10

  1. 初始化:初始化种群大小和最大迭代书
  2. 更新勘探和开发阶段:当B
    f
    > 0.5 时,白鲸进入勘探阶段,反之,白鲸进入开发阶段,然后计算白鲸的新的位置适应度值并且进行排序找到优化结果。
  3. 更新鲸落阶段:根据W
    f
    的值来选择个体
  4. 终止条件:达到最大迭代数

BWO和WOA的区别

  1. WOA的捕猎行为是模仿座头鲸螺旋运动,而BWO是模仿白鲸,没有螺旋运动的情况下,根据自己的位置,食物解和其他白鲸更新位置。
  2. WOA没有鲸落阶段,BWO有鲸落阶段避免局部最优。
  3. WOA没有Levy飞行函数机制,而在BWO中引入了Levy飞行函数。

BWO的伪代码如下,完整代码可联系我(免费):

标签: none

添加新评论