群体智能优化算法之鲸鱼优化算法

启发式优化算法——鲸鱼算法 ​ 在我的首篇文章中已介绍了启发式优化算法的相关内容及其在模式识别领域中的应用。本文以使用优化算法优化多机器学习分类器在某二分类模式识别任务时决策级融合(加权投票)的权重为例,介绍鲸鱼算法的原理及实现过程。 阅读详情

转载自我的个人网站 https://wzw21.cn/2022/01/08/woa/

鲸鱼优化算法

鲸鱼群体

鲸鱼是世界上最大的哺乳动物,是有情感的高智商动物,大部分鲸鱼被认为是食肉动物且群居。座头鲸是最大的长须鲸之一,它们使用一种独特的捕猎方式来猎食虾群和鱼群,被称为泡泡网(Bubble-net)捕猎方式,如图4、图5所示。它们在捕食时以螺旋式逼近猎物,吐出气体形成气泡,迫使鱼群聚集以方便捕食。鲸鱼优化算法便是受启发于鲸鱼(特别是座头鲸)的捕猎方式。
在这里插入图片描述

图4:“泡泡网”捕猎示意图,引用自论文《The whale optimization algorithm》

在这里插入图片描述

图5:座头鲸捕猎场景

模型与算法

鲸鱼优化算法与灰狼优化算法相似,都采用对目标位置先进行包围再捕食的策略。不同点在于鲸鱼优化算法直接将当前最优解作为包围中心,且鲸鱼优化算法的捕猎逼近过程分为两种,第一种逐步降低距离,另一种以螺旋形逼近。鲸鱼优化算法的基本位置更新方式与灰狼优化算法相同,见灰狼优化算法公式(1)至(4)。

鲸鱼优化算法基于一个随机数p∈[0,1]来决定当前搜索单元的行动,有50%的概率直接根据目标位置进行移动,有50%的概率以螺旋线逼近猎物。鲸鱼在捕猎时的行为被定义为:
X ⃗ ( t + 1 ) = { X ⃗ ∗ ( t ) − A ⃗ ⋅ D ⃗ D ′ ⃗ ⋅ e b l ⋅ c o s ( 2 π l ) + X ⃗ ∗ ( t ) p < 0.5 p ≥ 0.5 (1) \vec{X}(t+1)= \left\{ \begin{array}{l} \vec{X}^*(t)-\vec{A}\cdot\vec{D} \\ \vec{D'}\cdot e^{bl}\cdot cos(2πl)+\vec{X}^*(t) \end{array} \begin{array}{r} p<0.5 \\ p≥0.5 \end{array} \right. \tag1 X (t+1)={X (t)A D D eblcos(2πl)+X (t)p<0.5p0.5(1)
其中, X ⃗ ∗ ( t ) \vec{X}^*(t) X (t)可能是当前最优解的位置也可能是一个随机搜索单元的位置,取决于 ∣ A ⃗ ∣ |\vec{A}| A 的值,b决定螺旋线形状,l为随机值∈[-1,1], D ′ ⃗ = ∣ X ⃗ ∗ ( t ) − X ⃗ ( t ) ∣ \vec{D'}=|\vec{X}^*(t)-\vec{X}(t)| D =X (t)X (t)。鲸鱼优化算法搜索机制示意图如图6所示。
在这里插入图片描述

图6:鲸鱼优化算法搜素机制,(a)缩小包围机制(b)螺旋更新位置,引用自论文《The whale optimization algorithm》

鲸鱼优化算法的伪代码如下:

初始化鲸鱼种群 Xi (i=1,2,…,n)
计算每个搜索单元的适应度
X*=最优搜索单元
while (t<最大迭代次数)
  for (每个搜索单元)
    更新a, A, C, l, p
    if1 (p<0.5)
      if2 (|A|<1)
        根据最优个体更新当前搜索单元的位置
      else if2 (|A|≥1)
        随机选择一个搜索单元Xrand
        根据Xrand更新当前搜索单元的位置
      end if2
    else if1 (p≥0.5)
      根据最优个体螺旋更新当前搜索单元的位置
    end if1
  end for
  检查是否有超出搜索范围的搜索单元,并进行修正
  计算所有搜索单元的适应度
  更新X*
  t=t+1
end while
return X*
鲸鱼优化算法(Whale Optimization Algorithm) 图中红色的点代表鲸鱼在优化过程中的位置,而绿色的星号标记了算法找到的最佳解决方案,位于中心附近,这表明函数的最小值点在 (0, 0)。通过将 C 设置为随机值的两倍,算法在解的位置更新中引入了足够的随机性,同时保留了对当前最佳解的一定程度的吸引。– 系数 A 的作用: 如果 A 的值大于 1,这意味着鲸鱼可能不直接向当前最好的食物源移动,而是可能选择另一个方向,去探索海洋中的其他区域。– 探索能力:使用 2⋅r 的设置能够让解有更大的机会探索离当前最佳解较远的区域,从而增强算法的全局搜索能力。 阅读详情

相关推荐

数学建模必备算法合集,鲸鱼优化算法灰狼优化算法、蚁群算法

二分类问题,例如,垃圾邮件分类。:模拟鸟群觅食行为,通过粒子的位置速度更新来搜索最优解。:模拟蚂蚁觅食行为,通过信息素的积累传播来优化路径。:二分类问题,例如,文本分类。:计算复杂度高,对大数据集处理较慢,参数选择困难。:计算复杂度高,尤其在大数据集上,容易受噪声影响。:模拟灰狼的捕猎行为,包括包围、追逐攻击猎物。:解决复杂的优化问题,如函数优化、工程设计优化。:自变量(特征,例如,邮件中某些词的出现频率):对特征选择敏感,可能不适合复杂的非线性关系。:计算资源需求高,模型训练时间长,难以解释。

2301_79810514的博客 2047

鲸鱼优化算法(Whale Optimization Algorithm,WOA)

鲸鱼优化算法(Whale Optimization Algorithm, WOA)是2016年提出的一种元启发式优化算法,其灵感来自于座头鲸的狩猎行为。通过模拟随机或最佳个体捕食猎物的狩猎行为,研究者发现鲸鱼的气泡网捕食法可以分为两种,并将它们命名为“向上螺旋策略”“双螺旋策略”。“向上螺旋策略”中,座头鲸会先下潜约12米,然后开始在螺旋中制造泡泡在猎物周围形成形状并向水面游去。“双螺旋策略”包括三个不同的环节:珊瑚环节、鲸尾拍打水面环节捕获环节。

鹤鸣优化的博客 2万+

鲸鱼优化算法_鲸鱼优化算法:一种群体智能最优化方法

摘要:群体智能优化算法由于其易实现性及其高效性,已成为最优化方法的研究热点。本文介绍该领域一种近年来的新兴起的优化算法鲸鱼优化算法。在介绍其生物机制的基础上,论述了其捕食、攻击过程的数学模型。最后给出了其与其它优化算法的仿真结果比较。1.背景介绍在流程工业自动化与信息化中,无论操作优化、最优控制,还是生产调度、供应链优化及资源规划等,其实现的理论依据都是最优化方法,因此最优化方法在工业...

weixin_39568083的博客 5645

智能优化算法鲸鱼优化算法-附代码

智能算法鲸鱼优化算法-附代码 文章目录智能算法鲸鱼优化算法-附代码1.算法原理1.1包围猎物1.2 狩猎行为1.3 搜索猎物1.4 算法流程2. 算法结果:参考文献: 摘要:鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯大学的Mirjalili 等提出的一种新的群体智能优化算法,其优点在于操作简单,调整的参数少以及跳出局部 最优的能力强。 1.算法原理 鲸鱼优化算法(whale optimization algorithm,WOA)是

Jack旭的博客 7万+

群体智能优化算法鲸鱼优化算法(Whale Optimization Algorithm,WOA)

获取更多资讯,赶快关注上面的公众号吧! 文章目录鲸鱼优化算法(Whale Optimization Algorithm,WOA)1.1 灵感1.2 数学建模优化算法1.2.1 包围捕食(Encircling prey)1.2.2 气泡网攻击方式(Bubble-net attacking method)(利用阶段)1.2.3搜索猎物(Search for prey)(exploration ph...

松间沙路的博客 5万+

群体智能优化算法-鲸鱼优化算法(WOA,含Matlab源代码)

鲸鱼优化算法(WOA)是由Mirjalili提出的一种仿生优化算法,其灵感来源于座头鲸(Humpback whales)的独特捕食策略。(1)围绕猎物收缩包围圈(2)气泡网攻击(螺旋式攻击)(3)随机搜索猎物算法通过概率参数 ppp 决定鲸鱼个体采用哪一种策略,从而确保算法在搜索空间中有效平衡探索与开发的过程。鲸鱼优化算法通过对鲸鱼捕食行为的数学建模,实现了一种高效稳定的智能优化策略。动态平衡全局探索与局部开发;少量参数且易于实现;良好的收敛特性与快速寻优能力;

qq_53665413的博客 812

鲸鱼优化算法(Whale Optimization Algorithm, WOA)是一种受座头鲸捕食行为启发的群体智能优化算法,由Seyedali Mirjalili于2016年提出

然而,JSSP 的解是一个离散的工序序列(例如 [1, 2, 3, 1, 2, 3, 1, 2, 3]),表示工件的加工顺序。数学模型细节,粒子群优化算法。由于 WOA 生成的解是连续的浮点数向量(例如 [0.1, 0.8, 0.3, ...]),需要将其转换为离散的工序序列,同时确保序列满足 JSSP 的约束(例如,每个工件的每道工序必须出现且按顺序加工)。在 JSSP 中,GA 的解是一个离散的工序序列,与 WOA 的离散化需求类似,但 GA 直接在离散空间操作,避免了连续到离散的映射。

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 2121

优化算法改进策略--佳点集初始化

根据“没有免费的午餐”,,所以很多学者根据自身的专业问题需求,对基础优化算法进行了改进提升,以期获得更为优秀的性能。等等。多策略就是三三两两改进策略的排列组合。在排列组合的同时,保守估计:95%群体智能优化算法的初始化方式是一个随机初始化形式,即其中,lb为变量下界,ub为上界,D为变量维数。那么,可能是因为实现简单,随机性强。这种初始化方式有没有弊端呢?据文献[1,2]报道,是有的。

weixin_44028734的博客 8928

WOA鲸鱼优化算法Matlab源代码 - 新手小白适用的学习利器

WOA鲸鱼优化算法Matlab源代码 - 新手小白适用的学习利器 去发现同类优质开源项目:https://gitcode.com/ 简介 鲸鱼优化算法(Whale Optimization Algorithm, WOA)是一种源于模仿自然界中鲸鱼捕食行为的群体智能优化方法。本资源包含了WOA算法的Matlab源代码,旨在帮助初学者有兴趣学习智能优化算法的朋友们更好地理解应用这一算法算法概述...

gitblog_06790的博客 590

鲸鱼优化算法C++代码实现

鲸鱼优化算法C++代码实现 去发现同类优质开源项目:https://gitcode.com/ 简介 鲸鱼优化算法(Whale Optimization Algorithm,WOA)是一种新兴的群体智能优化方法。本代码仓库提供了WOA算法的C++实现,旨在帮助开发者快速理解应用该算法算法描述 WOA算法模仿了座头鲸的独特捕食行为。在算法中,鲸鱼通过包围、气泡攻击等方式来搜索最优解。WOA以其简...

gitblog_06717的博客 291

鲸鱼优化算法(WOA)优化MPPT:探索光伏能源的智能追踪

WOA是澳大利亚学者Mirjalili等人在2016年提出的。它模拟了鲸鱼群体独特的狩猎行为。比如座头鲸的“气泡网”狩猎策略,座头鲸会围绕猎物游动并吐出气泡,形成气泡网困住猎物,然后逐渐缩小包围圈捕获猎物。在WOA算法中,我们用数学模型来模拟这一过程。# 初始化鲸鱼位置# 计算适应度# 更新鲸鱼位置C = 2 * r2else:else:在这段代码中,函数初始化了鲸鱼的位置,每个鲸鱼的位置相当于问题解空间中的一个点。fitness。

TCtvmTLXe的博客 726

鲸鱼优化算法WOA及求解函数应用(含代码,简单易懂)

鲸鱼优化算法(WOA)是 2016 年由澳大利亚格里菲斯大学的 Mirjalili 等提出的一种新的群体智能优化算法,其参数量较少,收敛速度很快且容易实现。鲸鱼优化算法的灵感来源于座头鲸的特殊捕食方式,这种捕食方式被称为“发泡网觅食法”。座头鲸喜欢在靠近水面的位置捕食磷虾小鱼,座头鲸通过图中所示的圆形或“9”字型路径制造特殊的气泡来完成。研究人员发现了两种与气泡相关的动作,即“向上螺旋”“双环”。在“向上螺旋”时,座头鲸潜入水底12米左右,开始在猎物周围形成螺旋形的气泡,然后游向水面。

qq_44886972的博客 1万+

鲸鱼优化算法(WOA)

判断概率 p 是否小于 50%,是则直接转入步骤 4,否则采用气泡网捕食机制:按式(2-1)进行位置更新;步骤 4:判断系数向量 A 的绝对值是否小于 1,是则包围猎物:按式(1-2)更新位置;​步骤 6:判断当前计算是否达到最大迭代次数,如果是,则获得最优解,计算结束,否则进入下一次迭代,并返回步骤 3。​步骤 5:位置更新结束,计算每条鲸鱼的适应度,并与先前保留的最优鲸鱼的位置比较,若优于,则利用新的最优解替换;步骤 2:计算每条鲸鱼的适应度,找到当前最优鲸鱼的位置并保留;

m0_74153169的博客 5081

鲸鱼优化算法(WOA)及其优秀变体(含MATLAB代码)

鲸鱼优化算法(WOA)及其优秀变体(含MATLAB代码) 为大家推送鲸鱼优化算法(WOA),并对它近几年的工作做简要总结,介绍一些WOA的先进变体,方便研究WOA的朋友做实验~

algorithmzzy的博客 1万+

路径规划之启发式算法之三:鲸鱼优化算法(Whale Optimization Algorithm)

鲸鱼在寻找食物避免敌人时会进行探索互动行为,这些行为会影响鲸鱼群的动态过程,而鲸鱼群的适应性则通过评价函数来衡量,目标是找到使评价函数值最小的解。(3)包围猎物(Encircling Prey):假设当前种群的最优个体是猎物(即当前最优解),种群中其他鲸鱼个体均向最优鲸鱼位置(或随机选择的鲸鱼)包围来更新其自身位置。(1)初始化:随机生成一组鲸鱼的位置速度作为算法的初始状态,这些解被称为鲸鱼个体,即这些鲸鱼个体代表了解空间中的潜在最优解。同时,设置算法的相关参数,如鲸鱼数量、最大迭代次数等。

搏博的专栏 4520

融合鲸鱼算法的混合灰狼优化算法

请参考这里。为了避免GWO算法陷入局部最优,本文不仅融入了WOA算法的螺旋泡网狩猎方式,同时也采用WOA算法中的随机概率因子来选择不同的狩猎行为。此外,WOA算法也易陷入局部最优且全局探索能力不强,因此需要通过基于Levy飞行算法的随机游走策略来提高算法的全局搜索能力以及提高种群的多样性。具体操作如下: 首先,按照蒙特卡洛方法生成随机向量Levy→\overrightarrow{Levy}Levy​,公式如下:Levy→=(s1,s2,⋯ ,sn),  si=μ∣ν∣1/λ,  i=1,2,⋯ ,n(1)\

心升明月的博客 3722

超详细 | 鲸鱼优化算法原理及其实现(Matlab/Python)

鲸鱼优化算法(whale optimization algorithm,WOA)是由MirjaliliLewis[1]于2016年提出的一种新型群体智能优化搜索方法,它源于对自然界中座头鲸群体狩猎行为的模拟,该算法整个过程包含搜索觅食、收缩包围螺旋更新位置三个阶段。鲸鱼优化算法的三个种群更新机制相互独立,因此其寻优阶段的全局探索局部开发过程得以分别运行及控制。此外, 鲸鱼优化算法不需要人为的设置各种控制参数值, 提高了算法的使用效率并降低了应用难度。

sfejojno的博客 8068
上一篇: 群体智能优化算法之灰狼优化算法
下一篇: 使用Python播放MIDI音符
SoYouTry
博客等级 码龄11年 33粉丝 32原创
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值