智能优化算法:白鲸优化算法-附代码
智能优化算法:白鲸优化算法
摘要:白鲸优化算法([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,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
其中, 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,pjT 和 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=r3Xbest T−r4XiT+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=r5XiT−r6XrT+r7Xstep
其中, 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代码
智能优化算法:白鲸优化算法-附代码相关推荐
- 【智能优化算法-白鲸优化算法】基于白鲸优化算法求解单目标优化问题附matlab代码
1 内容介绍 白鲸优化算法(Beluga whale optimization,BWO)由Changting Zhong等人于2022年提出,该算法模拟了白鲸游泳,觅食和"鲸鱼坠落" ...
- Python-实战:基于白鲸BWO算法的VMD超参数优化
目录 1.白鲸优化算法 2.BWO优化VMD参数 3.实战 3.1 原始时间序列数据 3.2 VMD分解--直接设置参数 3.3 采用BWO优化VMD 4.代码 在博客的基础上,本文利用白鲸优化算法对 ...
- 【智能优化算法-白鲸算法】基于白鲸优化算法求解多目标优化问题附matlab代码
1 内容介绍 在本文中,一种新的基于群体的元启发式算法灵感来自白鲸的行为鲸鱼,称为白鲸优化(BWO),是为了解决优化问题而提出的.三在 BWO 中建立了探索.开发和鲸落的阶段,对应于成对游泳.猎物和鲸 ...
- 单目标应用:白鲸优化算法(Beluga whale optimization,BWO)优化双向长短时记忆BiLSTM的权值和阈值(提供MATLAB代码)
一.算法简介 白鲸优化算法(Beluga whale optimization,BWO)由Changting Zhong等人于2022年提出,该算法模拟了白鲸游泳,觅食和"鲸鱼坠落" ...
- 白鲸优化(BWO)算法(含MATLAB代码)
先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论. 原文在这里:点一下 白鲸优化(BWO)算法: 白鲸优化(Belug ...
- 基于白鲸优化算法的函数寻优算法
文章目录 一.理论基础 1.白鲸优化算法 (1)探索阶段 (2)开发阶段 (3)鲸落 2.BWO算法流程图 二.仿真实验与结果分析 三.参考文献 一.理论基础 1.白鲸优化算法 文献[1]从白鲸的行为 ...
- 白鲸优化算法(Beluga whale optimization,BWO)Python实现
白鲸优化算法Python实现 Python实现BWO Python实现BWO import numpy as np import math from copy import deepcopy impo ...
- 白鲸优化算法(Beluga whale optimization,BWO)
白鲸优化算法(Beluga whale optimization,BWO) 一.算法灵感 二.算法介绍 2.1 初始化 2.2 探索阶段 2.3 开发阶段 2.4 鲸落阶段 2.5 算法伪代码 三.实 ...
- 白鲸优化算法学习笔记
白鲸优化算法学习笔记 1. 引言 白鲸优化算法(Whale Optimization Algorithm,简称WOA)是一种基于自然界中的白鲸行为而发展起来的启发式优化算法.该算法模拟了白鲸群体的寻食 ...
最新文章
- 使用Pycharm给Python程序传递参数
- c#中byte数组0x_c# byte数组各种操作
- 文档管理服务器文件的脱机编辑选项无法编辑,让MOSS2007文档的存取更具个性
- 数据科学中一些不常用但很有用的Python库
- 企业为什么要开通银企直联_为什么要开通小红书企业号?——山东同乐电商培训基地...
- Leecode07. 整数反转——Leecode大厂热题100道系列
- 企业日志分析ELK(Logstash+Elasticsearch+Kibana)介绍及搭建
- 华为平板电脑_华为对标微软推平板电脑 能否打造软件生态?
- 弹窗设计UI素材模板|带你了解下弹窗特性
- Resnet-18-训练实验-warm up操作
- [网页设计]Ajax、Comet与Websocket--转
- python3 unicodedecodeerror_Python3 UnicodeDecodeError
- JavaScript基础专题之执行上下文和执行栈(二)
- 防火墙结构之双重宿主主机结构
- 实话实说,现在的结婚,真就是走个形式!
- win2008R2 AD域 网络驱动映射
- 移动端名片识别SDK
- 性能优化系列(五)网络性能优化
- 74、单元测试-前置条件
- 关于input:-webkit-autofill样式问题
热门文章
- byte[]数组转String中文乱码
- linux a卡怎么切换n卡,手把手教您win10系统a卡切换独显的具体办法
- C语言规定 程序中各函数之间_,C语言规定,程序中各函数之间________。 答案:既允许直接递归调用也允许间接递归调用...
- C# 串口接收的优化处理
- 驱动开发:挂接SSDT内核钩子
- 苹果cms详细安装方法
- Dreamweaver 8 时间轴及创建时间轴动画(转)
- 广义相对论 的 一个问题
- Bluetooth 蓝牙介绍(四):低功耗蓝牙BLE Mesh网络Ⅲ —— 广播 PDU
- 收集广州周边徒步线路