基于动态反向学习和黄金正弦策略的麻雀算法研究

发布时间:2025-05-15 19:05

定期复习是学术研究中的黄金法则 #生活技巧# #学习技巧# #学术研究方法#

基于动态反向学习和黄金正弦策略的麻雀算法研究
Research on Sparrow Search Algorithm Based on Dynamic Opposite Learning and Golden Sine Strategy

1. 引言

在现实生活中,人类面对众多复杂的优化问题。传统解决方法如牛顿法和梯度下降法在处理这些问题时在局部搜索方面表现不佳,难以跳出局部最优解,因而无法满足挑战性的优化任务需求。随着科学研究的不断发展,越来越多的群体智能优化算法应运而生。这些算法基于生物的生命特征或行为规则,建模出一系列数学公式,并根据这些公式在特定的解空间中寻找高质量的解。近年来,由于这些算法具有简便性、对初始值不敏感等特点,它们在路径规划、信号处理等各个领域受到了广泛关注。典型的群体智能优化算法包括麻雀优化算法 [1] 、灰狼优化算法 [2] 、粒子群算法 [3] 、鲸鱼优化算法 [4] 、人工蜂群算法 [5] 、哈里斯鹰优化算法 [6] 、斑马优化算法 [7] 以及淘金优化算法 [8] 等。群智能算法的实施为解决复杂的优化问题提供了新的途径,具有重要的理论和实际意义。

在2020年,Xue等提出了一种新的元启发式算法麻雀优化算法(SSA)。该算法模拟麻雀的觅食与反捕食行为方式而来。这一算法不仅具备较少的群体角色,而且其原理简单易懂。与灰狼优化算法(GWO)和粒子群优化算法(PSO)相比,SSA算法表现出更高的精度、更强的收敛性和更卓越的优化能力 [1] 。因此,SSA算法在实际工程中得到了广泛应用。然而,SSA算法也存在一些群体智能算法的普遍缺点,如容易陷入局部最优解、初始化过程中随机性较大等问题。为了提升和优化算法性能,研究人员提出了各种改进方法。例如,杜云等人提出了混合多项自适应权重的混沌麻雀搜索算法,通过增加混沌映射来提高种群多样性,并引入自适应权重策略,以增强全局搜索能力和搜索范围 [9] 。张恩辅等人提出了一种菱形分组机制,以增加算法种群的多样性,同时引入融合模拟退火思想的方法,以在一定概率下接受“较差”的结果,从而改善算法容易陷入局部极值点的问题 [10] 。Ouyang等人提出了自适应螺旋飞行麻雀优化算法,将鲸鱼优化算法的气泡网捕食策略与麻雀优化算法有机融合,使得种群个体的位置更新更加灵活,从而使算法更好地避免局部最优解的困境 [11] 。这些改进方法丰富了SSA算法的应用领域,并提高了其在实际问题中的性能。

为了提高麻雀优化算法的性能,本文将动态反向学习策略和多项式变异扰动相结合,同时引入黄金正弦因子和双面镜反射理论边界优化策略,提出了一种基于动态反向学习和黄金正弦策略改进的麻雀算法(DGSSA),相比较于原麻雀优化算法,DGSSA在寻优精度和收敛速度上得到了明显的提升。

2. 麻雀优化算法

麻雀优化算法(SSA)受到自然界中麻雀鸟群的觅食行为启发。该算法模拟了麻雀群体的协同寻找食物的策略,分为探索者和跟随者两类角色。探索者引领群体寻找食物,而跟随者紧随其后,通过信息传递和协作找到最佳的食物源。麻雀个体之间的角色可能交换,但比例保持不变。部分麻雀个体还保持警惕,以预防潜在的危险。当发现天敌到来时,整个群体会在探索者的带领下移动,并寻找新的食物源。

在该模型中规定,那些适应性更佳的麻雀将被指派为探索者,在搜索过程中将获得优先获取食物资源。因此探索者位置的更新公式如下:

xt+1i,j={xti,j+Q⋅L         ifR2≥ST xti,j⋅exp(−iR1⋅T) ifR2<ST (1)

其中, t 表示当前的迭代次数, j 取值于 {1,2,⋯,D} , D 为解的维度。 xi,j 表示第 i 个麻雀在第 j 维度上的取值。 T 表示最大迭代次数, R1 和 R2 是两个独立随机数,取值范围都是 (0,1] , ST 为安全阈值。 Q 是一个服从标准正态分布的随机数, L 是一个元素都为1的 1×D 矩阵。

跟随者会根据探索者适应度值的优劣确定寻觅的位置,其位置更新公式如下:

xt+1i,j={Q⋅exp(xtworse−xti,ji2)ifi>n2xt+1p+|xti,j−xt+1p|⋅A+⋅Lifi≤n2 (2)

其中, xP 代表当前生产者中适应度最高的个体位置, xworse 表示全局适应度最劣的个体位置, A 是一个包含1与−1随机分布的 1×D 矩阵, A+ 表示 AT(AAT)−1 。

在每次麻雀种群迭代更新的过程中,部分麻雀会察觉到危险的存在,它们从种群中随机选出,并进行位置的更新,更新公式如下:

xt+1i,j={xtbest+β⋅|xti,j−xtbest|iffi>fgxti,j+K⋅(|xti,j−xtworst|(fi−fW)+ε)iffi≤f (3)

其中, xbest 表示种群中最优的个体位置。 β 是一个标准正态分布的随机数。 K 是一个属于 [−1,1] 的随机数。 fi 、 fg 和 fW 分别表示为当前个体的适应度值、当前全局最优适应度值以及当前最劣适应度值。 ε 是一个趋近于0的常数。

3. 改进麻雀优化算法

3.1. 动态反向学习种群初始化

本文通过采用动态反向学习策略(DOL)来增加种群的初始多样性 [12] ,其初始化描述如下:

oPi,j=lbj+rand⋅(ubj−lbj) (4)

oPDOi,j=oPi,j+r1i⋅(r2⋅(lbj+ubj−oPi,j)−oPi,j) (5)

其中 oP 是随机获得的正常初始群体, oPDO 是由DOL获得的一个群体,它比正常初始种群解更优质。在任何迭代 t 处,总体大小被设置为 N (对于任何个体 i , i={1,2,⋯,N} ),解维度被定义为 D (对于任何维度 j , j={1,2,⋯,D} )。 [lb,ub] 是解的边界, r1i 和 r2i 是属于 [0,1] 的随机数。此外,还需按公式(6)进行检查边界。最后从 {oP∪oPDO} 中选择前 N 个适应度最优的个体作为初始化种群 x 。

oPDOi,j=rand(lbj,ubj)ifoPDOi,j<lbj||oPDOi,j>ubj (6)

相比随机初始化方法,基于动态反向学习生成的初始化种群有着较好的分布。

3.2. 动态反向学习迭代跳跃

通过考虑跳跃率 Jr ( Jr 属于 (0,1) 区间),利用DOL更新种群 [12] 。在每次迭代中,生成一个 [0,1] 区间内的随机数作为选择概率 r5 ,如果 r5 小于跳跃率 Jr ,则需要按照公式(7)得到动态反向解。

oPDOi,j=xi,j(t)+r3i⋅(r4i⋅(aj+bj−xi,j(t))−xi,j(t)) (7)

为了使DOL有效,需要按公式(8)的形式进行检查边界。 r3 和 r4 分别表示一个 1×D 的矩阵,各元素随机分配 [0,1] 区间内的随机数,边界 [a,​b]​ 需要按公式(9)进行动态更新,将新的候选锁定在缩小的搜索空间内。从 {x(t)∪oPDO} 中选择前 N 个适应度最优的个体作为子代种群 x(t+1) ,并且迭代次数加1,表明进行了一次迭代跳跃。

oPDOi,j=rand(aj,bj)ifoPDOi,j<aj||oPDOi,j>bj (8)

{aj=min(xi,j(t))bj=max(xi,j(t)) (9)

由于传统的反向学习策略都存在将搜索空间收敛到该局部最优位置的问题,如果从当前决策变量到相反决策变量的空间中存在局部最优,则这些策略都有将搜索空间收敛到该局部最优位置的趋势,相对于传统反向学习策略,DOL策略既能提高收敛到全局最优的概率,又能避免同步陷入局部最优 [12] 。因此将DOL引入麻雀优化算法可加快收敛速度,提高全局优化能力。

3.3. 黄金正弦因子

黄金正弦算法是由Tanyildizi等学者于2017年提出的优化算法,该算法基于正弦函数和单位圆的关系求解优化问题,同时引入黄金分割数来缩小解空间,以便快速扫描潜在的优化区域 [13] 。这不仅提高了收敛速度,还平衡了全局和局部搜索的能力,从而提高了优化精度。

在探索者阶段加入黄金正弦因子,则位置更新公式如下:

xt+1i,j={xti,j⋅|sin(r1)|−r2⋅sin(r1)⋅|m⋅xtworst−n⋅xti,j|ifR2<STxti,j+Q⋅LifR2≥ST (10)

其中, r1 ( r1∈[0,2π] )和 r2 ( r2∈[0,π] )为随机数, m 和 n 是采用黄金分割法后产生的系数,表达式如下:

{m=α⋅(1−τ)+β⋅τn=α⋅τ+β⋅(1−τ) (11)

公式(11)中, τ 是黄金分割数,取值为 (1−√5)/2 , α 和 β 分别为 2−4t/T 和1, t 当前迭代次数, T 为最大迭代次数。

3.4. 多项式变异扰动

传统的麻雀算法面临着迭代后期种群多样性减少、搜索能力下降等问题。为此,本文引入了多项式变异扰动策略 [14] ,对麻雀位置进行更新,保持了种群的多样性,提高了麻雀算法跳出局部最优的能力,在搜索后期也进一步加快了算法收敛速度,增强了搜索效率。具体变异扰动算子形式如下:

x(t+1)=x(t)+ω⋅(ub−lb) (12)

其中, ω 、 δ1 、 δ2 由公式(13)~(15)表示, u 表示 [0,1) 上的随机数, ηm 是一个非负实数, lb 和 ub 分别表示决策变量的上边界与下边界, x(t) 表示一个父代个体, x(t+1) 变异后的新个体。

ω={[2u+(1−2u)(1−δ1)ηm+1]1ηm+1−1μ≤0.51−[2(1−u)+2(u−0.5)(1−δ2)ηm+1]1ηm+1−1μ>0.5 (13)

δ1=(x(t)−lb)/(ub−lb) (14)

δ2=(ub−x(t))/(ub−lb) (15)

3.5. 双面镜反射理论边界优化

当个体的解超出问题的边界时,通常会将其值限制在上下边界,这可能导致解在边界附近聚集,而在其他区域分布稀疏,这可能会对算法的性能产生不利影响。

为克服这一问题,本文采用了双面镜反射边界优化方法 [15] 。这个方法将决策变量的上下边界类比成镜子,将 y 视为光束, y 的大小表示光的强度。如图1所示,随着光束的多次反射,最终在边界内的 y' 位置消失,所以将 y' 视为 y 在边界内的投影。通过这一方法,能够有效地解决传统边界处理导致的分布不均问题。具体的优化方法如下所示:

y={ub−mod(y−ub,ub−lb)y>ublb+mod(lb−y,ub−lb)y<lb (16)

Figure 1. Double-faced mirror reflection schematic

图1. 双面镜理论示意图

3.6. DGSSA算法整体流程

DGSSA首先通过DOL策略进行种群初始化。探索者通过黄金正弦因子提高收敛速度,并平衡全局和局部搜索的能力。引入多项式变异扰动,防止跟随者聚集促使麻雀个体跳出局部最优。其次双面镜反射理论边界优化机制有效地解决传统边界处理所导致分布不均的问题。DGSSA算法的伪代码如下:

4. 实验结果与分析

为检验本文所阐述算法的可行性与有效性,在Window11 64位操作系统和32 GB内存的计算机上进行了一系列仿真实验。将文中提出的多策略融合的麻雀优化算法(DGSSA)与麻雀算法(SSA)、粒子群优化算法(PSO)、灰狼优化算法(GWO)进行对比实验,并分析它们的平均收敛曲线。选取了CEC2005测试集中的十个基准测试函数,特征为单峰F1~F5,特征为多峰F6~F10,在表1中列出了它们的详细信息。其中所有算法种群规模为30,迭代次数为500,并将每个测试函数独立运行30次,最后取平均值和标准差作为结果。表2展示了各种算法的函数平均值及标准差。如图2(a)~(j)展示了十个标准测试函数的优化收敛效果。

函数

函数名称

范围

F min

函数

函数名称

范围

F min

F1

S p h e r e

[ − 100 , 100 ]

0

F6

S c h w e f e l 2.26

[ − 500 , 500 ]

−418.983

F2

S c h w e f e l 2.22

[ − 10 , 10 ]

0

F7

A c k l e y

[ − 32 , 32 ]

0

F3

S c h w e f e l 1.2

[ − 100 , 100 ]

0

F8

S h e k e l ' s F o x h o l e s

[ − 65.53 , 65.53 ]

0.998

F4

S c h w e f e l 2.21

[ − 100 , 100 ]

0

F9

K o w a l i k

[ − 5 , 5 ]

3.07e−4

F5

Q u a r t i c

[ − 1.28 , 1.28 ]

0

F10

G o l d s t e i n − P r i c e

[ − 2 , 2 ]

3

Table 1. Test set function

表1. 测试集函数

由图2明显可见,DGSSA 算法的收敛速度与寻优精度显著优于其他几种算法,尤其是在单峰函数F1~F5的测试中。在图2(f)可以看出,在多峰函数F6的测试中,虽然DGSSA的收敛速度略慢于SSA算法,但其寻优精度明显更高。此外,从图2(g)~(j)的结果可看出,在多峰函数F7~F10的测试中,DGSSA在不到100次迭代后就能够收敛到最佳值,其收敛速度明显快于SSA等其他算法。总而言之,通过对十种基准测试函数的收敛曲线分析,本文所提出的DGSSA相较于SSA,在解决复杂问题时具有更快的收敛速度和更强的全局搜索能力。

在表2中,平均值、标准差反映了DGSSA和其他优化算法对十种基准测试函数所求解的质量。标准差反映出算法的稳定性,尤其针对单峰测试函数,DGSSA均有较明显优势。对于多峰函数的求解DGSSA比其他算法要更加稳定。总的来看,从平均值和标准差两个角度看,DGSSA相对于SSA表现出更小的值,这表明在全局寻优能力和稳定性方面,DGSSA比SSA更具优势。实验结果表明,本文改进的麻雀搜索算法在提高寻优精度和加快收敛速度方面表现显著。究其原因,在于动态反向学习和多项式变异扰动策略有助于保持种群的多样性,同时利用黄金正弦因子加快算法收敛速度与收敛精度。

测试 函数

GWO

PSO

SSA

DGSSA

平均值

标准差

平均值

标准差

平均值

标准差

平均值

标准差

F1

5.45E−62

2.70E−56

5.10E−12

5.16E−10

8.90E−162

1.30E−67

0

0

F2

3.56E−35

1.21E−32

1.44E−07

1.32E−6

3.20E−119

8.04E−36

0

0

F3

8.93E−31

6.75E−25

1.49E−4

4.52E−3

0

3.54E−33

0

0

F4

2.21E−20

5.32E−18

2.69E−4

1.88E−3

7.60E−243

5.35E−32

0

0

F5

6.01E−5

4.21E−4

1.02E−3

1.59E−3

4.21E−4

1.11E−3

3.54E−6

1.55E−4

F6

−3.42E+3

3.43E+2

−3.52E+3

1.82E+2

−3.95E+03

2.89E+2

−4.19E+3

2.91E+2

F7

4.00E−15

1.94E−15

8.93E−7

5.85E−6

4.44E−16

0

4.44E−16

0

F8

9.98E−1

3.72

9.98E−1

2.48

9.98E−1

5.24

9.98E−1

3.03E−1

F9

3.07E−4

9.00E−3

3.07E−4

6.88E−3

3.07E−4

6.29E−5

3.07E−4

1.93E−7

F10

3

7.69E−5

3

1.67E−15

3

6.85

3

3.41E−15

Table 2. Comparison of test results

表2. 测试结果对比

5. 结论

本文改进了麻雀优化算法,解决了其在收敛速度、寻优精度和局部最优问题上的不足。

改进的麻雀优化算法利用动态反向学习策略进行种群初始化,增加种群的初始多样性,为搜索奠定了良好的基础;引入黄金正弦因子快速扫描潜在的优化区域,既提高了收敛速度,又平衡了全局和局部

搜索的能力;通过多项式变异扰动以及双面镜理论边界优化,能够明显地增加物种多样性,有效突破局部最优解。实验验证表明,相较于传统的麻雀优化算法、灰狼优化算法和粒子群优化算法,改进的麻雀优化算法快速收敛到全局最优解,有更好的收敛精度和更快的收敛速度,提高了算法的实际应用性和效率。

基金项目

大学生创新创业训练计划资助项目(2023569, 2023039, 2023591)。

网址:基于动态反向学习和黄金正弦策略的麻雀算法研究 https://www.yuejiaxmz.com/news/view/975069

相关内容

强化学习中的策略迭代算法优化研究
社科研究:基于缓解小学高年级学生学习压力的策略研究
基于用电行为习惯的家庭节能用电策略研究
《基于深度学习的初中生区域认知的培养策略》研究报告
提升小学生乘法口诀学习效率的策略研究
基于深度学习的高中生物高效课堂策略研究
基于强化学习的门禁策略优化
基于深度学习的小学语文阅读教学策略研究(4页)
相量与正弦量的数学变换原理
终身学习中的自我调节学习策略研究

随便看看