三种灰狼优化算法(Grey Wolf Optimization)及仿真实验——附代码Matalb

news/2024/12/1 0:46:23/

目录

摘要:

灰狼算法原理:

灰狼算法流程:

改进的灰狼算法:

多目标的灰狼算法:

三种灰狼算法运行效果:

(1)GWO

(2)I-GWO

(3)MO-GWO


摘要:

灰狼优化算法(Grey Wolf Optimization)。GWO通过模拟灰狼群体捕食行为,基于狼群群体协作的机制来达到优化的目的。GWO算法具有结构简单、需要调节的参数少、容易实现等特点,其中存在能够自适应调整的收敛因子以及信息反馈机制,能够在局部寻优与全局搜索之间实现平衡,因此在对问题的求解精度和收敛速度方面都有良好的性能。本文实现了三种不同的GWO算法,并通过仿真实验验证了该智能算法在求解优化问题方面的有效性,程序关键行均有注释。实现的三种GWO算法分别为:

  1. 原始GWO算法
  2. 改进的GWO算法(I-GWO)
  3. 多目标GWO算法(MO-GWO)

灰狼算法原理:

灰狼属于犬科动物,被认为是顶级的掠食者,它们处于生物圈食物链的顶端。灰狼大多喜欢群居,每个群体中平均有5-12只狼。特别令人感兴趣的是,它们具有非常严格的社会等级层次制度,如图所示。

金字塔第一层为种群中的领导者,称为α。在狼群中α是具有管理能力的个体,主要负责关于狩猎、睡觉的时间和地方、食物分配等群体中各项决策的事务。

金字塔第二层是α的智囊团队,称为β。β主要负责协助α进行决策。当整个狼群的α出现空缺时,β将接替α的位置。β在狼群中的支配权仅次于α,它将α的命令下达给其他成员,并将其他成员的执行情况反馈给α起着桥梁的作用。

金字塔第三层是δ,δ听从α和β的决策命令,主要负责侦查、放哨、看护等事务。适应度不好的α和β也会降为δ。

金字塔最底层是ω,主要负责种群内部关系的平衡。

此外,集体狩猎是灰狼的另一个迷人的社会行为。灰狼的社会等级在群体狩猎过程中发挥着重要的作用,捕食的过程在α的带领下完成。灰狼的狩猎包括以下3个主要部分:

1)跟踪、追逐和接近猎物;

2)追捕、包围和骚扰猎物,直到它停止移动;

3)攻击猎物。

灰狼算法流程:

GWO算法的优化从随机创建一个灰狼种群(候选方案)开始。在迭代过程中,α,β和δ狼估计猎物的可能位置(最优解)。灰狼根据它们与猎物的距离更新其位置。为了搜索过程中的勘探和开发,参数a应该从2递减到0。如果|A|>1,候选解远离猎物;如果|A|<1,候选解逼近猎物。GWO算法的流程图如图所示

改进的灰狼算法:

GWO存在如下缺点:

1)种群多样性差,这是由GWO的初始种群生成方式导致的。随机初始化生成初始种群的方式无法保证较好的种群多样性。

2)后期收敛速度慢,这是由GWO算法的搜索机制造成的。狼群主要依据与α,β和δ的距离来判断与猎物之间的距离,导致后期的收敛速度较慢。

3)易陷入局部最优,这是因为α狼不一定是全局最优点,在不断的迭代中,ω不断逼近前3匹狼,导致GWO算法陷入局部最优解。

对此提出改进,利用佳点集理论对种群进行初始化。当取点的个数相同时,佳点序列选取的点序列的均匀化程度优于其他方法。因此,佳点集方法生成的初始种群的个体分布均匀,保证了种群的多样性,从而为算法的全局寻优奠定了基础。

多目标的灰狼算法:

MGWO算法流程

Step1:初始化狼群,计算种群中的非支配解集Archive(大小确定),对Archive中的解进行网格计算求网格坐标值。
迭代开始
Step2:从初始Archive中根据网格选择α、β、σ\alpha、\beta、\sigmaα、β、σ,根据三个解进行狼群中所有个体的位置更新。
Step3:全部位置更新之后,计算更新之后种群的非支配解集non_dominates。
Step4:Archive更新—将non_dominates与Archive合并后计算两者的非支配解集,判断是否超过规定的Archive大小,如果超过,根据网格坐标进行删除。
本次迭代结束
Step5:判断是否达到最大迭代次数,是,输出的Archive.否,转Step2.

三种灰狼算法运行效果:

(1)GWO

(2)I-GWO

(3)MO-GWO


http://www.ppmy.cn/news/70047.html

相关文章

深度学习 -- 张量操作与线性回归 张量的数学运算以及用张量构建线性回归模型

前言 这篇博客继承前篇博客的内容,将对张量的操作进行阐述,同时在理解张量的一些数学的基础上,配合机器学习的理论,在pytorch环境中进行一元线性回归模型的构建。 张量的拼接与切分 torch.cat() 功能:将张量按维度d…

Educational Codeforces Round 148 (Rated for Div. 2) ABC题

这里写目录标题 A. New Palindrome题目描述(英文)题意思路代码注释 B. Maximum Sum题目题意思路代码注释 C. Contrast Value题目题意思路代码注释 A. New Palindrome 题目描述(英文) A. New PalindromeA palindrome is a string…

【企业信息化】第4集 免费开源ERP: Odoo 16 Rental租赁管理系统

文章目录 前言一、概览二、使用功能1.提高出租效率2.产品 & 价格3.销售订单4.跟进5.报告6.集成 三、总结 前言 唯一可以满足您所有需求的租赁软件 从时间安排到开具发票。 您的所有租赁流程都集中在一处。 一、概览 从租金报价到发票 从一处管理所有事务。 从一个视图创建您…

第二个机器学习应用:乳腺癌数据集在决策树模型上的挖掘

目录 决策树优化与可视化 1 决策树分类 2 决策树可视化 3 显示树的特征重要性 特征重要性可视化 决策树回归 1 决策树回归 决策树优化与可视化 1 决策树分类 from sklearn.datasets import load_breast_cancer from sklearn.tree import DecisionTreeClassifier from sk…

【神经网络】tensorflow实验8--梯度下降法

1. 实验目的 ①掌握TensorFlow的可训练变量和自动求导机制 ②能够使用TensorFlow实现梯度下降法,求解一元和多元线性回归问题 2. 实验内容 下载波士顿房价数据集,使用线性回归模型实现对波士顿房价的预测,并以可视化的形式输出模型训练的过…

Qt libqrencode二维码——QtWidgets

前言 之前写过二维码的程序,但是在U盘上,没带,又重新找的网上资料写的。 网上二维码的生成,大多用到是第三方库libqrencode,这也一样: 效果图 本来是个动图的,都被和谐了,所以换成截图&…

【RV1126】移植kaldi实时语音识别

文章目录 算法一、环境1.1 硬件环境--RV1126开发板1.2 交叉编译器1.3 需要Cmake版本大于3.1以上 二、交叉编译sherpa2.1 下载sherpa2.2 编译sherpa2.3 运行测试 三、下载模型四、语音测试4.1 单个语音文件解码测试4.2 开发板上使用alsa架构从MIC说话测试 算法 参考&#xff1a…

图像增强库albumentations(v1.3.0, 2023.5)中所有图像增强方法记录(class)

整体概要 变换类型具体类模糊/噪声AdvancedBlur*,Blur*,Downscale*,Defocus*,GlassBlur*,GaussianBlur*,GaussNoise*,ImageCompression*,ISONoise*,MultiplicativeNoise…