超详细 | 灰狼优化算法原理及其实现(Matlab)

news2024/11/27 15:54:02

在这里插入图片描述

由于元启发式算法的灵活性,推导自由,简单,许多作者相继提出新的元启发式算法。这些算法正在迅速成为解决复杂优化问题的重要工具。最流行的元启发式算法有以下四种类型,

第一种是进化算法:其中比较有代表性的有遗传算法(GA)和差分进化算法(DE);

第二种是仿自然的优化算法,包括万有引力搜索算法(GSA)和中心引力优化算法(CFO)来模拟自然物理规则;

第三种是仿人类的优化算法,例如免疫算法(IA)和思维进化算法(MEA);

第四种是群体智能(SI)算法,包括粒子群优化算法(PSO)、蚁狮算法(ACO)等;

大多数关于元启发式算法的研究都集中在探索和开发上。SI算法的一些特征不同于其他三类算法,有时可以在这两个阶段获得更好的结果。与其他三种类型的元启发式算法相比,SI算法在搜索过程中保留解空间的信息,并能够记忆最佳解。此外,更少的参数和操作能够便于理解和控制SI。SI是集体的智力行为。因此,群体中的个体间的协作能帮助种群避免陷入局部最优。

随着SI算法的发展,Mirjalili等[1]于2014年提出了一种新型SI算法:灰狼优化算法(Grey Wolf Optimization,GWO)。GWO通过模拟灰狼群体捕食行为,基于狼群群体协作的机制来达到优化的目的,这一机制在平衡探索和开发方面取得了不错的效果,并且在收敛速度和求解精度上都有良好的性能,目前已广泛应用于工程领域,如:神经网络、调度、控制、电力系统等。本文将对其原理进行介绍并通过MATLAB实现

00 文章目录

1 灰狼优化算法原理
2 代码目录
3 算法性能
4 源码获取
5 总结

01 灰狼优化算法原理

GWO算法模拟自然界中灰狼种群等级机制和捕猎行为。通过4种类型的灰狼(𝛼,𝛽,𝛿,𝜔)来模拟社会等级,通过狼群跟踪﹑包围、追捕、攻击猎物等过程来模拟狼的捕猎行为,实现优化搜索目的。GWO算法具有原理简单、并行性﹑易于实现,需调整的参数少且不需要问题的梯度信息,有较强的全局搜索能力等特点。

在函数优化方面, Mirjalili等通过对29个基准函数的测试表明,GWO算法在求解精度和收敛性方面明显优于粒子群优化(PSO)、重力搜索算法(GSA),差分进化(DE),进化规划(EP)和进化策略(ES)的结果。

在GWO算法中, 首先是在搜索空间中随机产生灰狼族群,为构建灰狼的社会等级制度模型,将种群中适应度值最优的解、次优的解和第三优的解分别看作α狼、β狼和𝛿狼,而剩余的解被视为𝜔狼。然后由α狼、β狼和𝛿狼来负责引导, 𝜔狼则跟随着α狼、β狼和𝛿狼,通过搜寻猎物﹑包围猎物和攻击猎物来完成狩猎优化,最终获取最优解。

1.1 社会等级

设计GWO算法时,狼群中每一个灰狼代表了种群的一个潜在解,为了描述灰狼的社会等级﹐将α狼的位置视为最优解﹔将β和𝛿狼的位置分别作为优解和次优解; 𝜔狼的位置作为其余的候选解。在GWO算法中,由a , β和𝛿引导搜索(优化),而𝜔狼跟随前面3种狼。

1.2 包围猎物

捕猎过程中,灰狼群体会先包围猎物,该行为的数学模型可以表示为:在这里插入图片描述

其中,𝑡代表当前迭代的次数,𝑋𝑝 (𝑡)为第𝑡次迭代中猎物的位置向量,𝑋 (𝑡)为第𝑡次迭代中灰狼的位置向量。𝐴和𝐶为协同向量,计算方式为在这里插入图片描述

其中𝑎中的分量在迭代过程中从2到0线性递减,𝑟⃑1 和𝑟⃑2 为[0,1]中的随机向量

1.3 狩猎

灰狼有能力识别猎物的位置并包围它们。狩猎通常由α狼引导, β和𝛿也可能偶尔参与狩猎。然而,在一个抽象搜索空间中,灰狼并不知道最优解(猎物)的精确位置。为了模拟灰狼的狩猎行为,假设α(最优候选解)、β和𝛿拥有更多关于猎物潜在位置的知识。因此,在每次迭代过程中,保存迄今为止获得的3个最优解,迫使其他狼(包括𝜔)根据最优搜索的位置采用以下公式更新它们的位置:在这里插入图片描述

其中𝑋𝛼⃑,𝑋𝛽⃑,𝑋𝛿⃑代表当前迭代中𝛼,𝛽,𝛿的位置向量,𝑋 (𝑡)为第𝑡次迭代中个体的位 置向量,𝐶1 ⃑,𝐶2 ⃑,𝐶3 ⃑为随机向量,𝐷𝛼⃑,𝐷𝛽⃑, 𝐷𝛿⃑代表群体中其他个体与𝛼,𝛽,𝛿之间的距离,𝑋 (𝑡 + 1)为个体更新后的位置向量。

下图给出𝜔狼或其他狼(候选狼)如何根据二维搜索空间中的𝛼,𝛽,𝛿狼来更新其位置。从中可以看出,最终位置将在搜索空间中由𝛼,𝛽,𝛿狼的位置定义的圆内的随机位置。换句话说, 𝛼,𝛽,𝛿狼估计猎物的位置,其他狼围绕猎物随机更新它们的位置。

在这里插入图片描述

图源于智能优化计算与涌现计算

1.4 攻击猎物

灰狼在猎物停止移动时通过攻击猎物来完成捕猎。攻击猎物确定猎物位置,即得到最优解, 这一过程主要通过迭代过程中收敛因子𝑎从 2 到 0 的递减来实现,于是群体在迭代结束后,获取最优解。
在这里插入图片描述

在 GWO 算法中,通过 a 值逐渐线性减少,使得 A的波动范围也随之线性减少,从而模拟狼群逼近猎物的行为。C 是[0,2]之间随机值,C表示狼所在位置对猎物影响的随机权重,由于C值是一个随机值,用于防止算法寻优时无法摆脱局部最优,对搜寻全局最优解发挥了非常重要的作用,增强了算法的全局搜索能力、鲁棒性与收敛性。

1.5 优化过程

GWO 算法优化流程为首先创建一个灰狼种群, 然后在迭代过程中将最优的三个解定义为 α、β 和 δ,而后其他个体根据 α、β 和 δ 的位置判断猎物所在位置,从而更新自己的位置。GWO 算法的流程如图所示

在这里插入图片描述

02 代码目录

在这里插入图片描述

代码注释完整,其中部分GWO程序如下:

在这里插入图片描述

代码获取方式见文末

03 算法性能

采用CEC的测试函数F10来初步检验其寻优性能,F10的数学表达式如下:
在这里插入图片描述

运行GWO.m,结果如下

在这里插入图片描述

在这里插入图片描述

04 总结

尽管GWO有良好的性能,并在处理工程问题方面相当的成功,但与传统的元启发式方法一样,仍有需要改进的地方。当应用于解决多模态问题时,GWO的性能会下降。许多文献中已经提出其改进策略,如:改进控制参数,GWO的a参数控制其探索和开发的过程,其随迭代过程发生线性变化,但线性函数不能很好的应用于多模态问题,因此可以尝试对其进行非线性的改进,其次还可以尝试完善其位置更新机制,引入随机行走等方法来更新狼的位置以解决其局部停滞和过早收敛的问题等等。

作者也将在后面的文章中更新对于灰狼算法的改进,欢迎关注~

参考文献

[1]MIRJALILI S,MIRJALILI S M,LEWIS A.Grey Wolf Optimi-zer[J].Advances in Engineering Software,2014,69(3):46-61.

灰狼优化算法MATLAB源码获取:

公众号:KAU的云实验台 回复 GWO

另:如果有伙伴有待解决的优化问题(各种领域都可),可以发我,我会选择性的更新利用优化算法解决这些问题的文章。

如果这篇文章对你有帮助或启发,可以点击右下角的赞(ง•̀_•́)ง(不点也行)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/940464.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3.2.0 终极预告!云原生支持新增 Spark on k8S 支持

视频贡献者 | 王维饶 视频制作者 | 聂同学 编辑整理 | Debra Chen Apache DolphinScheduler 3.2.0 版本将发布,为了让大家提前了解到此版本更新的主要内容,我们已经制作了几期视频和内容做了大致介绍,包括《重磅预告!Apache Dol…

Exadata Smart Scan 初体验

找了一台Exadata X8M-2 1/4配,安装了一个单实例的19c数据库。 安装了标准的SSB Schema,事实表lineorder近4亿行,近42GB: NUM_ROWS BLOCKS AVG_ROW_LEN TABLESPACE_NAME ---------- ---------- ----------- -----------------…

设置微软Edge浏览器主页和新标签页,摆脱扰人和分散注意力的主页

默认情况下,Microsoft Edge会向您显示世界上最令人分心和讨厌的主页(也称为主屏幕)。微软不想只向你展示一个搜索框,也许还有一个漂亮的背景或一些你喜欢的网站的快捷方式,而是想在你面前扔一堆新闻标题和广告。 你可能会打开浏览器阅读电子邮件,结果被Microsoft Edge主…

计算机网络-笔记-第四章-网络层

目录 四、第四章——网络层 1、网络层概述 (1)虚电路服务——面向连接 (2)虚电路服务——无连接(因特网) (3)网络地址、广播地址、主机地址 (4)总结 2、…

解读GIS软件:从ArcGIS到山海鲸可视化的全方位介绍

在现代社会,地理信息系统(GIS)的应用已经渗透到了各个领域,为我们提供了丰富的地理数据分析和可视化工具。下面介绍几款常见的GIS工具软件,一起来了解它们的特点和优势。 1. ArcGIS: ArcGIS由Esri公司开发,…

LLM构建AI应用 —— 工程师如何使用黑盒工具

本文字数:7714字 预计阅读时间:52分钟 从2022年12月以来,chatGPT 的横空出世掀起了新一波的 AI 浪潮,热度一直居高不下直到现在。半年时间里,从底层模型 API 到上层应用的生态逐渐建立,经过一轮轮迭代不断完…

【云知识】云计算平台都有那些,涨涨云概念

2023年,第36周。给自己一个目标,然后坚持总会有收货,不信你试试! 云计算平台是指为企业和个人提供云计算服务的基础架构和环境。 它提供了一系列的硬件、软件和网络设施,用于支持应用程序的部署、管理和运行&#xff0…

2023年阿里云服务器优惠折扣对照表_买前必看

2023阿里云服务器折扣表,购买阿里云服务器几折?活动上购买云服务器最低可享1折,云服务器页面选购根据购买时长可享受8折、6折、5折和3折不等的优惠折扣,阿里云服务器网分享阿里云服务器优惠折扣说明及不同购买入口优缺点对比&…

【计算机基础】计算机内核原理

👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区&#x…

03-前端基础CSS-第一天

01-CSS层叠样式表导读 目标: 能够说出什么是CSS能够使用CSS基础选择器能够设置字体样式能够设置文本样式能够说出CSS的三种引入方式能够使用Chrome调试工具调试样式 目录: 1.CSS简介2.CSS基础选择器3.CSS字体属性4.CSS文本属性5.CSS引入方式6.综合案…

计网第四章(网络层)(五)

目录 静态路由配置 默认路由: 特定主机路由: 示例: 广播域和冲突域: 静态路由配置 在第四节(计网第四章(网络层)(四)_永无魇足的博客-CSDN博客)有提到过…

【C++初阶】stack和queue的常见使用操作

👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:C航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&#x1…

Unity实现倒计时和获取系统时间

一:创建UGUI 1.创建Canvas画布组件,调节Canvas画布的分辨率等其他设置。我们可以把视图设置为2D模式下。 2.创建Text文本组件,取名为Timer计时器,我们调整Text文本组件的大小,用锚点设置Text文本组件的位置,并且设置好Text文本组件的颜色。 3.我们再创建一个Text文…

第三方系统访问微搭低代码的后端API

微搭低代码使用的是文档型数据库,有时候会有数据集成的需求,将低代码的数据库中的数据抽取到第三方系统中。本篇就介绍一下本地抽取数据以及云函数中抽取数据 1 本地抽取数据 本地抽取数据我们以nodejs作为后端服务,本机要求先安装好nodejs…

自然语言处理实战项目16- 基于CPU的大语言模型的实战训练全流程指导,模型调优与评估

大家好,我是微学AI,今天给大家介绍一下自然语言处理实战项目16- 基于CPU的生成式大语言模型的实战训练全流程详细讲解,模型调优与评估。该流程涵盖了数据准备、数据预处理、词表构建、模型选择与配置、模型训练、模型调优和模型评估等步骤。通过不断迭代和优化,可以提高模型…

客户端读写HBase数据库的运行原理

1.HBase的特点 HBase是一个数据库,与RDMS相比,有以下特点: ① 它不支持SQL ② 不支持事务 ③ 没有表关系,不支持JOIN ④ 有列族,列族下可以有上百个列 ⑤ 单元格,即列值,可以存储多个版本的值&…

海康威视相机-LINUX SDK 开发

硬件与环境 相机: MV-CS020-10GC 系统:UBUNTU 22.04 语言:C 工具:cmake 海康官网下载SDK 运行下面的命令进行安装 sudo dpkg -i MVSXXX.deb安装完成后从在/opt/MVS 路径下就有了相关的库,实际上我们开发的时候只需要…

3d Max因卡顿未保存?有什么保护文件和恢复操作呢?

大家在使用3d Max进行建模、渲染和动画制作的过程中,由于各种原因导致软件卡顿或崩溃是很常见的情况。 当卡顿发生时,如果之前的工作没有及时保存,可能会导致数据的丢失和时间的浪费。 一、先来看看保护文件 1、自动保存设置 3d Max提供了自…

一文快速读懂数据安全平台的优势与价值,让数据安全化繁为简

在大数据时代,数据已经成为公司的核心竞争力。《数字中国建设整体布局规划》为数字中国建设提出了“2522”整体框架布局,其中明确将“数字安全屏障”作为战略实施的两大关键能力之一,表明了数据安全是数字经济背后的重要工作。 广泛的数字化转…