白鲸算法

​ 白鲸算法(BWO)是一种新的元启发式算法,是一种基于群体的算法,其灵感来自于白鲸的行为,包括游泳,猎物和鲸落。在BWO的数学模型中构建了勘探,开发和鲸落阶段,并在开发阶段利用Levy飞行函数来提高BWO的收敛能力。

勘探阶段

​ 由于BWO基于种群的机制,将白鲸作为搜索代理,每条白鲸都是一个候选解,在优化过程中不断个更新。搜索代理位置的矩阵建模为:

n代表白鲸种群大小,d是变量的维度。对于所有的白鲸,它们的适应度如下:

​ BWO算法可以根据平衡因子Bf从勘探过渡到开采,其建模为:

T代表当前迭代次数,Tmax是最大迭代次数,而B0是每一代(0,1)的随机数。当Bf>0.5时,白鲸进入勘探阶段,否则白鲸进入开发阶段。随着迭代次数的增加,Bf的波动幅度逐渐显著,从(0,1)到(0,0.5)。

​ BWO的勘探阶段是从白鲸游泳行为获得的灵感。白鲸可以在不同的姿势下进行社会性行为,如两只白鲸以同步或镜像的方式紧密地游在一起。因此,搜索代理的位置由白鲸的配对游动决定,白鲸的位置更新如下:

Xi,j(T+1)是第 i 个白鲸在第 j 维度的新位置,pj是d维度的一个随机数,Xi,PjT是第i个白鲸在 pj 维度上的位置,Xi,PjT 和 Xr,P1T是第i个和第r个白鲸的当前位置,r 是随机选择的一个白鲸,r1 和 r2 分别是(0,1)的两个随机数,sin(2πr2)和cos(2πr2)表示镜像白鲸的鳍朝向水面。

开发阶段

​ 开发阶段是模范白鲸捕猎行为,白鲸可以根据附近白鲸的位置合作觅食和移动。因此,白鲸可以根据彼此共享的信息进行捕猎,Levy飞行函数可以提高BWO的收敛性,建模如下:

XbestT是白鲸当前最好最好的位置,C1 = 2r4(1 - T /Tmax)是随机跳跃强度,测试Levy飞行函数的强度,LF是Levy飞行函数,计算公式如下:

u和v是正态分布的随机数,beta是一个默认的常数1.5。

鲸落阶段

​ 一鲸落,万物生。为了在每一代中模仿鲸落,随机在种群中选择一个个体进行鲸落行为。这个数学模型为:

Xstep是鲸落的步长,建模为:

C2是步长系数,与鲸落的概率和种群大小有关,C2=2Wf * n,ub 和 lb分别是上下边界变量。

Wf = 0.1 - 0.05T / Tmax当鲸落的概率从最初迭代的0.1下降到最后迭代的0.05,说明在优化过程中,当白鲸离食物源越近,白鲸的危险就越小。

BWO流程

  1. 初始化:初始化种群大小和最大迭代书
  2. 更新勘探和开发阶段:当Bf > 0.5 时,白鲸进入勘探阶段,反之,白鲸进入开发阶段,然后计算白鲸的新的位置适应度值并且进行排序找到优化结果。
  3. 更新鲸落阶段:根据Wf的值来选择个体
  4. 终止条件:达到最大迭代数

BWO和WOA的区别

  1. WOA的捕猎行为是模仿座头鲸螺旋运动,而BWO是模仿白鲸,没有螺旋运动的情况下,根据自己的位置,食物解和其他白鲸更新位置。
  2. WOA没有鲸落阶段,BWO有鲸落阶段避免局部最优。
  3. WOA没有Levy飞行函数机制,而在BWO中引入了Levy飞行函数。

BWO的伪代码如下,完整代码可联系我(免费):

BWO白鲸优化算法的更多相关文章

  1. [Algorithm] 群体智能优化算法之粒子群优化算法

    同进化算法(见博客<[Evolutionary Algorithm] 进化算法简介>,进化算法是受生物进化机制启发而产生的一系列算法)和人工神经网络算法(Neural Networks,简 ...

  2. 基于网格的分割线优化算法(Level Set)

    本文介绍一种网格分割线的优化算法,该方法能够找到网格上更精确.更光滑的分割位置,并且分割线能够自由地合并和分裂,下面介绍算法的具体原理和过程. 曲面上的曲线可以由水平集(level set)形式表示, ...

  3. paper 8:支持向量机系列五:Numerical Optimization —— 简要介绍求解求解 SVM 的数值优化算法。

    作为支持向量机系列的基本篇的最后一篇文章,我在这里打算简单地介绍一下用于优化 dual 问题的 Sequential Minimal Optimization (SMO) 方法.确确实实只是简单介绍一 ...

  4. MOPSO 多目标例子群优化算法

    近年来,基于启发式的多目标优化技术得到了很大的发展,研究表明该技术比经典方法更实用和高效.有代表性的多目标优化算法主要有NSGA.NSGA-II.SPEA.SPEA2.PAES和PESA等.粒子群优化 ...

  5. SMO优化算法(Sequential minimal optimization)

    原文:http://www.cnblogs.com/jerrylead/archive/2011/03/18/1988419.html SMO算法由Microsoft Research的John C. ...

  6. 优化算法-BFGS

    优化算法-BFGS BGFS是一种准牛顿算法, 所谓的"准"是指牛顿算法会使用Hessian矩阵来进行优化, 但是直接计算Hessian矩阵比较麻烦, 所以很多算法会使用近似的He ...

  7. NYOJ-63 小猴子下落(二叉树及优化算法详解)

      小猴子下落 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 有一颗二叉树,最大深度为D,且所有叶子的深度都相同.所有结点从左到右从上到下的编号为1,2,3,··· ...

  8. DeepLearning.ai学习笔记(二)改善深层神经网络:超参数调试、正则化以及优化--Week2优化算法

    1. Mini-batch梯度下降法 介绍 假设我们的数据量非常多,达到了500万以上,那么此时如果按照传统的梯度下降算法,那么训练模型所花费的时间将非常巨大,所以我们对数据做如下处理: 如图所示,我 ...

  9. 常见优化算法统一框架下的实现:最速下降法,partan加速的最速下降法,共轭梯度法,牛顿法,拟牛顿法,黄金分割法,二次插值法

    常见优化算法实现 这里实现的主要算法有: 一维搜索方法: 黄金分割法 二次差值法 多维搜索算法 最速下降法 partan加速的最速下降法 共轭梯度法 牛顿法 拟牛顿法 使用函数表示一个用于优化的目标, ...

  10. deeplearning.ai 改善深层神经网络 week2 优化算法 听课笔记

    这一周的主题是优化算法. 1.  Mini-batch: 上一门课讨论的向量化的目的是去掉for循环加速优化计算,X = [x(1) x(2) x(3) ... x(m)],X的每一个列向量x(i)是 ...

随机推荐

  1. 快速上手typescript(进阶篇)

    壹 ❀ 引 我们在快速上手typescript(基础篇)一文中,已经介绍了typescript大部分基础知识,文章结尾也提到这些知识点已足以支撑日常typescript开发,而本文算是对于前文知识点的 ...

  2. CF1826D Running Miles

    题目链接 题解 知识点:贪心,前缀和,枚举. 首先考虑一个贪心结论,选择区间端点一定是两个最大值,因此 \(i_1 = l,i_3 = r\) . 考虑变形式子 \((b_l + l) + b_{i_ ...

  3. 多线程系列(四) -volatile关键字使用详解

    一.简介 在上篇文章中,我们介绍到在多线程环境下,如果编程不当,可能会出现程序运行结果混乱的问题. 出现这个原因主要是,JMM 中主内存和线程工作内存的数据不一致,以及多个线程执行时无序,共同导致的结 ...

  4. python第二章pta习题总结

    chapter2 一.选择填空判断部分 1. C语言中,变量变的是内存空间中的值,不变的是地址: Python中,变量变的是地址,不变的是内存空间中的值. 2. 3.bool('False') 的返回 ...

  5. win32-制作mini dump文件

    一个完整的用户模式dump是基本的用户模式转储文件. 此转储文件包括进程的整个内存空间,程序的可执行映像本身,句柄表以及其他信息,这些信息对于调试器在重建转储发生时正在使用的内存中很有用. 可以将完整 ...

  6. 如何快速使用LayUI MINI框架

    是什么 LayUI MINI是基于LayUI框架开发的一套最简洁.易用的后台框架模板,它已经是一个非常完整的脚手架,有现成的页面模板可以参考甚至是直接使用. 通常来说,如果我们准备开发一套管理系统的W ...

  7. 进度条模块之tqdm

    导入模块 from tqdm import tqdm import time ''' desc 描述 ncols 进度条总长度 可修改 range(1000) 封装迭代器 ''' for i in t ...

  8. xadmin后台的安装及配置使用

    安装 pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2 在settings.py中注册如下应用 INSTALLED_ ...

  9. 领略一下swift函数派发机制流程

    函数派发 Swift中函数的派发机制有三种:静态派发,函数表派发,消息派发. 静态派发 静态派发是指在运行时不需要查表,直接跳转到方法进行执行.静态派发的性能也是最高的.c语言采用的是直接派发. 函数 ...

  10. 【Azure 环境】移动应用 SSO 登录AAD, MSAL的配置为Webview模式时登录页面无法加载

    问题描述 移动端集成MASL登录过程中,配置文件中配置项"authorization_user_agent"使用"DEFAULT"可以正常登录,但是改为&quo ...