智能优化算法:白鲸优化算法

摘要:白鲸优化算法([Beluga whale optimization,BWO)是由是由 Changting Zhong 等于2022 年提出的一种群体智能优化算法。其灵感来源于白鲸的群体觅食行为。

1.白鲸优化算法

BWO建立了探索、开发和鲸鱼坠落的三个阶段,分别对应于成对游泳、捕食和鲸落的行为。BWO中的平衡因子和鲸落概率是自适应的,对控制探索和开发能力起着重要作用。此外,还引入了莱维飞行来增强开发阶段的全局收敛性。

BWO算法可以从探索逐渐转换到开发,这取决于平衡因子 Bf\mathrm{~B}_{\mathrm{f}} Bf​ ,其定义为:
Bf=B0(1−T/(2Tmax⁡))\mathrm{B}_{\mathrm{f}}=\mathrm{B}_0\left(1-\mathrm{T} /\left(2 \mathrm{~T}_{\max }\right)\right) Bf​=B0​(1−T/(2 Tmax​))
其中, T\mathrm{T}T 是当前迭代次, Tmax⁡\mathrm{T}_{\max }Tmax​ 是最大迭代次数, B0\mathrm{B}_0B0​ 在每次迭代中在 (0,1)(0,1)(0,1) 之间随机变化。探索阶段发生在平衡因子 Bf>0.5\mathrm{B}_{\mathrm{f}}>0.5Bf​>0.5 时,而开发 阶段发生在 Bf≤0.5\mathrm{B}_{\mathrm{f}} \leq 0.5Bf​≤0.5 。随着迭代次数 T\mathrm{T}T 的增加, Bf\mathrm{B}_{\mathrm{f}}Bf​ 的波动范围从 (0,1)(0,1)(0,1) 减小到 (0,0.5)(0,0.5)(0,0.5) ,说明开发和探索阶段的概率发生了显著变化,而 开发阶段的概率随着迭代次数 T\mathrm{T}T 的不断增加而增加。

1.1 探索阶段

BWO的探索阶段是白鲸的游泳行为建立的。搜索代理的位置由白鲸的配对游泳决定,白鲸的位置更新如下:
{Xi,jT+1=Xi,pjT+(Xr,p1T−Xi,pjT)(1+r1)sin⁡(2πr2),j=even Xi,jT+1=Xi,pjT+(Xr,p1T−Xi,pjT)(1+r1)cos⁡(2πr2),j=odd\begin{cases}\mathrm{X}_{\mathrm{i}, \mathrm{j}}^{\mathrm{T+1}}=\mathrm{X}_{\mathrm{i}, \mathrm{p}_{\mathrm{j}}}^{\mathrm{T}}+\left(\mathrm{X}_{\mathrm{r}, \mathrm{p}_1}^{\mathrm{T}}-\mathrm{X}_{\mathrm{i}, \mathrm{p}_{\mathrm{j}}}^{\mathrm{T}}\right)\left(1+\mathrm{r}_1\right) \sin \left(2 \pi \mathrm{r}_2\right), \mathrm{j}=\text { even } \\ \mathrm{X}_{\mathrm{i}, \mathrm{j}}^{\mathrm{T}+1}=\mathrm{X}_{\mathrm{i}, \mathrm{p}_{\mathrm{j}}}^{\mathrm{T}}+\left(\mathrm{X}_{\mathrm{r}, \mathrm{p}_1}^{\mathrm{T}}-\mathrm{X}_{\mathrm{i}, \mathrm{p}_{\mathrm{j}}}^{\mathrm{T}}\right)\left(1+\mathrm{r}_1\right) \cos \left(2 \pi \mathrm{r}_2\right), \quad \mathrm{j}=\mathrm{odd}\end{cases} ⎩⎨⎧​Xi,jT+1​=Xi,pj​T​+(Xr,p1​T​−Xi,pj​T​)(1+r1​)sin(2πr2​),j= even Xi,jT+1​=Xi,pj​T​+(Xr,p1​T​−Xi,pj​T​)(1+r1​)cos(2πr2​),j=odd​
其中, T\mathrm{T}T 是当前迭代次数, Xi,jT+1\mathrm{X}_{\mathrm{i}, \mathrm{j}}^{\mathrm{T+1}}Xi,jT+1​ 是第i只白鲸在第jjj维上的新位置, pj(j=1,2,⋯,d)\mathrm{p}_{\mathrm{j}}(\mathrm{j}=1,2, \cdots, \mathrm{d})pj​(j=1,2,⋯,d) 是从 d\mathrm{d}d 维中选择的随机整数, Xi,pjT\mathrm{X}_{\mathrm{i}, \mathrm{p} \mathrm{j}}^{\mathrm{T}}Xi,pjT​ 是第i条白鲸 在 pj\mathrm{p}_{\mathrm{j}}pj​ 维度上的位置, Xi,pjT\mathrm{X}_{\mathrm{i}, \mathrm{p}_{\mathrm{j}}}^{\mathrm{T}}Xi,pj​T​ 和 Xr,p1T\mathrm{X}_{\mathrm{r}, \mathrm{p} 1}^{\mathrm{T}}Xr,p1T​ 分别是第1条和第 r\mathrm{r}r 条白鲸的当前位置 (r\left(\mathrm{r}\right.(r 是随机选择的白鲸),随机数 r1r_1r1​ 和 r2r_2r2​ 用于增强探索阶段的随机算子 ,r1\mathrm{r}_1r1​ 和 r2\mathrm{r}_2r2​ 是 (0,1)(0,1)(0,1) 的随机数, sin⁡(2πr2)\sin \left(2 \pi \mathrm{r}_2\right)sin(2πr2​) 和 sin⁡(2πr2)\sin \left(2 \pi \mathrm{r}_2\right)sin(2πr2​) 表示镜像白鲸的鲌朝向水面。根据奇偶数选择的维数,更新后的位置反映了白鲸在游泳或跳水时的同步或镜像行为。

1.2 开发阶段

BWO的开发阶段受到白鲸捕食行为的启发。白鲸可以根据附近白鲸的位置合作觅食和移动。因此,白鲸通过共享彼此的位置信息来捕 食,同时考虑最佳候选者和其他候选者。在BWO的开发阶段引入了莱维飞行策略,以增强收敛性。假设它们可以使用莱维飞行策略捕捉 猎物,数学模型表示为:
XiT+1=r3Xbest T−r4XiT+C1⋅LF⋅(XrT−XiT)\mathrm{X}_{\mathrm{i}}^{\mathrm{T}+1}=\mathrm{r}_3 \mathrm{X}_{\text {best }}^{\mathrm{T}}-\mathrm{r}_4 \mathrm{X}_{\mathrm{i}}^{\mathrm{T}}+\mathrm{C}_1 \cdot \mathrm{L}_{\mathrm{F}} \cdot\left(\mathrm{X}_{\mathrm{r}}^{\mathrm{T}}-\mathrm{X}_{\mathrm{i}}^{\mathrm{T}}\right) XiT+1​=r3​Xbest T​−r4​XiT​+C1​⋅LF​⋅(XrT​−XiT​)
其中, T\mathrm{T}T 是当前迭代次数, XiT\mathrm{X}_{\mathrm{i}}^{\mathrm{T}}XiT​ 和 XrT\mathrm{X}_{\mathrm{r}}^{\mathrm{T}}XrT​ 分别是第 i\mathrm{i}i 条白鲸和随机白鲸的当前位置, XiT+1\mathrm{X}_{\mathrm{i}}^{\mathrm{T}+1}XiT+1​ 是第 i\mathrm{i}i 条白鲸的新位置, XbestT\mathrm{X}_{\mathrm{best}}^{\mathrm{T}}XbestT​ 是白鲸种群中的最佳位置, r3\mathrm{r}_3r3​ 和 r4\mathrm{r}_4r4​ 是 (0,1)(0,1)(0,1) 之间的随机数, C1=2r4(1−T/Tmax⁡)\mathrm{C}_1=2 \mathrm{r}_4\left(1-\mathrm{T} / \mathrm{T}_{\max }\right)C1​=2r4​(1−T/Tmax​) 是衡量莱维飞行强度的随机跳跃强度。 LF\mathrm{L}_{\mathrm{F}}LF​ 是莱维飞行函数,计算如下:
LF=0.05×u×σ∣v∣1/βσ=(Γ(1+β)×sin⁡(πβ/2)Γ((1+β)/2)×β×2(β−1)/2)1/β\begin{gathered} \mathrm{L}_{\mathrm{F}}=0.05 \times \frac{\mathrm{u} \times \sigma}{|\mathrm{v}|^{1 / \beta}} \\ \sigma=\left(\frac{\Gamma(1+\beta) \times \sin (\pi \beta / 2)}{\Gamma((1+\beta) / 2) \times \beta \times 2^{(\beta-1) / 2}}\right)^{1 / \beta} \end{gathered} LF​=0.05×∣v∣1/βu×σ​σ=(Γ((1+β)/2)×β×2(β−1)/2Γ(1+β)×sin(πβ/2)​)1/β​
其中, uuu 和 vvv 为正态分布随机数, β\betaβ 为默认常数,等于1.5。

1.3 鲸鱼坠落

为了在每次迭代中模拟鲸鱼坠落的行为,从种群中的个体中选择鲸鱼坠落概率作为主观假设,以模拟群体中的小变化。假设这些白鲸要 么移到别处,要么被击落并坠入深海。为了确保种群大小的数量恒定,使用白鲸的位置和鲸鱼落体的步长来建立更新的位置。数学模型表 示为:
XiT+1=r5XiT−r6XrT+r7Xstep \mathrm{X}_{\mathrm{i}}^{\mathrm{T}+1}=\mathrm{r}_5 \mathrm{X}_{\mathrm{i}}^{\mathrm{T}}-\mathrm{r}_6 \mathrm{X}_{\mathrm{r}}^{\mathrm{T}}+\mathrm{r}_7 \mathrm{X}_{\text {step }} XiT+1​=r5​XiT​−r6​XrT​+r7​Xstep ​
其中, r5、r6\mathrm{r}_5 、 \mathrm{r}_6r5​、r6​ 和 r7\mathrm{r}_7r7​ 是 (0,1)(0,1)(0,1) 之间的随机数, Xstep\mathrm{X}_{\mathrm{step}}Xstep​ 是鲸鱼坠落的步长,定义为:
Xstep =(ub−lb)exp⁡(−C2T/Tmax⁡)\mathrm{X}_{\text {step }}=\left(\mathrm{u}_{\mathrm{b}}-\mathrm{l}_{\mathrm{b}}\right) \exp \left(-\mathrm{C}_2 \mathrm{~T} / \mathrm{T}_{\max }\right) Xstep ​=(ub​−lb​)exp(−C2​ T/Tmax​)
其中, C2\mathrm{C}_2C2​ 是与鲸鱼下降概率和种群规模相关的阶跃因子 (C2=2Wf×n)\left(\mathrm{C}_2=2 \mathrm{~W}_{\mathrm{f}} \times \mathrm{n}\right)(C2​=2 Wf​×n) , ub\mathrm{u}_{\mathrm{b}}ub​ 和 lb\mathrm{l}_{\mathrm{b}}lb​ 分别是变量的上下限。可以看出,步长受问题变量边 界、当前迭代次数和最大迭代次数的影响。
在该模型中,鲸鱼坠落概率 (Wf)\left(\mathrm{W}_{\mathrm{f}}\right)(Wf​) 作为线性函数计算:
Wf=0.1−0.05T/Tmax⁡\mathrm{W}_{\mathrm{f}}=0.1-0.05 \mathrm{~T} / \mathrm{T}_{\max } Wf​=0.1−0.05 T/Tmax​
鲸鱼队落的概率从初始迭代的0.1降低到最后一次迭代的 0.050.050.05 ,表明在优化过程中,当白鲸更接近食物源时,白鲸的危险性降低。

3.实验结果

4.参考文献

[1] Changting Zhong, Gang Li, Zeng Meng. Beluga whale optimization: A novel nature-inspired metaheuristic algorithm[J]. Knowledge-Based Systems, 2022, 251: 109215.

5.Matlab代码

6.python代码

智能优化算法:白鲸优化算法-附代码相关推荐

  1. 【智能优化算法-白鲸优化算法】基于白鲸优化算法求解单目标优化问题附matlab代码

    1 内容介绍 白鲸优化算法(Beluga whale optimization,BWO)由Changting Zhong等人于2022年提出,该算法模拟了白鲸游泳,觅食和"鲸鱼坠落" ...

  2. Python-实战:基于白鲸BWO算法的VMD超参数优化

    目录 1.白鲸优化算法 2.BWO优化VMD参数 3.实战 3.1 原始时间序列数据 3.2 VMD分解--直接设置参数 3.3 采用BWO优化VMD 4.代码 在博客的基础上,本文利用白鲸优化算法对 ...

  3. 【智能优化算法-白鲸算法】基于白鲸优化算法求解多目标优化问题附matlab代码

    1 内容介绍 在本文中,一种新的基于群体的元启发式算法灵感来自白鲸的行为鲸鱼,称为白鲸优化(BWO),是为了解决优化问题而提出的.三在 BWO 中建立了探索.开发和鲸落的阶段,对应于成对游泳.猎物和鲸 ...

  4. 单目标应用:白鲸优化算法(Beluga whale optimization,BWO)优化双向长短时记忆BiLSTM的权值和阈值(提供MATLAB代码)

    一.算法简介 白鲸优化算法(Beluga whale optimization,BWO)由Changting Zhong等人于2022年提出,该算法模拟了白鲸游泳,觅食和"鲸鱼坠落" ...

  5. 白鲸优化(BWO)算法(含MATLAB代码)

    先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论. 原文在这里:点一下 白鲸优化(BWO)算法: 白鲸优化(Belug ...

  6. 基于白鲸优化算法的函数寻优算法

    文章目录 一.理论基础 1.白鲸优化算法 (1)探索阶段 (2)开发阶段 (3)鲸落 2.BWO算法流程图 二.仿真实验与结果分析 三.参考文献 一.理论基础 1.白鲸优化算法 文献[1]从白鲸的行为 ...

  7. 白鲸优化算法(Beluga whale optimization,BWO)Python实现

    白鲸优化算法Python实现 Python实现BWO Python实现BWO import numpy as np import math from copy import deepcopy impo ...

  8. 白鲸优化算法(Beluga whale optimization,BWO)

    白鲸优化算法(Beluga whale optimization,BWO) 一.算法灵感 二.算法介绍 2.1 初始化 2.2 探索阶段 2.3 开发阶段 2.4 鲸落阶段 2.5 算法伪代码 三.实 ...

  9. 白鲸优化算法学习笔记

    白鲸优化算法学习笔记 1. 引言 白鲸优化算法(Whale Optimization Algorithm,简称WOA)是一种基于自然界中的白鲸行为而发展起来的启发式优化算法.该算法模拟了白鲸群体的寻食 ...

最新文章

  1. 使用Pycharm给Python程序传递参数
  2. c#中byte数组0x_c# byte数组各种操作
  3. 文档管理服务器文件的脱机编辑选项无法编辑,让MOSS2007文档的存取更具个性
  4. 数据科学中一些不常用但很有用的Python库
  5. 企业为什么要开通银企直联_为什么要开通小红书企业号?——山东同乐电商培训基地...
  6. Leecode07. 整数反转——Leecode大厂热题100道系列
  7. 企业日志分析ELK(Logstash+Elasticsearch+Kibana)介绍及搭建
  8. 华为平板电脑_华为对标微软推平板电脑 能否打造软件生态?
  9. 弹窗设计UI素材模板|带你了解下弹窗特性
  10. Resnet-18-训练实验-warm up操作
  11. [网页设计]Ajax、Comet与Websocket--转
  12. python3 unicodedecodeerror_Python3 UnicodeDecodeError
  13. JavaScript基础专题之执行上下文和执行栈(二)
  14. 防火墙结构之双重宿主主机结构
  15. 实话实说,现在的结婚,真就是走个形式!
  16. win2008R2 AD域 网络驱动映射
  17. 移动端名片识别SDK
  18. 性能优化系列(五)网络性能优化
  19. 74、单元测试-前置条件
  20. 关于input:-webkit-autofill样式问题

热门文章

  1. byte[]数组转String中文乱码
  2. linux a卡怎么切换n卡,手把手教您win10系统a卡切换独显的具体办法
  3. C语言规定 程序中各函数之间_,C语言规定,程序中各函数之间________。 答案:既允许直接递归调用也允许间接递归调用...
  4. C# 串口接收的优化处理
  5. 驱动开发:挂接SSDT内核钩子
  6. 苹果cms详细安装方法
  7. Dreamweaver 8 时间轴及创建时间轴动画(转)
  8. 广义相对论 的 一个问题
  9. Bluetooth 蓝牙介绍(四):低功耗蓝牙BLE Mesh网络Ⅲ —— 广播 PDU
  10. 收集广州周边徒步线路