SCI二区|鲸鱼优化算法(WOA)原理及实现【附完整Matlab代码】
目录
- 1.背景
- 2.算法原理
- 2.1算法思想
- 3.结果展示
- 4.参考文献
- 5.代码获取
1.背景
2016年,S Mirjalili受到自然界座头鲸社会行为启发,提出了鲸鱼优化算法(Whale Optimization Algorithm, WOA)。
2.算法原理
WOA模拟了座头鲸的社会行为,主要包括包围猎物、随机搜索、螺旋捕猎阶段。
2.1算法思想
包围猎物
鲸鱼优化算法假设当前种群中最优解为猎物位置或已接近目标猎物的位置,种群中其他鲸鱼个体根据当前最优解更新自身位置:
X ( i + 1 ) = X b e s t ( i ) − A ⋅ D (1) X\left(i+1\right)=X_{best}\left(i\right)-A\cdot D\tag{1} X(i+1)=Xbest(i)−A⋅D(1)
D为当前鲸鱼与最优解之间的距离:
D = ∣ C ⋅ X b e s t ( i ) − X ( i ) ∣ (2) D=\begin{vmatrix}C\cdot X_{best}\begin{pmatrix}i\end{pmatrix}-X\begin{pmatrix}i\end{pmatrix}\end{vmatrix}\tag{2} D= C⋅Xbest(i)−X(i) (2)
A和C为搜索控制系数:
A = a ( 2 k − 1 ) C = 2 k (3) \begin{aligned}&A=a\bigl(2k-1\bigr)\\&C=2k \end{aligned}\tag{3} A=a(2k−1)C=2k(3)
收敛因子:
a = 2 − 2 i / i max (4) a=2-2i / i_{\max}\tag{4} a=2−2i/imax(4)
随机搜索
鲸鱼种群根据自己当前的位置、全局最优解和一定的随机性来更新自己的位置,使得鲸鱼能够在搜索空间中以一定的概率跳出局部最优解,从而提高搜索到全局最优解的可能性:
X ( i + 1 ) = X r a n d ( i ) − A ⋅ D (5) X\left(i+1\right)=X_{rand}\left(i\right)-A\cdot D\tag{5} X(i+1)=Xrand(i)−A⋅D(5)
Xrand 为当前进行随机搜索的鲸鱼位置,D表述为:
D = ∣ C ⋅ X r a n d ( i ) − X ( i ) ∣ (6) D=\left|C\cdot X_{rand}\left(i\right)-X\left(i\right)\right|\tag{6} D=∣C⋅Xrand(i)−X(i)∣(6)
螺旋捕猎
当鲸鱼靠近全局最优解时,它们会以螺旋的方式在局部范围内进行搜索。螺旋行为的策略是在当前位置和全局最优解的位置之间生成一个螺旋路径,然后鲸鱼沿着这个路径进行移动:
X ( i + 1 ) = D ⋅ e b l ⋅ cos ( 2 π l ) + X b e s t ( i ) (7) X\left(i+1\right)=D\cdot e^{bl}\cdot\cos\left(2\pi l\right)+X_{best}\left(i\right)\tag{7} X(i+1)=D⋅ebl⋅cos(2πl)+Xbest(i)(7)
其中,b 为定义螺旋捕猎的常量系数,l为在[-1,1]随机数,D更新为:
D = ∣ X b e s t ( i ) − X ( i ) ∣ (8) D=\begin{vmatrix}X_{best}\begin{pmatrix}i\end{pmatrix}-X\begin{pmatrix}i\end{pmatrix}\end{vmatrix}\tag{8} D= Xbest(i)−X(i) (8)
伪代码
3.结果展示
4.参考文献
[1] Mirjalili S, Lewis A. The whale optimization algorithm[J]. Advances in engineering software, 2016, 95: 51-67.
5.代码获取
相关文章:
SCI二区|鲸鱼优化算法(WOA)原理及实现【附完整Matlab代码】
目录 1.背景2.算法原理2.1算法思想 3.结果展示4.参考文献5.代码获取 1.背景 2016年,S Mirjalili受到自然界座头鲸社会行为启发,提出了鲸鱼优化算法(Whale Optimization Algorithm, WOA)。 2.算法原理 WOA模拟了座头鲸的社会行为…...
人脸匹配——OpenCV
人脸匹配 导入所需的库加载dlib的人脸识别模型和面部检测器读取图片并转换为灰度图比较两张人脸选择图片并显示结果比较图片创建GUI界面运行GUI主循环运行显示全部代码 导入所需的库 cv2:OpenCV库,用于图像处理。 dlib:一个机器学习库&#x…...
韩顺平0基础学java——第22天
p441-459 异常exception 选中代码块,快捷键ctraltt6,即trt-catch 如果进行了异常处理,那么即使出现了异常,但是会继续执行 程序过程中发生的异常事件分为两大类: 异常体系图※ 常见的运行异常:类型转换…...
神经网络介绍及教程案例
神经网络介绍及教程&案例 神经网络(Neural Networks)是机器学习和人工智能中的一种关键技术,模仿了人类大脑的工作方式,能够处理复杂的数据和任务。以下是神经网络的一些基础介绍: 基本概念 神经元(N…...
16个不为人知的资源网站,强烈建议收藏!
整理了16个不为人知的资源网站,涵盖了课程学习、办公技能、娱乐休闲、小说音乐等多种资源,强烈建议收藏! #学习网站 1、中国大学MOOC icourse163.org/ 这是一个汇集了国内顶尖大学免费课程资源的平台,众多985工程院校如北京大…...
pandas获取某列最大值的所有数据
第一种方法: 按照某列进行由大到小的排序,然后再进去去重,保留第一个值,最终保留的结果就是最大值的数据 # 由大到小排序 data_frame data_frame.sort_values(bycolumn_a, ascendingFalse)# 按照column_b列去重保留第一条&#…...
App UI 风格展现非凡创意
App UI 风格展现非凡创意...
rocketmq-5.1.2的dleger高可用集群部署
1、背景 原先为5.0.0版本,因检查出有漏洞,升级到5.1.2版本。 【Rocketmq是阿里巴巴在2012年开发的分布式消息中间件,专为万亿级超大规模的消息处理而设计,具有高吞吐量、低延迟、海量堆积、顺序收发等特点。在一定条件下…...
无线网络与物联网技术[1]之近距离无线通信技术
无线网络与物联网技术 近距离无线通信技术WIFIWi-Fi的协议标准Wi-Fi的信道Wi-Fi技术的术语Wi-Fi的组网技术Ad-hoc模式无线接入点-APAP:FAT AP vs FIT AP Wi-Fi的特点与应用Wi-Fi的安全技术 Bluetooth蓝牙技术概论蓝牙的技术协议蓝牙的组网技术微微网piconet(了解)散…...
Codeforces Round 952 (Div. 4)
题解写到博客园了,懒得复制过来了了,放个链接 https://www.cnblogs.com/yxcblogs/p/18243276 推广一下自己记录的算法编程竞赛模板仓库 GitHub - yxc-s/programming-template: This repository contains C programming templates optimized for competi…...
spark MLlib (DataFrame-based) 中的聚类算法Bisecting K-Means、K-Means、Gaussian Mixture
Bisecting K-Means 核心原理: Bisecting K-Means 是一种层次 K-Means 聚类算法,基于 Steinbach、Karypis 和 Kumar 的论文《A comparison of document clustering techniques》,并对 Spark 环境进行了修改和适应。 该算法通过递归地将数据集…...
天降流量于雀巢?元老品牌如何创新营销策略焕新生
大家最近有看到“南京阿姨手冲咖啡”的视频吗?三条雀巢速溶咖啡入杯,当面加水手冲,十元一份售出,如此朴实的售卖方式迅速在网络上走红。而面对这一波天降的热度,雀巢咖啡迅速做出了回应,品牌组特地去到了阿…...
新疆在线测宽仪配套软件实现的9大功能!
在线测宽仪可应用于各种热轧、冷轧板带材的宽度尺寸检测,材质不限,木质、钢制、铁质、金属、纸质、塑料、橡胶等都可以进行无损非接触式的检测,在各式各样的产线应用中,有些厂家,需要更加详尽完备的分析信息࿰…...
考研计组chap3存储系统
目录 一、存储器的基本概念 80 1.按照层次结构 2.按照各种分类 (41)存储介质 (2)存取方式 (3)内存是否可更改 (4)信息的可保存性 (5)读出之后data是否…...
杨氏矩阵和杨辉三角的空间复杂度较小的解题思路
文章目录 题目1 杨氏矩阵题目2 杨辉三角 题目1 杨氏矩阵 有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。 要求:时间复杂度小于O(N); 思路: 我们可以通过题目…...
【第六篇】SpringSecurity的权限管理
一、权限管理的实现 服务端的各种资源要被SpringSecurity的权限管理控制可以通过注解和标签两种方式来处理。 放开了相关的注解后在Controller中就可以使用相关的注解来控制了 JSR250注解 /*** JSR250*/ @Controller @RequestMapping("/user") public class UserC…...
未来工作场所:数字化转型的无限可能
探索技术如何重塑我们的工作环境与协作方式 引言 在21世纪的第三个十年,数字化转型已不再仅仅是科技公司的专利,它如同一股不可阻挡的潮流,深刻地渗透到了每一个行业的血脉之中。从灵活的远程办公模式到工作流程的智能化重构,技术…...
Landsat8的质量评估波段的一个应用
Landsat8一直是遥感界的热门话题。这不仅延续了自1972年以来NASA连续对地观测,而且这颗卫星为科学界带来了一些新的东西——质量评估波段(the Quality Assessment (QA) Band)。根据USGS Landsat Missions webpage,“QA通过标示哪个…...
OpenZeppelin Ownable合约 怎么使用
文章目录 智能合约的访问控制Ownable合约使用方法 智能合约的访问控制 熟悉OpenZeppelin的智能合约库的开发者都知道这个库已经提供了根据访问等级进行访问限制的选项,其中最常见的就是Ownable合约管理的onlyOwner模式,另一个是OpenZeppelin的Roles库&a…...
vue3框架基本使用(基础指令)
一、响应式数据 1.ref ref可以定义 基本类型的响应式数据, 也可以定义对象类型响应式数据 <template><h1>{{ name }}</h1><button click"test">修改姓名</button> </template><script setup lang"ts"…...
ubuntu20.04设置共享文件夹
ubuntu20.04设置共享文件夹 一,简介二,操作步骤1,设置Windows下的共享目录2,挂载共享文件夹3,测试是否挂载成功 一,简介 在公司电脑上,使用samba设置共享文件夹,IT安全部门权限不通…...
三十五、 欧盟是如何对法律政策环境进行评估的?
我国对于如何评估数据接收方所在法律政策环境尚无明确详细的指引,故在实践中,为了进一步提升合规水平,企业也可同步参考在数据隐私保护法治方面领先的欧盟标准。 在欧盟法院于 2020 年 7 月作出 Schrems II案件的判决后,为保证境外…...
项目实战--文档搜索引擎
在我们的学习过程中,会阅读很多的文档,例如jdk的API文档,但是在这样的大型文档中,如果没有搜索功能,我们是很难找到我们想查阅的内容的,于是我们可以实现一个搜索引擎来帮助我们阅读文档。 1. 实现思路 1…...
计算机视觉基础课程知识点总结
图像滤波 相关: 核与图像同向应用,不翻转。 卷积: 核在应用前翻转,广泛用于信号处理和深度学习(现在常说的二维卷积就是相关)。 内积: 向量化的点积操作,是相关和卷积的一部分。 模板匹配:通过在图像中…...
编译原理:语法分析
目录 引言上下文无关文法 CFG: Context-Free Grammar定义推导方法最左推导和最右推导 分析树分析树->抽象语法树常见的上下文无关文法文法设计二义性文法扩展巴科斯范式:EBNF extended Backus Normal Form 文法和语言分类相关术语直接推导推导*推导句型、句子、语…...
React 中的 Lanes
React 中有一个 Lane 的概念,Lane 就像高速路上的不同车道,具有不同优先级,在 React Lane 通过一个 32 位的二进制数来表示。越小优先级别越高,SyncLane 级别最高。用二进制存储的方式,可以通过逻辑操作快速判断 Lane …...
【复旦邱锡鹏教授《神经网络与深度学习公开课》笔记】线性分类模型损失函数对比
本节均以二分类问题为例进行展开,统一定义类别标签 y ∈ { 1 , − 1 } y\in\{1,-1\} y∈{1,−1},则分类正确时 y f ( x ; w ) > 0 yf(x;w)>0 yf(x;w)>0,且值越大越正确;错误时 y f ( x ; w ) < 0 yf(x;w)<0 yf(x;…...
数组(C语言)(详细过程!!!)
目录 数组的概念 一维数组 sizeof计算数组元素个数 二维数组 C99中的变⻓数组 数组的概念 数组是⼀组相同类型元素的集合。 数组分为⼀维数组和多维数组,多维数组⼀般比较多见的是二维数组。 从这个概念中我们就可以发现2个有价值的信息:(1)数…...
视频生成模型 Dream Machine 开放试用;微软将停止 Copilot GPTs丨 RTE 开发者日报 Vol.224
开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…...
Vue30-自定义指令:对象式
一、需求:创建fbind指定 要用js代码实现自动获取焦点的功能! 二、实现 2-1、步骤一:绑定元素 2-2、步骤二:input元素获取焦点 此时,页面初始化的时候,input元素并没有获取焦点,点击按钮&…...
云南网站推广/谷歌推广公司哪家好
展开全部比如:现在是2004-03-26 13:31:40过去是:2004-01-02 11:30:24我现在要获得两个e5a48de588b662616964757a686964616f31333365633962日期差,差的形式为:XX天XX小时XX分XX秒方法…...
重庆品牌网站建设公司哪家好/常见的网络推广方式
什么是几何变换(Transform) 在图形学中,主要有三种几何变换,分别是平移(Translate),旋转(Rotation)和缩放(Scaling)。在D2D中,这三种变…...
信誉好的唐山网站建设/经典软文案例200字
第一次接触SpringBoot,根据官网在pom.xml中导入相应依赖后,首先,新建controller包,在其中写HelloController类: import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation…...
区块链技术做网站/谷歌seo软件
在Linux /etc/passwd文件中每个用户都有一个对应的记录行,它记录了这个用户的一些基本属性。系统管理员经常会接触到这个文件的修改以完成对用户的管理工作。 它的内容类似下面的例子: 从上面的例子我们可以看到,/etc/passwd中一行记录对应着…...
想要一个网站/微营销平台
【奥鹏】-[中国石油大学(华东)]2019年秋季学期《程序设计(C语言)》在线考试(适用于2019年12月份考试)试卷总分:100 得分:100第1题,C语言中,运算对象必须是整型数的运算符是A、%B、\C、% 和 \D、**正确答案:A第2题,有如下定义:long m;char c&a…...
wordpress onclick/百度电脑版网页版入口
本期视频演讲稿 https://www.bilibili.com/video/bv1C54y1W7vn 最近正在进行U3D项目移植到h5平台,在移植UI图集时,需要将分离图集 那么如何将下图分离成小图? 最终移植效果游戏在线试玩http://www.4399.com/flash/217641.htm 分离后 操作…...