启发式算法之灰狼优化算法

这篇具有很好参考价值的文章主要介绍了启发式算法之灰狼优化算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言   

蚁群算法?秃鹰算法?布谷鸟算法?鱼群算法?猴群算法?这都是些啥?

灰狼算法,算法,人工智能,机器学习

这些算法听起来都很接地气,实际上也确实很接地气。它们都是学者通过观察动物们的行为得到的灵感,从而设计出来的精彩的算法。以动物命名的算法可远不止这些,比如还有蜂群算法、狼群算法、蝙蝠算法,萤火虫算法等,而这些都可以统称为启发式算法。

今天,要给大家介绍的也是一种启发式算法——灰狼优化算法(Grey Wolf Optimizer,GWO)是由自然界中灰狼群体的社会等级机制和捕猎行为而衍生出来的一种群体优化智能算法,目前已成功运用到车间调度、参数优化、图像分类等领域中。

一、灰狼群的等级制度 

在介绍算法本身之前,我们先来聊聊灰狼群中有趣的等级制度。灰狼隶属于群居生活的犬科动物,是食物链的顶级掠食者,他们严格遵守着一个社会支配等级关系。如图:

灰狼算法,算法,人工智能,机器学习
图一 灰狼等级分层

灰狼群一般分为4个等级:处于第一等级的灰狼是领头狼,用α表示,它们主要负责各类决策,然后将决策下达至整个种群;处于第二阶级的灰狼用β表示,称为从属狼,用于辅助α狼制定决策或其他种群活动;处于第三阶段的灰狼用δ表示,侦察狼、守卫狼、老狼和捕食狼都是这一类。处于第四等级的灰狼用ω表示,它们在灰狼群中扮演了"替罪羊"的角色(好惨),同时它们必须要屈服于其他等级的狼。

  二、数学模型  

  • 等级制度

依据上述灰狼等级制度,可以对灰狼的社会等级进行数学建模,认为最合适的解是α,那么第二和第三最优解分别表示为β和δ,而剩余其他解都假定为ω。在GWO中,通过α、β和δ来导引捕食(优化),ω听从于这三种狼。

  • 包围猎物

灰狼算法,算法,人工智能,机器学习

  • 狩猎

灰狼具有识别潜在猎物(最优解)位置的能力,但很多问题的空间特征是未知的,因此灰狼无法确定猎物(最优解)的精确位置。为了模拟整个过程,这里假设α、β和δ识别潜在猎物位置的能力较强,所以,在每一次的迭代过程中,将保留当前种群中的最好三只灰狼(α、β和δ),然后再根据它们的位置信息来更新其它搜索代理(包括ω)的位置。

灰狼算法,算法,人工智能,机器学习
图二 包围和狩猎

灰狼个体跟踪猎物位置的数学模型描述如下:

灰狼算法,算法,人工智能,机器学习

  • 攻击猎物

当猎物停止移动时,灰狼通过攻击来完成整个狩猎过程。为了模拟逼近猎物,a值的减少会引起A的值也随之波动,也就是说,在a由2收敛至0的过程中,A在区间[-a,a]内变化。

灰狼算法,算法,人工智能,机器学习
图三 攻击猎物和寻找猎物

如上图,当A的值位于区间内时,灰狼的下一位置可以位于其当前位置和猎物位置之间的任意位置。当|A|<1时,狼群向猎物发起攻击(陷入局部最优),当|A|>1时,灰狼与猎物分离,希望找到更合适的猎物(全局最优)。

  • 寻找猎物

灰狼主要依据α,β和δ的位置信息来寻找猎物,它们开始会分散地去搜索猎物位置信息,然后集中起来攻击猎物。基于数学模型的散度,可以通过|A|>1迫使捜索代理远离猎物,这种方式使得灰狼优化算法可以在全局寻找最优解。同时,GWO 算法中的另一个搜索系数是C。从式(4)可知,C是[0,2]之间的随机值,此系数表示灰狼当前位置对猎物影响的随机权重,C>1是增加,反之减少。这有助于 GWO 在优化过程中展示出随机搜索行为,避免算法陷入局部最优。

  三、算法流程  

简单的讲,狼群中有α,β和δ三只灰狼做头狼,α是狼王,β、δ分别排第二第三,β要听老大α的,δ要听α、β的。这三头狼指导着狼群里其他的狼寻找猎物,狼群寻找猎物的过程就是我们寻找最优解的过程。

具体的算法流程如下图:

  

灰狼算法,算法,人工智能,机器学习

算法的优点

  • 算法操作简单

  • 参数设置少

  • 鲁棒性强

  • 收敛速度相对同类算法更快

  • 精确度较高

算法的缺点

  • 种群多样性差

  • 后期收敛速度慢

  • 易陷入局部最优

目前有很多学者,针对灰狼优化算法的不足之处提出了对应的改进算法,比如通过反向学习策略优化初始化种群分布以此增加全局搜索能力,还有学者通过引入混沌算子、设置算法参数更新控制变量,以应对灰狼优化算法后期收敛速度慢、可能陷入局部最优解的缺点。

✎ 写在最后 

大自然一直都是我们最好的老师,与人类开发的技术相比,大自然的解决方案往往更高效、更持久。通过对动物行为的观察,不少学者都提出了能用于解决实际问题的算法,这也告诉我们,平时要仔细观察,善于思考,说不定哪天你也可以提出一个类似的算法,解决你所遇到的问题。

本期内容就到这里了,如果喜欢就点个关注吧,微信公众号搜索“数 新 网 络 科 技 号”可查看更多精彩内容~文章来源地址https://www.toymoban.com/news/detail-541516.html

到了这里,关于启发式算法之灰狼优化算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 元启发式算法库 MEALPY 初体验-遗传算法为例

    官网: MealPY官网 开源许可: (GPL) V3 MEALPY (MEta-heuristic ALgorithms in PYthon) 是一个提供最新自然启发式元启发算法的Python模块,它是最大的此类Python模块之一。这些算法模仿自然界中的成功过程,包括生物系统以及物理和化学过程。mealPy 的目标是免费向所有人分享元启发领域的知识

    2024年04月11日
    浏览(32)
  • 求解三维装箱问题的启发式深度优先搜索算法(python)

    给定一个容器(其体积为 V V V ) 和一系列待装载的箱子,容器和箱子的形状都是长方体。问题的目标是要确定一个可行的箱子放置方案使得在满足给定装载约束的情况下,容器中包含的箱子总体积 S S S 尽可能的大,即填充率尽可能的大,这里填充率指的是 S / V ∗ 100 % S/ V * 1

    2024年02月05日
    浏览(87)
  • 启发式搜索算法:A算法(全局、局部择优算法)+A*算法 解决八数码问题

    参考博客:人工智能搜索策略:A*算法 在图搜索算法中,如果能在搜索的每一步都利用估价函数f(n)=g(n)+h(n)对Open表中的节点进行排序,则该搜索算法为 A算法 。由于估价函数中带有问题自身的启发性信息,因此,A算法又称为启发式搜索算法。 对启发式搜索算法,又可根据搜

    2024年02月10日
    浏览(28)
  • 数学启发式

    优化求解器 | Gurobi 数学启发式算法:参数类型与案例实现 数学启发式算法 | 可行性泵 (Feasibility Pump)算法精讲:一份让您满意的【理论介绍+编程实现+数值实验】学习笔记(Python+Gurobi实现) 大佬到底是大佬!这些资料太适合我这种没基础的人了! 数学启发式(Mathematical Heurist

    2024年02月04日
    浏览(25)
  • 【图论】树上启发式合并

    本篇博客参考: Oi Wiki 树上启发式合并 算法学习笔记(86): 树上启发式合并 首先,什么是 启发式合并 ? 有人将其称为“优雅的暴力”,启发式合并就是在合并两个部分的时候,将内容少的部分合并至内容多的部分,减少合并的操作时间 树上启发式合并(dsu on tree) 可以被用

    2024年04月15日
    浏览(41)
  • 【微电网_储能】基于启发式状态机策略和线性程序策略优化方法的微电网中的储能研究【给定系统约束和定价的情况下】(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 能源管理

    2023年04月24日
    浏览(37)
  • 树上启发式合并(dsu on tree)

    dsu on tree dsu text{dsu} dsu 一般指 disjoint set union text{disjoint set union} disjoint set union ,即并查集。 dsu on tree text{dsu on tree} dsu on tree 指树上合并与查询操作,但它的实现和普通的并查集并无关联,两者的共同点仅仅在于都能合并集合和查询而已。 dsu on tree text{dsu on tree} d

    2024年02月16日
    浏览(32)
  • 【论文阅读】聚集多个启发式信号作为监督用于无监督作文自动评分

    本文提出一个新的无监督的AES方法ULRA,它不需要真实的作文分数标签进行训练; ULRA的核心思想是使用多个启发式的质量信号作为伪标准答案,然后通过学习这些质量信号的聚合来训练神经自动评分模型。 为了将这些不一致的质量信号聚合为一个统一的监督信号,我们将自动

    2024年02月16日
    浏览(27)
  • 【无码专区1】简单路径的第二大边权(启发式合并+最小生成树)

    只有std,没有自我实现,所以叫做无码专区 description 给一张无向图,多次询问,每次询问两个点之间所有简单路径(不重复经过点)中边权第二大(不是严格第二大)的权值的最小值。 数据范围: 1 0 5 10^5 1 0 5 级别 我的想法 前 50 % 50% 5 0 % 的数据 q , n ≤ 1 0 3 , m ≤ 2 × 1 0

    2024年02月08日
    浏览(26)
  • 如何进行测试分析与设计-HTSM启发式测试策略模型 | 京东云技术团队

    测试,没有分析与设计就失去了灵魂; 测试人员在编写用例之前,该如何进行测试分析与设计呢?上次在《测试的底层逻辑》中讲到了【输入输出测试模型】,还讲到了【2W+1H测试分析法】,但2W1H分析法是初步的分析方法,具体在测试中如何落地,还需要更细的设计。 今天

    2024年02月05日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包