改进收敛因子和比例权重的灰狼优化算法【期刊论文完美复现】(Matlab代码实现)

ops/2025/2/25 23:58:14/

2 灰狼优化算法

2.1 基本灰狼优化算法

灰狼优化算法是一种模拟灰狼捕猎自然群体行为的社会启发式优化算法,属于一种新型的群体智能优化算法。灰狼优化算法具有高度的灵活性,是当前较为流行的优化算法之一。灰狼优化算法主要分为三个阶段:追击猎物、包围猎物、攻击猎物。

假设灰狼群体由 N 个个体组成,假设它们的位置为 X i X_i Xi,群体成员的解为 X X X,优先解为 X g X_g Xg,第三步是攻击猎物,把其他个体 x x x 所执行的行为的数学模型如下:

X ( i + 1 ) = X ( i ) − A ⋅ D X(i+1) = X(i) - A \cdot D X(i+1)=X(i)AD

其中, A A A 表示当前随机变量, X X X C C C 是常数项, X i X_i Xi 是群体的当前位置, D D D 是当前位置的猎物位置。

2.2 改进灰狼优化算法(CGWO)

2.2.1 基于学习和变换的改进灰狼优化算法

文献[3]可知,当 α = 1 \alpha = 1 α=1时,灰狼群体将计划搜索范围表示简单,即为搜索范围较大。当 α = 1 \alpha = 1 α=1时,灰狼群体在有效搜索范围内逐步进行查找,即局部搜索,较有效。因此,目标函数的局部灰狼算法的局部搜索能力得到了增强。

由此学者们发现GWO算法的局部搜索能力和全局搜索能力有较大关系。由式(3)可看出,当灰狼收敛时,与位置变化不大,收敛则与灰狼优化算法的学习策略变化有关。于是我们选择不修改的过程并不一定是最佳的,在此回顾并修改的结果可以不完全模拟实际的优化结果。接下来,本文提出了一种基于学习规律变化的改进算法,其优化结果表达为:

a = a min + ( a initial − a min ) [ 1 + cos ⁡ ( ( t − 1 ) π / ( t max − 1 ) ) ] / 2 a = a_{\text{min}} + \left( a_{\text{initial}} - a_{\text{min}} \right) \left[1 + \cos \left( (t-1) \pi / \left( t_{\text{max}} -1 \right) \right) \right] \, / \, 2 a=amin+(ainitialamin)[1+cos((t1)π/(tmax1))]/2

式中, a min a_{\text{min}} amin a initial a_{\text{initial}} ainitial 为初始值和最终值,本文取 a min = 2 a_{\text{min}} = 2 amin=2, a initial = 0 a_{\text{initial}} = 0 ainitial=0,为最小值, t max t_{\text{max}} tmax 为最大迭代次数, 0 ≤ t ≤ t max 0 \leq t \leq t_{\text{max}} 0ttmax,其变化图如图1所示。
在这里插入图片描述

图1:收敛后的变化图

由图1可以看出,原始收敛时的变化图是线性递减的,优化过程中相关的速度系数,优化后收敛时的变化是一个基于最优化率变化的曲线;其定义形式为:

a = a initial + ( a initial − a min ) ⋅ [ 1 − cos ⁡ ( ( t − 1 ) π / ( t max − 1 ) ) ] / 2 a = a_{\text{initial}} + \left( a_{\text{initial}} - a_{\text{min}} \right) \cdot \left[1 - \cos \left( (t-1) \pi / \left( t_{\text{max}} - 1 \right) \right) \right] \, / \, 2 a=ainitial+(ainitialamin)[1cos((t1)π/(tmax1))]/2
初期减小的较慢,使得收敛因子α较长时间保持较大值,从而使A保持较大值的时间长些,以提高搜索效率;迭代后期减小的较快,使得α较长时间保持较小值,从而使A保持较小值的时间长些,以提高搜索精度。因此,平衡了算法的全局搜索和局部搜索能力。

2.2.2 引入动态权重策略

下面是常见的比例权重表示,文献[12]中给出了两种不同的分配权重的方法。

(1)第一种是加权平均,表达式如下:

X ( t + 1 ) = 5 X 1 + 3 X 2 + 2 X 3 10 X(t+1) = \frac{5X_1 + 3X_2 + 2X_3}{10} X(t+1)=105X1+3X2+2X3

加权平均值是一种静态加权,此时有α、β和δ狼的权重分别是5、3和2,代表金字塔的等级结构,然后权重之和等于10。

(2)第二种是基于适应度值的比例权重,表达式如下:

W α = f α + f β + f δ f α , W β = f α + f β + f δ f β , W δ = f α + f β + f δ f δ W_\alpha = \frac{f_\alpha + f_\beta + f_\delta}{f_\alpha}, \quad W_\beta = \frac{f_\alpha + f_\beta + f_\delta}{f_\beta}, \quad W_\delta = \frac{f_\alpha + f_\beta + f_\delta}{f_\delta} Wα=fαfα+fβ+fδ,Wβ=fβfα+fβ+fδ,Wδ=fδfα+fβ+fδ

X ( t + 1 ) = X 1 ⋅ W α + X 2 ⋅ W β + X 3 ⋅ W δ W α + W β + W δ X(t+1) = \frac{X_1 \cdot W_\alpha + X_2 \cdot W_\beta + X_3 \cdot W_\delta}{W_\alpha + W_\beta + W_\delta} X(t+1)=Wα+Wβ+WδX1Wα+X2Wβ+X3Wδ

其中 W α W_\alpha Wα W β W_\beta Wβ W δ W_\delta Wδ分别表示α、β、δ狼所占的权重, f α f_\alpha fα f β f_\beta fβ f δ f_\delta fδ分别表示α、β、δ狼的适应度值。根据它们的适应度来计算分配给三头狼的权重,从而使α狼在狩猎过程中占有更大的权重,然后是第二个领先的β狼,以δ狼的最低权重结束,理论上是对潜在猎物位置的了解较少(优化)。

(3)文献[13]给出一种不同的基于适应度值的比例权重,表达式如下:

W α = f α f α + f β + f δ , W β = f β f α + f β + f δ , W δ = f δ f α + f β + f δ W_\alpha = \frac{f_\alpha}{f_\alpha + f_\beta + f_\delta}, \quad W_\beta = \frac{f_\beta}{f_\alpha + f_\beta + f_\delta}, \quad W_\delta = \frac{f_\delta}{f_\alpha + f_\beta + f_\delta} Wα=fα+fβ+fδfα,Wβ=fα+fβ+fδfβ,Wδ=fα+fβ+fδfδ

X ( t + 1 ) = X 1 ⋅ W α + X 2 ⋅ W β + X 3 ⋅ W δ X(t+1) = X_1 \cdot W_\alpha + X_2 \cdot W_\beta + X_3 \cdot W_\delta X(t+1)=X1Wα+X2Wβ+X3Wδ

(4)文献[14]提出一种基于步长欧氏距离的比例权重,表达式如下:

W 1 = ∣ X 1 ∣ ∣ X 1 ∣ + ∣ X 2 ∣ + ∣ X 3 ∣ , W 2 = ∣ X 2 ∣ ∣ X 1 ∣ + ∣ X 2 ∣ + ∣ X 3 ∣ , W 3 = ∣ X 3 ∣ ∣ X 1 ∣ + ∣ X 2 ∣ + ∣ X 3 ∣ W_1 = \frac{|X_1|}{|X_1| + |X_2| + |X_3|}, \quad W_2 = \frac{|X_2|}{|X_1| + |X_2| + |X_3|}, \quad W_3 = \frac{|X_3|}{|X_1| + |X_2| + |X_3|} W1=X1+X2+X3X1,W2=X1+X2+X3X2,W3=X1+X2+X3X3

X ( t + 1 ) = X 1 ⋅ W 1 + X 2 ⋅ W 2 + X 3 ⋅ W 3 3 X(t+1) = \frac{X_1 \cdot W_1 + X_2 \cdot W_2 + X_3 \cdot W_3}{3} X(t+1)=3X1W1+X2W2+X3W3

其中 W 1 W_1 W1 W 2 W_2 W2 W 3 W_3 W3分别表示α狼对β、δ狼的学习率。

引入上述四种比例权重均可以加快算法的收敛速度,通过实验,可以发现引入文献[14]所提出的步长欧氏距离的比例权重效果更好。下面通过理论角度对运用基于步长欧氏距离的比例权重效果进行研究验证。

首先给出如下命题:

X ( 1 ) X^{(1)} X(1) X ( 2 ) X^{(2)} X(2) X ( 3 ) X^{(3)} X(3)是三角形的三个顶点,X是三角形中任意一点,则可以用 X ( 1 ) X^{(1)} X(1) X ( 2 ) X^{(2)} X(2) X ( 3 ) X^{(3)} X(3)三个点的坐标表示。
在这里插入图片描述

证明 任选一项点 X ( 2 ) X^{(2)} X(2),作一条连接 X ( 2 ) X^{(2)} X(2)与X的直线,并延长交于 X ( 1 ) X ( 3 ) X^{(1)}X^{(3)} X(1)X(3)连线上一点 Y Y Y。因X是 Y Y Y X ( 2 ) X^{(2)} X(2)连线上一点,故可用 X ( 1 ) X ( 3 ) X^{(1)}X^{(3)} X(1)X(3)线性表示为:

Y = α X ( 1 ) + ( 1 − α ) X ( 3 ) ( 0 < α < 1 ) Y = \alpha X^{(1)} + (1-\alpha) X^{(3)} \quad (0 < \alpha < 1) Y=αX(1)+(1α)X(3)(0<α<1)

又因 Y Y Y X ( 1 ) X ( 3 ) X^{(1)}X^{(3)} X(1)X(3)连线上一点,故

X = λ Y + ( 1 − λ ) X ( 2 ) ( 0 < λ < 1 ) X = \lambda Y + (1-\lambda) X^{(2)} \quad (0 < \lambda < 1) X=λY+(1λ)X(2)(0<λ<1)

Y Y Y的表达式代入上式得到:

X = λ [ α X ( 1 ) + ( 1 − α ) X ( 3 ) ] + ( 1 − λ ) X ( 2 ) = λ α X ( 1 ) + λ ( 1 − α ) X ( 3 ) + ( 1 − λ ) X ( 2 ) X = \lambda[\alpha X^{(1)} + (1-\alpha) X^{(3)}] + (1-\lambda) X^{(2)} = \lambda \alpha X^{(1)} + \lambda (1-\alpha) X^{(3)} + (1-\lambda) X^{(2)} X=λ[αX(1)+(1α)X(3)]+(1λ)X(2)=λαX(1)+λ(1α)X(3)+(1λ)X(2)

μ 1 = λ α \mu_1 = \lambda \alpha μ1=λα μ 2 = ( 1 − λ ) \mu_2 = (1-\lambda) μ2=(1λ) μ 3 = λ ( 1 − α ) \mu_3 = \lambda (1-\alpha) μ3=λ(1α) 这样就得到:

X = μ 1 X ( 1 ) + μ 2 X ( 2 ) + μ 3 X ( 3 ) ( ∑ μ i = 1 , 0 < μ i < 1 ) X = \mu_1 X^{(1)} + \mu_2 X^{(2)} + \mu_3 X^{(3)} \quad (\sum \mu_i = 1, 0 < \mu_i < 1) X=μ1X(1)+μ2X(2)+μ3X(3)(μi=1,0<μi<1)

假设α、β、δ狼的位置为三角形的三个顶点 X ( 1 ) X^{(1)} X(1) X ( 2 ) X^{(2)} X(2) X ( 3 ) X^{(3)} X(3),则当X是三角形的重心时,有 μ 1 = μ 2 = μ 3 = 1 3 \mu_1 = \mu_2 = \mu_3 = \frac{1}{3} μ1=μ2=μ3=31,此时对应于基本GWO算法中的位置更新公式。而利用基于步长的欧氏距离计算 μ i \mu_i μi,使得 μ i \mu_i μi算法的每一次迭代过程中不断变化,从而使得领导层的灰狼动态的指导狼群前进。

因此,本文引入文献[14]所提出的基于步长欧氏距离的比例权重。

[1]王秋萍,王梦娜,王晓峰.改进收敛因子和比例权重的灰狼优化算法[J].计算机工程与应用,2019,55(21):60-65+98.


http://www.ppmy.cn/ops/161314.html

相关文章

C++的设计模式

1. 创建型模式 单例模式 (Singleton) 意图&#xff1a;确保类仅有一个实例&#xff0c;并提供全局访问点。&#xff08;常见的日志类&#xff09;实现&#xff1a;class Singleton { private:static Singleton* instance;Singleton() {} // 私有构造函数 public:static Singl…

Ubuntu Linux运维实战指南4_文件系统基础知识

4 文件系统的层次结构 文件系统是Ubuntu的核心内容之一。在Linux系统中&#xff0c;一切都是文件&#xff0c;而文件系统就是文件的组织和管理方式。可以这么说&#xff0c;在本书中除前3章外&#xff0c;其余的所有章节都会涉及文件系统。深入理解和掌握文件系统是每个Linux学…

精选案例展 | 智己汽车—全栈可观测驱动智能化运营与成本优化

本案例为“观测先锋 2024 可观测平台创新应用案例大赛”精选案例&#xff0c;同时荣获IT168“2024技术卓越奖评选-年度创新解决方案”奖。 项目背景 近年来&#xff0c;中国汽车行业进入转型升级阶段&#xff0c;智能网联技术成为行业发展的核心。车联网、自动驾驶等技术的加…

嵌入式面试题 CC++常见面试题整理_7

一.什么函数不能声明为虚函数 常见的不能声明为虚函数的有:普通函数(非成员函数):静态成员函数;内联成员函数;构造函数;友元函数。 1.为什么C不支持普通函数为虚函数普通函数(非成员函数)只能被overload&#xff0c;不能被override&#xff0c;声明为虚函数也没有什么意思&am…

华为云deepseek大模型平台:deepseek满血版

华为云硅基流动使用Chatbox接入DeepSeek-R1满血版671B 1、注册&#xff1a; 华为云deepseek大模型平台注册&#xff1a;https://cloud.siliconflow.cn/i/aDmz6aVN 说明&#xff1a;填写邀请码的话邀请和被邀请的账号都会获得2000 万 Tokens&#xff1b;2个帐号间不会有其他关联…

Ubuntu20.04在线安装QT纪实

1、打开控制台窗口 CtrlAltT&#xff0c;打开控制台&#xff0c;如下图&#xff1a; 2、输入更新命令 输入命令&#xff0c;sudo apt-get update 如下图&#xff1a; 3、安装qt和qtcreate 输入如下的命令&#xff0c;sudo apt-get install qt5-default qtcreator 如下图&…

一.Vue中的条件渲染

1.在<head>中引用 <script src"https://unpkg.com/vue3/dist/vue.global.js"></script> 2.在<body>中写入 <div id"app"><p><a v-if "user.usernameadmin"href"#">编辑</a><a …

数据同步的中间件

以下是10个支持MySQL、HBase、ClickHouse、HDFS等不同数据库之间数据同步的GitHub项目推荐&#xff1a; 项目名称语言主要特点支持的数据库GitHub链接DataXPython阿里巴巴开源的数据同步工具&#xff0c;支持多种数据库和文件系统。MySQL、ClickHouse、HDFS等GitHub链接Apache…