位置: IT常识 - 正文

智能优化算法:白鲸优化算法-附代码(智能优化算法及其MATLAB实例)

编辑:rootadmin
智能优化算法:白鲸优化算法-附代码 智能优化算法:白鲸优化算法

推荐整理分享智能优化算法:白鲸优化算法-附代码(智能优化算法及其MATLAB实例),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:智能优化算法及其应用,智能优化算法的优缺点,智能优化算法及其应用心得体会,智能优化算法有哪些,智能优化算法有哪些,智能优化算法及其应用心得体会,智能优化算法及其应用心得体会,智能优化算法有哪些,内容如对您有帮助,希望把文章链接给更多的朋友!

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

1.白鲸优化算法

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

智能优化算法:白鲸优化算法-附代码(智能优化算法及其MATLAB实例)

BWO算法可以从探索逐渐转换到开发,这取决于平衡因子  Bf\mathrm{~B}_{\mathrm{f}} Bf​ ,其定义为: Bf=B(1−T/(2 Tmax⁡))\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​ 是最大迭代次数, B\mathrm{B}_0B0​ 在每次迭代中在 (,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​ 的波动范围从 (,1)(0,1)(0,1) 减小到 (,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​ 是 (,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​ 是 (,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​ 是 (,1)(0,1)(0,1) 之间的随机数, Xstep\mathrm{X}_{\mathrm{step}}Xstep​ 是鲸鱼坠落的步长,定义为: Xstep =(ub−lb)exp⁡(−C2 T/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=2 Wf×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.05 T/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代码
本文链接地址:https://www.jiuchutong.com/zhishi/300360.html 转载请保留说明!

上一篇:使用Node.js手撸一个建静态Web服务器,内部CV指南(node-js)

下一篇:前端工程师都在用的 VSCode 常用插件(前端工程师在大学学什么专业)

  • 网易云赠送的会员同一个人只能送一次吗(网易云赠送的会员不领会退吗)

    网易云赠送的会员同一个人只能送一次吗(网易云赠送的会员不领会退吗)

  • 幻灯片模板设置怎么设置(幻灯片模板设置会影响幻灯片母版的内容)

    幻灯片模板设置怎么设置(幻灯片模板设置会影响幻灯片母版的内容)

  • 如何开通小黄车卖货呢(如何开通小黄车卖货)

    如何开通小黄车卖货呢(如何开通小黄车卖货)

  • 微信群如何发指定红包(微信群如何发指定人消息)

    微信群如何发指定红包(微信群如何发指定人消息)

  • 苹果xr有时候会出现屏幕按不动(苹果xr有时候会自动重启)

    苹果xr有时候会出现屏幕按不动(苹果xr有时候会自动重启)

  • 微信登录微博会被好友知道吗(微信登录微博会被发现吗)

    微信登录微博会被好友知道吗(微信登录微博会被发现吗)

  • qq已实名未绑卡限额(qq已实名未绑卡收款限额需要绑定银行卡,多久可以恢复)

    qq已实名未绑卡限额(qq已实名未绑卡收款限额需要绑定银行卡,多久可以恢复)

  • 子账号是什么意思(子账号是什么意思银行)

    子账号是什么意思(子账号是什么意思银行)

  • ae预览视频为啥不能播放全部(为什么ae突然预览播放不了)

    ae预览视频为啥不能播放全部(为什么ae突然预览播放不了)

  • 快手如果把对方拉黑,对方能看我作品吗(快手如果把对方拉黑,还能私信对方吗)

    快手如果把对方拉黑,对方能看我作品吗(快手如果把对方拉黑,还能私信对方吗)

  • mp2j2ch/a是ipad几(mp2j2zp/a是ipad几)

    mp2j2ch/a是ipad几(mp2j2zp/a是ipad几)

  • 开放源代码许可是什么意思(开放源代码许可要打开吗)

    开放源代码许可是什么意思(开放源代码许可要打开吗)

  • 电话尚未登录什么意思(电话尚未登录怎么解决)

    电话尚未登录什么意思(电话尚未登录怎么解决)

  • qq群视频支持多少人(qq群视频支持多少人在线)

    qq群视频支持多少人(qq群视频支持多少人在线)

  • 水晶头分5类和6类吗(水晶头有分5类和6类吗)

    水晶头分5类和6类吗(水晶头有分5类和6类吗)

  • 360路由器用户名是什么(360路由器用户名密码错误)

    360路由器用户名是什么(360路由器用户名密码错误)

  • 苹果volte是什么意思(iphone的volte有什么用)

    苹果volte是什么意思(iphone的volte有什么用)

  • 爱奇艺登录失效是被踢了吗(爱奇艺登录失效是什么意思)

    爱奇艺登录失效是被踢了吗(爱奇艺登录失效是什么意思)

  • qq潜水是什么意思(qq潜水表情)

    qq潜水是什么意思(qq潜水表情)

  • 小米6是oled屏幕吗(小米6oled屏幕质保)

    小米6是oled屏幕吗(小米6oled屏幕质保)

  • sso是什么(Dilusso是什么)

    sso是什么(Dilusso是什么)

  • 微信冒泡功能怎么使用(微信冒泡功能怎么用怎么删除气泡)

    微信冒泡功能怎么使用(微信冒泡功能怎么用怎么删除气泡)

  • 苹果xsmax怎么看是不是翻新机(苹果xsmax怎么看内存多少)

    苹果xsmax怎么看是不是翻新机(苹果xsmax怎么看内存多少)

  • 在香港拨打内地手机怎么打(在香港拨打内地座机)

    在香港拨打内地手机怎么打(在香港拨打内地座机)

  • 台式电脑死机(台式电脑死机画面卡住不动)

    台式电脑死机(台式电脑死机画面卡住不动)

  • dumpe2fs命令  打印快组信息(/f命令)

    dumpe2fs命令 打印快组信息(/f命令)

  • 城建税多少会减免
  • 油库存油租赁
  • 减少注册资金的理由有哪些
  • 上个月没有清卡,这个月可以抄税吗
  • 重分类八个对应科目有哪些
  • 劳务派遣公司如果倒闭了怎么办
  • 农产品普通发票抵扣政策
  • 同一个人可以在两个地方交社保吗
  • 缴纳所得税费用的会计分录
  • 抵扣认证发票时间
  • 研发投入大
  • 个体工商户生产经营所得税率
  • 公司开业前期费用处理
  • 转让土地使用权一般计税方法
  • 资本金利润率多少
  • 应付职工薪酬社保
  • 转让股权怎么写简单
  • 坏账准备的计提是什么意思
  • 员工个人所得税申报方式选哪个
  • 购买的装修样品怎么入账
  • 商品进销差价如何结平
  • 幼儿园收的餐费必须与食谱做平账怎么调账
  • 跨年度残保金退税怎么算
  • 同一控制亏损企业怎么算
  • 固定资产转入清理记账凭证
  • 监理费的付款比例
  • 银行手续费扣除比例
  • 对外投资收益要交税吗
  • 美团佣金收费标准结构图
  • 默认网关不可用频繁掉线
  • win10 ltsc版
  • 饭店开业请客说什么
  • PHP:session_register()的用法_Session函数
  • php写木马
  • 解决的英文
  • 150m迷你型无线路由器怎么用
  • 购买支票费用计入
  • php判断是手机端还是端口
  • php获取指定数量的数据
  • [九]深度学习Pytorch-transforms图像增强(剪裁、翻转、旋转)
  • phpcms官网打不开
  • 实收资本大于注册资本是什么意思
  • 固定资产融资租赁是什么意思
  • windows PostgreSQL 9.1 安装详细步骤
  • 小微企业直接考察模式
  • 增值税无票收入负数预警值
  • 什么是指社会保障完全靠当前的收入
  • 收到退还的增值税
  • 纳税人具有怎样的特征?
  • 公司购买理财产品收益会计分录
  • 财务预付账款情况说明
  • 个人的钱转到公司账上
  • 增值税是不是不用计提
  • 营业税差额征税范围
  • 装修费应该按几折算
  • 包工包料怎么开13个点发票
  • 摊余成本通俗
  • 企业必须设立的账薄
  • win10预览版绿屏重启解决
  • 如何快速恢复么
  • 中国有多少台百万机组
  • 电脑图片打印不出来怎么办
  • 番茄花园论坛
  • win8怎么添加wifi
  • linux ps-l
  • win7屏幕调节不见了
  • python模拟登录爬取数据
  • perl中qw
  • shell脚本-p
  • jquery动画效果代码
  • android中启动service的方法有
  • javascript组成
  • 张孝祥西江月
  • android 基类
  • 国家税务局网站发票验真伪
  • 广东省税务局电子发票怎么下载
  • 云南省国家税务局网上办税服务厅
  • 国家税务局河北省税务局
  • 委托贷款的手续费
  • 2019小规模纳税人标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设