强化狼群等级制度的灰狼优化算法-附代码
强化狼群等级制度的灰狼优化算法
文章目录
- 强化狼群等级制度的灰狼优化算法
- 1.灰狼优化算法
- 2. 改进灰狼优化算法
- 2.1 GWOSH算法的基本思想
- 2. 2 GWOSH算法
- 3.实验结果
- 4.参考文献
- 5.Matlab代码
- 6.Python代码
摘要: 针对灰狼优化算法在处理复杂优化问题时优化精度不高,易陷于局部最优等问题,提出了一种强化狼群等级制度的灰狼优化算法。该算法为灰狼个体设置了跟随狩猎和自主探索两种狩猎模式,并根据自身等级情况来控制选择狼群的狩猎模式。在跟随狩猎模式中,灰狼个体以等级高于自身的灰狼的位置信息来指引自己到达最优解区域;而在自主探索模式中,灰狼个体会同时审视等级高于自身的灰狼的位置信息和自身位置信息,并基于这些信息自主判断猎物的位置,同时两种更新模式都将引入优胜劣汰选择规则来确保种群的狩猎方向。
1.灰狼优化算法
基础灰狼算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107716390
2. 改进灰狼优化算法
2.1 GWOSH算法的基本思想
从 GWO 算法可知,它的狩猎模型是先由 α 狼,β 狼和 δ 狼共同负责对猎物的位置进行评估定位,然后其余个体以此为标准计算自身与猎物之间的距离,并完成对猎物的全方位靠近、包围和攻击等行为,最终完成狩猎。在这个过程中 α 狼,β 狼、δ 狼及 ω 狼的等级特性体现的并不是很明显,而 α 狼,β 狼和 δ狼的位置信息对于其他个体的位置更新又起着绝对的引导作用,容易致使整个狼群过早聚集于群体当前最优位置的某一邻域内。另外,探索能力还受制于两个探索参数 A 和 C 的较小取值范围,从而导致算法易陷于局部最优。
灰狼家族有着严格的社会等级管理制度,不同等级的灰狼享有不同的权利和社会分工,灰狼所属的等级越高,对猎物的情况就有更好的了解,自主能动性也越强,且这种等级制度在狼群实现团体高效捕杀猎物的过程中发挥着至关重要的作用。因此,本文提出一种强化狼群等级制度的灰狼优化算法,以期提高其性能。
2. 2 GWOSH算法
设狼群的搜索空间为一个 N×DN \times DN×D 的欧式空间, 其中 NNN 为灰狼数量, DDD 为待寻优的变量数。设第 iii 只灰狼 ttt 时刻的位置为 Xi(t)=(xi1t,xi2t,⋯,xiDt)\boldsymbol{X}_{i}(t)=\left(x_{i 1}^{t}, x_{i 2}^{t}, \cdots, x_{i D}^{t}\right)Xi(t)=(xi1t,xi2t,⋯,xiDt), 当前找到具有最优适应值的 α\alphaα 狼位置为 Xat=\boldsymbol{X}_{a}^{t}=Xat= (xa1t,xa2t,⋯,xaDt)\left(x_{a 1}^{t}, x_{a 2}^{t}, \cdots, x_{a D}^{t}\right)(xa1t,xa2t,⋯,xaDt), 当前次优适应值的 β\betaβ 狼位置为 Xβt=(xβ1t,xβ2t,⋯,xβDt)\boldsymbol{X}_{\beta}^{t}=\left(x_{\beta 1}^{t}, x_{\beta 2}^{t}, \cdots, x_{\beta D}^{t}\right)Xβt=(xβ1t,xβ2t,⋯,xβDt), 当前第三适应值的 δ\deltaδ 狼位置 为 Xδt=(xδ1t,xδ2t,⋯,xδDt)\boldsymbol{X}_{\delta}^{t}=\left(x_{\delta 1}^{t}, x_{\delta 2}^{t}, \cdots, x_{\delta D}^{t}\right)Xδt=(xδ1t,xδ2t,⋯,xδDt) 。
为了强化等级制度对于狼群狩猎的影响, 为每个灰狼个体设计两种狩猎模式: 跟随狩猎模式和自 主探索模式。为了设计算法模型, 作出如下假设:(1)每头狼采用跟随狩猎模式和自主探索模式; (2) 每头狼依据一定的规则来确定其狩猎模式。跟随狩猎模式中的灰狼个体的位置更新原理类似于原始 GWO\mathrm{GWO}GWO 算法, 只是仅以等级高于自身的灰狼的位置信息来指引自已到达最优解区域; 而在自主探索模 式中, 灰狼个体会同时审视等级高于自身灰狼的位置信息和自身位置信息, 并以这些信息为基础采用 随机变向的方式来更新自已的位置, 同时两种更新模式都将引入优胜劣汰选择规则来确保种群的狩 猎方向。
每只灰狼会根据自身所属等级情况来确定其狩猎模式。GWOSH 算法先将候选解按适应度值的优 尒划分为 4 个等级, 适应度值最优者为 α\alphaα 狼, 其等级为 1 ; 适应度值次优者为 β\betaβ 狼, 其等级为 2 ; 适应度值 第三优者为 δ\deltaδ 狼, 其等级为 3 ; 余下的候选解为 ω\omegaω 狼, 其等级为 4 , 记第 iii 头狼 ttt 时刻的等 级为 Si(t)S_{i}(t)Si(t), 则 Si(t)=1S_{i}(t)=1Si(t)=1 表示第 iii 头灰狼 ttt 时刻在群体中所属等级为 1,Si(t)=21, S_{i}(t)=21,Si(t)=2 表示第 iii 头灰狼 ttt 时刻在群体中所属 等级为 2 , 依次类推。然后, 用决策因子 DFi(t)D F_{i}(t)DFi(t) 来标记每一头灰狼个体的等级情况, 其计算公式为
DFi(t)=L−SitL−1(12)D F_{i}(t)=\frac{L-S_{i}^{t}}{L-1}\tag{12} DFi(t)=L−1L−Sit(12)
式中: LLL 为狼群所分等级总数, 即 L=4L=4L=4 。从式 (12) 可看出, 对于等级为 1 的 α\alphaα 狼而言, 其决策因子 DFi(t)=1D F_{i}(t)=1DFi(t)=1, 等级为 2 的 β\betaβ 狼的决策因子 DFi(t)=0.67D F_{i}(t)=0.67DFi(t)=0.67, 等级为 3 的 δ\deltaδ 狼的决策因子 DFi(t)=0.33D F_{i}(t)=0.33DFi(t)=0.33, 等 级为 4 的 ω\omegaω 狼的决策因子为 0 。
在每一次的迭代过程中, 对于每一个候选解都会先生成一个 [0,1][0,1][0,1] 间的随机数 r0r_{0}r0, 如果 r0⩽DFir_{0} \leqslant D F_{i}r0⩽DFi (t)(t)(t), 则灰狼 iii 在 ttt 时刻就会采用自主探索模式, 否则采用跟随狩猎模式。显然对于 α\alphaα 狼因其决策因子为 1 , 而 r0r_{0}r0 恒小于或等于 1 , 所以 α\alphaα 狼有且仅有一种狩猎模式即自主探索狩猎模式, 对于 ω\omegaω 狼因其决策因子 为 0 , 而 r0r_{0}r0 大于或等于 0 , 所以 ω\omegaω 狼仅能采用跟随狩猎模式。
对于 α\alphaα 狼, 其位置更新公式为
{Xidt+1=Xaktd≠kXidt+1=Xadt+2⋅a⋅r3⋅(Xmdt−Xndt)d=k(13)\begin{cases}\boldsymbol{X}_{i d}^{t+1}=\boldsymbol{X}_{a k}^{t} & d \neq k \\ \boldsymbol{X}_{i d}^{t+1}=\boldsymbol{X}_{a d}^{t}+2 \cdot a \cdot r_{3} \cdot\left(\boldsymbol{X}_{m d}^{t}-\boldsymbol{X}_{n d}^{t}\right) & d=k\end{cases} \tag{13} {Xidt+1=XaktXidt+1=Xadt+2⋅a⋅r3⋅(Xmdt−Xndt)d=kd=k(13)
式中: kkk 为 {1,2,⋯,D}\{1,2, \cdots, D\}{1,2,⋯,D} 中的一个随机数; mmm 和 nnn 为区间 [1,N][1, N][1,N] 内与 iii 不等的随机整数, 且两两互不相等; aaa 为整个迭代过程中从 2 到 0 的一个线性递减参数, r3r_{3}r3 为区间 [0,1][0,1][0,1] 中的一个随机数, Xa\boldsymbol{X}_{a}Xa 表示具有最优 适应值的 α\alphaα 狼的位置。
对于 β\betaβ 狼, 按式 (14) 进行位置更新, 即有
{Xidt+1=X1dr0>0.67Xidt+1=(Xokt+Xpkt)/2r0⩽0.67(14)\begin{cases}\boldsymbol{X}_{i d}^{t+1}=\boldsymbol{X}_{1 d} & r_{0}>0.67 \\ \boldsymbol{X}_{i d}^{t+1}=\left(\boldsymbol{X}_{o k}^{t}+\boldsymbol{X}_{p k}^{t}\right) / 2 & r_{0} \leqslant 0.67\end{cases} \tag{14} {Xidt+1=X1dXidt+1=(Xokt+Xpkt)/2r0>0.67r0⩽0.67(14)
式中: kkk 为 {1,2,⋯,D}\{1,2, \cdots, D\}{1,2,⋯,D} 中的一个随机数; X1\boldsymbol{X}_{1}X1 来自于式 (8); Xa\boldsymbol{X}_{a}Xa 和 Xβ\boldsymbol{X}_{\beta}Xβ 分别表示 α\alphaα 狼和 β\betaβ 狼的位置。 对于 δ\deltaδ 狼, 其按式(15) 进行位置更新, 即有
{Xidt+1=(X1d+X2d)/2r0>0.33Xidt+1=(Xakt+Xpkt+Xokt)/3r0⩽0.33(15)\begin{cases}\boldsymbol{X}_{i d}^{t+1}=\left(\boldsymbol{X}_{1 d}+\boldsymbol{X}_{2 d}\right) / 2 & r_{0}>0.33 \\ \boldsymbol{X}_{i d}^{t+1}=\left(\boldsymbol{X}_{a k}^{t}+\boldsymbol{X}_{p k}^{t}+\boldsymbol{X}_{o k}^{t}\right) / 3 & r_{0} \leqslant 0.33\end{cases} \tag{15} {Xidt+1=(X1d+X2d)/2Xidt+1=(Xakt+Xpkt+Xokt)/3r0>0.33r0⩽0.33(15)
式中: kkk 为 {1,2,⋯,D}\{1,2, \cdots, D\}{1,2,⋯,D} 中的一个随机数; X1\boldsymbol{X}_{1}X1 和 X2\boldsymbol{X}_{2}X2 分别来自于式 (8) 和式 (9); Xα,Xβ\boldsymbol{X}_{\alpha}, \boldsymbol{X}_{\beta}Xα,Xβ 和 Xδ^\boldsymbol{X}_{\hat{\delta}}Xδ^ 分别表示 α\alphaα 狼、 β\betaβ 狼和 δ\deltaδ 狼的位置。
对于 ω\omegaω 狼, 按式 (16) 进行位置更新, 即有
Xidt+1=(X1d+X2d+X3d)/3(15)\boldsymbol{X}_{i d}^{t+1}=\left(\boldsymbol{X}_{1 d}+\boldsymbol{X}_{2 d}+\boldsymbol{X}_{3 d}\right) / 3\tag{15} Xidt+1=(X1d+X2d+X3d)/3(15)
式中: X1,X2\boldsymbol{X}_{1}, \boldsymbol{X}_{2}X1,X2 和 X3\boldsymbol{X}_{3}X3 分别来自于式 (8-10)。
为了确保种群的进化方向, GWOSH 算法还引入了优胜劣汰选择规则来保留每一代的最优解, 即如 果新个体的适应度值 f(new)f(\mathrm{new})f(new) 优于上一代该个体的适应度值 fff (old), 则用新个体的位置替代上一代个 体的位置, 否则保留上一代个体的位置, 该规则可表示为
xidt+1={xidnew t+1f(old)⩽f(new )xidold t其他 (16)x_{i d}^{t+1}=\left\{\begin{array}{cc} x_{i d \text { new }}^{t+1} & f(\mathrm{old}) \leqslant f(\text { new }) \\ x_{\text {idold }}^{t} & \text { 其他 } \end{array}\right.\tag{16} xidt+1={xid new t+1xidold tf(old)⩽f( new ) 其他 (16)
GWOSH 算法流程具体如下:
(1)参数初始化。设置种群个数为 NNN, 最大迭代次数为 Maxgen;
(2) 根据变量的上下界来随机初始化灰狼个体的位置 Xi\boldsymbol{X}_{i}Xi, 其中, i=1,2,⋯,Ni=1,2, \cdots, Ni=1,2,⋯,N;
(3)计算狼群中每一头狼的适应度值;
(4)按适应度值从优到差的顺序对狼群进行排序, 并分别保存当前获得的具有最优、次优和第三优 适应度值的灰狼的位置信息 Xa,Xβ\boldsymbol{X}_{a}, \boldsymbol{X}_{\beta}Xa,Xβ 和 Xδ^\boldsymbol{X}_{\hat{\delta}}Xδ^ 。同时, 用 Si(t)S_{i}(t)Si(t) 来标记每个灰狼个体的所属等级, 适应度值 最优者 Si(t)=1S_{i}(t)=1Si(t)=1; 次优者 Si(t)=2S_{i}(t)=2Si(t)=2; 第三优者 Si(t)=3S_{i}(t)=3Si(t)=3, 剩下的灰狼个体 Si(t)=4S_{i}(t)=4Si(t)=4;
(5) 对狼群位置进行更新。 Si(t)=1,2,3S_{i}(t)=1,2,3Si(t)=1,2,3 和 4 的灰狼分别根据式 (13-16) 进行位置更新;
(6) 计算狼群中每一头狼的适应度值;
(7) 依据优胜劣汰选择规则, 按式 (17)确定是否接受该新位置;
(8)更新参数 a,Aa, \boldsymbol{A}a,A 和 C\boldsymbol{C}C;
(9) 判断是否到达最大迭代次数 Maxgen, 若满足则停止并返回 Xa\boldsymbol{X}_{a}Xa 的值作为最终得到的最优解, 否 则转到 (4)。
3.实验结果
4.参考文献
[1]张新明,涂强,康强,程金凤.强化狼群等级制度的灰狼优化算法[J].数据采集与处理,2017,32(05):879-889.
5.Matlab代码
6.Python代码
强化狼群等级制度的灰狼优化算法-附代码相关推荐
- 关于《强化狼群等级制度的灰狼优化算法》的问题邮件回复
声明: 自己当初在看到该文章的时候就抱着试试的态度,给作者发了 邮件,不过 会回复的那么快,而且每个问题都做说明,很是惊喜,还开心,之前就一直收藏在邮箱里,这两天重新翻阅,越发觉得应该贴出来.再次谢谢 ...
- 基于Cat混沌与高斯变异的改进灰狼优化算法-附代码
基于Cat混沌与高斯变异的改进灰狼优化算法 文章目录 基于Cat混沌与高斯变异的改进灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 混沌反向学习策略的种群初始化 2. 2 引入个体记忆 ...
- 非线性参数的精英学习灰狼优化算法-附代码
非线性参数的精英学习灰狼优化算法 文章目录 非线性参数的精英学习灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 精英反向学习 2. 2 调整收敛因子 a 2.3改造位置更新公式 3.实 ...
- 重选精英个体的非线性收敛灰狼优化算法-附代码
重选精英个体的非线性收敛灰狼优化算法 文章目录 重选精英个体的非线性收敛灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 收敛因子非线性调整策略 2. 2 精英个体重选策略 3.实验结果 ...
- 基于差分进化与优胜劣汰策略的灰狼优化算法-附代码
基于差分进化与优胜劣汰策略的灰狼优化算法 文章目录 基于差分进化与优胜劣汰策略的灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法(IGWO) 2.1 GWO 算法中的差分进化 2.2 狼群算法中 ...
- 基于 Iterative 映射和单纯形法的改进灰狼优化算法-附代码
基于 Iterative 映射和单纯形法的改进灰狼优化算法 文章目录 基于 Iterative 映射和单纯形法的改进灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法(SMIGWO) 2.1 混沌 ...
- 基于透镜成像学习策略的灰狼优化算法-附代码
基于透镜成像学习策略的灰狼优化算法 文章目录 基于透镜成像学习策略的灰狼优化算法 1.灰狼优化算法 2.基于透镜成像学习的 GWO 算法 2.1修改控制参数*C*策略 2.2 透镜成像反向学习策略 3 ...
- 具有自适应调整策略的混沌灰狼优化算法-附代码
具有自适应调整策略的混沌灰狼优化算法 文章目录 具有自适应调整策略的混沌灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 自适应调整策略 2. 2 混沌局部搜索策略 3.实验结果 4.参 ...
- 具有自适应搜索策略的灰狼优化算法-附代码
具有自适应搜索策略的灰狼优化算法 文章目录 具有自适应搜索策略的灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 自适应调整策略 2. 2 跳出局部最优策略 2.3 最优学习搜索方程 3 ...
- 一种改进的灰狼优化算法-附代码
一种改进的灰狼优化算法 文章目录 一种改进的灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 基于混沌的种群初始化方法 2.2 修改位置更新方程 2.3 控制参数随机调整策略 3.实验结 ...
最新文章
- tablueau地图标记圆形_高德地图实现自定义小蓝点 自定义点标记 绘制多边形/圆形区域 根据地图的移动显示或者隐藏自定义点标记的相关实现...
- web前端分享JavaScript到底是什么?特点有哪些?
- 解决MyEclipse里Tomcat端口被占用而无法启动的情况
- Java常见面试题汇总-----------JVM专题(Java类加载机制)
- macOS Safari使用EasyConnect插件的坑
- word公式居中 编号右对齐(制表位) - 公式自动编号(题注)- 公式交叉引用 - word无法粘贴
- 三维管型ybc预览以及动态成型仿真控件
- z世代消费力白皮书_年轻世代成消费主力军,时尚界迎来IP时代
- Python 网络爬虫微实战 (爬虫爬取贴吧消息词云显示) 超详解
- 设计师:设计师知识储备之硬装部分/软装部分简介、家装材料知识(吊顶材料/门窗材料/五金材料/墙面材料/地面材料/胶粘材料/油漆材料/水电材料/瓦工部分)之详细攻略
- (1)Unity使物体去掉影子
- web网页设计期末课程大作业~超高仿英雄联盟LOL游戏官网设计与实现(HTML+CSS+JavaScript)...
- PEP(Python Enhancement Proposals, python改进建议书)8--python代码风格指南
- C4D中英文对照—噪波基础设置
- 激活函数,优化技术和损失函数
- warning和error的区别
- 查域名怎么查?如何查询域名到期时间?
- vue-router的addRoutes()和addRoute()的使用问题
- tcpdump抓包,Android抓包不用设置代理
- PPTV网络电视 3.1.9.0042官方正式版下载 (原PPLive)