文章目录

  • 一、理论基础
    • 1、启发
    • 2、包围猎物
    • 3、狩猎行为
    • 4、搜索猎物
  • 二、结果显示
  • 三、参考文献

一、理论基础

1、启发

鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯大学的Mirjalili等提出的一种新的群体智能优化算法,其优点在于操作简单、参数少以及跳出局部最优的能力强。

图1 座头鲸的狩猎摄食行为

2、包围猎物

座头鲸能识别猎物的位置并围着它们转。由于最优位置在搜索空间中的位置是未知的,WOA算法假设当前的最佳候选解是目标猎物或接近最优解。在定义了最佳候选解之后,其他候选位置将尝试向最佳位置移动并更新其位置。此行为由以下等式表示:D→=∣C→X∗→(t)−X→(t)∣(1)\overrightarrow{\boldsymbol D}=|\overrightarrow{\boldsymbol C}\overrightarrow{\boldsymbol X^*}(\boldsymbol{t})-\overrightarrow{\boldsymbol X}(\boldsymbol{t})|\tag{1}D=∣CX∗(t)−X(t)∣(1)X→(t+1)=X∗→(t)−A→⋅D→(2)\overrightarrow{\boldsymbol X}(t+1)=\overrightarrow{\boldsymbol X^*}(t)-\overrightarrow{\boldsymbol A}\boldsymbol\cdot \overrightarrow{\boldsymbol D}\tag{2}X(t+1)=X∗(t)−A⋅D(2)其中,ttt是当前迭代次数;A→\overrightarrow{\boldsymbol A}A和C→\overrightarrow{\boldsymbol C}C为系数向量,X∗(t)\boldsymbol X^*(t)X∗(t)表示目前为止最好的鲸鱼位置向量,X(t)\boldsymbol X(t)X(t)表示当前鲸鱼的位置向量。
向量A→\overrightarrow{\boldsymbol A}A和C→\overrightarrow{\boldsymbol C}C可由以下计算得到:A→=2a→⋅r→−a→(3)\overrightarrow{\boldsymbol A}=2\overrightarrow{\boldsymbol a}\cdot\overrightarrow{\boldsymbol r}-\overrightarrow{\boldsymbol a}\tag{3}A=2a⋅r−a(3)C→=2⋅r→(4)\overrightarrow{\boldsymbol C}=2\cdot \overrightarrow{\boldsymbol r}\tag{4}C=2⋅r(4)其中,a\boldsymbol aa的值从2线性减少到0,r→\overrightarrow{\boldsymbol r}r是[0,1]中的随机向量。

3、狩猎行为

根据座头鲸的狩猎行为,它是以螺旋运动游向猎物,故狩猎行为的数学模型如下:X→(t+1)=D′→⋅ebl⋅cos(2πl)+X∗→(t)(5)\overrightarrow{\boldsymbol X}(t+1)=\overrightarrow{\boldsymbol D'}\cdot e^{bl}\cdot cos(2\pi l)+\overrightarrow{\boldsymbol X^*}(t)\tag{5}X(t+1)=D′⋅ebl⋅cos(2πl)+X∗(t)(5)其中,D′→=∣X∗→(t)−X→(t)∣\overrightarrow{\boldsymbol D'}=|\overrightarrow{\boldsymbol X^*}(t)-\overrightarrow{\boldsymbol X}(t)|D′=∣X∗(t)−X(t)∣表示鲸鱼和猎物之间的距离,X∗→(t)\overrightarrow{\boldsymbol X^*}(t)X∗(t)表示目前为止最好的位置向量,bbb是对数螺线形状的常数,lll是[-1,1]中的一个随机数。
注意到座头鲸在一个缩小的包围圈内绕着猎物游动,同时沿着螺旋形的路径游动。为了模拟这种同时发生的行为,我们假设有50%的可能性来选择收缩包围机制或螺旋模型来更新优化过程中鲸鱼的位置。数学模型如下:X→(t+1)={X∗→(t)−A→⋅D→ifp<0.5X→(t+1)=D′→⋅ebl⋅cos(2πl)+X∗→(t)ifp>0.5(6)\overrightarrow{\boldsymbol X}(t+1)=\begin{dcases}\overrightarrow{\boldsymbol X^*}(t)-\overrightarrow{\boldsymbol A}\cdot\overrightarrow{\boldsymbol D}\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad if\,\,\, p < 0.5\\\overrightarrow{\boldsymbol X}(t+1)=\overrightarrow{\boldsymbol D'}\cdot e^{bl}\cdot cos(2\pi l)+\overrightarrow{\boldsymbol X^*}(t)\quad if\,\,\, p > 0.5\end{dcases}\tag{6}X(t+1)=⎩⎨⎧​X∗(t)−A⋅Difp<0.5X(t+1)=D′⋅ebl⋅cos(2πl)+X∗(t)ifp>0.5​(6)算法设定当∣A→∣<1|\overrightarrow{\boldsymbol A}|<1∣A∣<1时,鲸鱼向猎物发起攻击。

4、搜索猎物

数学模型如下:D→=∣C→⋅Xrand→−X→∣(7)\overrightarrow{\boldsymbol D}=|\overrightarrow{\boldsymbol C}\cdot\overrightarrow{\boldsymbol X_{rand}}-\overrightarrow{\boldsymbol X}|\tag{7}D=∣C⋅Xrand​​−X∣(7)X→(t+1)=Xrand→−A→⋅D→(8)\overrightarrow{\boldsymbol X}(t+1)=\overrightarrow{\boldsymbol X_{rand}}-\overrightarrow{\boldsymbol A}\cdot\overrightarrow{\boldsymbol D}\tag{8}X(t+1)=Xrand​​−A⋅D(8)其中,Xrand→\overrightarrow{\boldsymbol X_{rand}}Xrand​​是随机选择的鲸鱼位置向量,算法设定当∣A→∣>1|\overrightarrow{\boldsymbol A}|>1∣A∣>1时,随机选择一个搜索个体,根据随机选择的鲸鱼位置来更新其他鲸鱼的位置,迫使鲸鱼偏离猎物,借此找到一个更合适的猎物,这样可以加强算法的探索能力使WOA算法能够进行全局搜索。

二、结果显示

图2 基准函数的三维图形

图3 算法进化过程

三、参考文献

[1] Seyedali Mirjalili, Andrew Lewis. The Whale Optimization Algorithm[J]. Advances in Engineering Software, 2016, 95: 51-67.

基于鲸鱼优化算法的函数寻优算法相关推荐

  1. 《MATLAB智能算法30个案例》:第2章 基于遗传算法和非线性规划的函数寻优算法

    <MATLAB智能算法30个案例>:第2章 基于遗传算法和非线性规划的函数寻优算法 1. 前言 2. MATLAB 仿真示例一 3. MATLAB 仿真示例二 4. MATLAB 仿真示例 ...

  2. 基于蚁群算法的函数寻优算法

    文章目录 一.理论基础 二.案例背景 1.问题描述 2.解题思路及步骤 三.MATLAB程序实现 1.清空环境变量 2.初始化参数 3.构建解空间和目标函数 4.迭代寻优 5.结果显示 6.绘图 四. ...

  3. 基于沙猫群优化算法的函数寻优算法

    文章目录 一.理论基础 1.沙猫群优化算法 (1)初始化种群 (2)搜索猎物(探索) (3)攻击猎物(开发) (4)探索和开发 2.SCSO算法伪代码 二.仿真实验与结果分析 三.参考文献 一.理论基 ...

  4. 基于蜉蝣优化算法的函数寻优算法

    文章目录 一.理论基础 1.蜉蝣优化算法 (1)雄性蜉蝣的更新 (2)雌性蜉蝣的更新 (3)蜉蝣的交配过程 2.MA算法伪代码 二.仿真实验与结果分析 1.函数测试与数值分析 2.WSN三维覆盖优化 ...

  5. 基于金豺优化算法的函数寻优算法

    文章目录 一.理论基础 1.金豺优化算法 (1)搜索空间公式 (2)探索阶段或搜索猎物 (3)开发阶段或围捕和突袭猎物 (4)从探索转向开发 2.GJO伪代码 二.仿真实验与结果分析 三.参考文献 一 ...

  6. 基于果蝇优化算法的函数寻优算法

    文章目录 一.理论基础 二.算法步骤 1.启发 2.方向和距离 3.气味浓度判断值 4.适应度评估 5.寻找最优个体 6.飞行 7.迭代优化 三.案例背景 问题描述 四.MATLAB程序实现 1.清空 ...

  7. 基于蜂鸟优化算法的函数寻优算法

    文章目录 一.理论基础 1.自搜索阶段 2.引导搜索阶段 3.HOA伪代码 二.仿真实验与分析 三.参考文献 一.理论基础 蜂鸟优化算法(Hummingbirds optimization algor ...

  8. 基于藤壶交配优化算法的函数寻优算法

    文章目录 一.理论基础 1.藤壶交配优化算法 1.1 哈迪-温伯格(Hardy-Weinberg)法则 1.2 BMO 1.2.1 初始化 1.2.2 选择过程 1.2.3 繁殖 2.BMO算法伪代码 ...

  9. 基于阿基米德优化算法的函数寻优算法

    文章目录 一.理论基础 1.算法步骤 (1)初始化 (2)更新密度和体积 (3)转移算子与密度算子 (4)勘探阶段 <1> 物体之间发生碰撞 <2> 物体之间无碰撞 <3 ...

最新文章

  1. 赠书 | 人工智能识万物:卷积神经网络的前世今生
  2. PAT题解-1118. Birds in Forest (25)-(并查集模板题)
  3. python外星人入侵游戏代码大全-Python外星人入侵游戏开发—重构键盘鼠标响应代码...
  4. 微信jssdk ajax 获取签名,【Golang版】微信access_token、jsapi_ticket、signature签名算法生成示例,开箱即用...
  5. ArcIMS体系结构
  6. HBase—基础介绍
  7. product category no need to optimize
  8. mysql hibernate id generator_Hibernate映射文件id的generator配置方法
  9. mysql 查询语句_SQL语言mysql基础查询语句
  10. linux curl命令验证服务器断点续传支持
  11. MSP430杂谈--AD7745硬件IIC驱动与模拟IIC驱动
  12. ubuntu 12.04 lts搭建android 编译环境
  13. 有赞招聘小程序,有你就很赞
  14. java base64图片计算图片大小
  15. python bottle框架使用beaker支持session
  16. JS拉起支付宝,并加好友
  17. QT_下拉选项框_Combo Box_使用
  18. 小票打印机打印出空白
  19. html页面控制标签,html常用标签大全
  20. 创业公司遇到招募技术人才难的问题,怎么办?

热门文章

  1. 关于Oracle导出.db文件
  2. jQuery中下拉动画slideDown
  3. MyEclipse调试时,变量一栏中:红色、黄色图标开头的变量分别代表的含义
  4. 基于W5300的高速硬件以太网解决方案
  5. thumbnails java_JAVA 图片处理(基于Thumbnails)
  6. [gazebo仿真1]Kinova机械臂gazebo控制
  7. 全国计算机等级三级Linux应用与开发技术考试-第3章-Linux系统使用基础-练习题
  8. 4、系统滴答时钟SysTick
  9. 老王的JAVA基础课:第4课 以hello world学习基础语法
  10. RabbitMQ的confirm、ack、transaction三个概念的理解