融入动态学习与高斯变异的自适应秃鹰搜索算法

2024-03-05 08:21:06夏煌智陈丽敏毛雪迪
计算机与现代化 2024年1期
关键词:秃鹰测试函数猎物

夏煌智,陈丽敏,毛雪迪

(1.牡丹江师范学院数学科学学院,黑龙江 牡丹江 157009;2.牡丹江师范学院应用数学研究所,黑龙江 牡丹江 157009;3.牡丹江师范学院计算机与信息技术学院,黑龙江 牡丹江 157009)

0 引 言

近年来,以群体智能为基础的大规模优化任务在机器学习领域取得突破,群体智能优化算法能够通过模拟自然界中生物群体的行为实现对复杂问题的求解,在对实际问题的考虑方面从不缺乏多元性[1-3]。在目前,具有代表性的群体智能优化算法包括乌燕鸥优 化 算 法(Sooty Tern Optimization Algorithm,STOA)[4]、粒子群优化算法(Particle Swarm Optimization,PSO)[5]、蝴蝶优化算法(Butterfly Optimization Algorithm,BOA)[6]、灰狼优化算法(Grey Wolf Optimization,GWO)[7]、人 工 蜂 群 算 法(Artificial Bee Colony,ABC)[8]、正弦余弦算法(Sine Cosine Algorithm,SCA)[9]与差分进化算法(Differential Evolution,DE)[10]等。

秃鹰搜索算法(Bald Eagle Search,BES)是Alsattar 等[11]在2020 年模仿秃鹰的狩猎行为而提出的一种群体智能优化算法,具有寻优精度高、收敛速度快以及执行效率高等特点,在曲线逼近[12]、非线性方程组求解[13]和机器学习[14-15]等实际工程领域问题中具备长远的发展潜力。但在求解函数优化问题时,标准的秃鹰搜索算法存在着依赖种群、全局搜索与局部开发能力不协调、算法稳定性较差以及容易陷入局部最优等问题。郭云川等[16]通过引入折射反向学习机制,来搜寻与当前秃鹰个体位置所对应的折射反向解,增加秃鹰种群的多样性,通过定向重组与诱导突变策略将秃鹰个体存在于不同维度的优良信息集合至同一个体上来保留优良基因,但依旧没有使得秃鹰个体的局部最优规避性得以增强;Liu 等[13]通过正弦余弦算法更新搜索空间猎物阶段秃鹰领导者个体位置,从而提升了算法寻优能力,但却忽略了算法稳定性较差的问题;领导者个体在种群中起着领导性的关键性作用,Yan等[15]在BES的选择搜索空间阶段与俯冲捕获猎物阶段中引入了均匀分布随机数,对秃鹰领导者个体位置进行扰动优化,减少了参数对BES自身的影响,却并没有对算法的全局搜索与局部开发能力进行协调,且对秃鹰领导者个体的优化过于简单;Sharma 等[17]将线性因子和非线性因子分别嵌入BES的3 个阶段中,使BES 的空间搜索能力与利用能力得以增强,如此改进虽平衡了算法的全局搜索与局部开发能力,但得到的改进算法仍不具备较强的跳出局部最优的能力;丁容等[18]利用柯西变异算子对秃鹰最佳搜索位置个体进行变异更新,以此增强BES跳出局部最优的能力,但对最佳搜索位置个体进行柯西变异的策略略显单一,更加侧重于达到丰富秃鹰种群多样性的效果,并未细致对比变异前后的个体的适应性能力,导致算法在求解函数优化问题上的表现依旧欠佳。

针对BES的不足,本文提出一种融入动态学习与高斯变异的自适应秃鹰搜索算法(Adaptive Bald Eagle Search Algorithm with Dynamic Learning and Gaussian Mutation,DGABES)。主要工作为:1)利用混沌映射初始化种群,扩大初始秃鹰个体的搜索范围;2)引入自适应权重来平衡算法的全局搜索与局部开发能力;3)设计一种动态学习秃鹰领导者个体位置更新方式,增加算法寻优时找到最优解的概率;4)提出基于秃鹰最佳搜索位置的高斯变异策略,增强算法跳出局部最优的能力。

1 标准秃鹰搜索算法

秃鹰搜索算法可划分为3 个阶段,分别为选择搜索空间、搜索空间猎物和俯冲捕获猎物。

1.1 选择搜索空间

在BES 中,每个秃鹰个体在飞行中的位置代表1个可行解,在选择搜索空间阶段,秃鹰会挑选猎物聚集数量最多的区域当做搜索空间,该阶段的秃鹰行为由如下方程描述:

表1 基准测试函数

其中,Pi,new(t)表示第i只秃鹰的更新位置;Pbest(t)表示秃鹰最佳搜索位置;Pmean(t)表示秃鹰之前搜索结束后所有秃鹰个体的平均分布位置,Pi(t)表示第i只秃鹰的搜索位置,称作领导者;t是当前迭代次数,参数α∈[1.5,2]是控制秃鹰搜索位置的参数,参数α参考文献[11]进行选取,设置α=2;r是取值范围在0~1之间的随机数。

1.2 搜索空间猎物

秃鹰个体在完成选择目标搜索空间后,会在该搜索空间中对猎物进行“螺旋式”搜索,并向不同的方向飞行移动以加速搜索进程。该阶段的秃鹰行为如下方程描述:

其中,x(i)与y(i)表示极坐标中秃鹰的位置,取值范围均为(-1,1);θ(i)与r(i)分别表示螺旋方程的极角与极径;a∈[5,10]与R∈(0.5,2)表示控制秃鹰螺旋飞行轨迹的参数,a与R均参考文献[11]进行选取,设置a=10,R=1.5;rand取值范围在0~1之间的随机数。

1.3 俯冲捕获猎物

秃鹰在搜索空间锁定目标猎物后,从最佳位置快速飞行至目标猎物位置,与此同时所有的秃鹰个体也会朝着最佳位置飞行移动。该阶段的秃鹰行为由如下方程描述:

其中,x1(i)与y1(i)是极坐标中秃鹰的位置,取值范围为(-1,1);c1∈(1,2)表示秃鹰向最佳位置飞行移动的速度,c2∈(1,2)表示秃鹰向中心位置飞行移动的速度,参数c1与c2的取值将在实验部分进行讨论;rand是取值范围在0~1之间的随机数。

2 改进秃鹰搜索算法

2.1 Circle混沌初始化种群

初始种群的分布状态对群智能算法的收敛速度与寻优精度起着重要作用,在解决未知分布问题时,初始种群应尽可能均匀分布于搜索空间中,以维持种群的多样性[19-21]。本文采用Circle 映射优化初始秃鹰个体位置,其定义如下:

其中,n表示解的维度。采用Circle 映射初始化种群,均匀分布的秃鹰群体能够在飞行时更大范围地搜索猎物,降低了初始种群位置的重叠率,一定程度上改善了BES容易陷入局部最优的缺陷。

2.2 自适应权重

在群智能优化算法中引入自适应权重,能够为算法的全局搜索与局部开发能力提供有利前提,最终起到良好的函数优化效果[16,19,22-23]。本文在BES 中引入一种自适应权重w,对选择搜索空间阶段中秃鹰个体的更新位置进行自适应调整,自适应权重的表达式如式(11)所示:

从式(11)可以看出,自适应权重w是根据当前迭代次数t变化而发生快速减小的非线性递减函数,在迭代初期,搜索范围不受限制,秃鹰个体能够充分地在全局进行移动;在迭代中后期,全局的秃鹰个体越来越靠近猎物位置,搜索范围逐渐较小,秃鹰个体将会被限制在一定范围内进行精确搜索,以此增强秃鹰个体的局部搜索能力。

将式(11)引入选择搜索空间阶段秃鹰个体的位置更新式(1)中,只以一半的概率发生,同时保留了标准BES 的寻优特点。该阶段秃鹰个体的位置更新规则如式(12)所示:

2.3 动态学习秃鹰个体位置更新方式

动态学习是一种具有动态结构的学习方式,能够加强种群个体间的相互交流[17,24-27]。本文考虑多个位置秃鹰个体的适应性能力,提出一种动态学习策略来提高BES寻优效率。

由式(2)知,在搜索空间猎物阶段,新一代秃鹰个体的位置由第i、i+1个秃鹰个体的位置以及秃鹰平均分布位置共同决定,缺乏对秃鹰个体之间优良性的考虑,一些精英秃鹰个体对群体影响性不大,使得新一代个体对领导者的协助作用也变得越来越弱。为增强精英个体的影响性,得到搜索能力更强的秃鹰个体,本文提出动态学习秃鹰领导者个体位置更新方式:

其中,DPi,new(t)表示由动态学习策略更新的秃鹰领导者个体位置,fi-1(t)、fi(t)、fi+1(t)与fmean(t)分别表示第i-1、i、i+1 个与平均分布位置的秃鹰个体的适应度值,fm(t)表示4个适应度值中的最大者;d表示削弱因子,是服从参数为0.5的指数分布随机数;p2表示更新概率。

现将该阶段各秃鹰个体位置分布如图1(a)中直观展示,由式(13)表明,动态学习策略更新的秃鹰领导者个体继承于第i个秃鹰个体,会以1/3 的概率同时受到第i-1、i、i+1 个秃鹰个体与平均分布位置的秃鹰个体的影响而产生,即在这4 个秃鹰个体位置当中,有1/3 的概率对最大适应度值的个体位置以d为量级进行削弱,从而达到向其他位置学习的目的,如图1(b)中所示,此时第i+1 个秃鹰个体位置的适应度值最大,该位置将成为动态学习削弱个体位置。图1(c)、图1(d)与图1(e)则分别表示第i、i+1个与平均分布位置的秃鹰个体的适应度值最大的情况。另外,有1/3的概率向当前秃鹰个体的最佳搜索位置Pbest(t)进行学习,并以较大的d2量级对当前秃鹰领导者个体位置进行削弱,如图1(f)中所示;并有1/3的概率保持当前秃鹰领导者个体位置不发生改变,这种方式能使得秃鹰个体在向优秀秃鹰个体学习的同时,以一定概率保存标准BES的更新特点,增加秃鹰个体搜索到优质解的可能性。

图1 动态学习秃鹰领导者个体位置更新方式

因此,将搜索空间猎物阶段秃鹰位置更新式(2)改进如式(14)所示:

其中,DPi,new(t)是由式(13)更新得到的秃鹰领导者个体位置。

2.4 基于秃鹰最佳搜索位置的高斯变异策略

为尽可能地避免算法出现早熟或是陷入局部最优的情况,考虑在算法实现过程中引入高斯变异算子[28-31]对个体位置进行变异,高斯变异规则如式(15)所示:

其中,Pi(t)表示当前个体位置;GPi(t)表示经过高斯变异后的个体位置;Gaussion(σ)是满足均值为1且标准差为2的高斯分布的随机变量。

在俯冲捕获猎物阶段,本文提出一种基于秃鹰最佳搜索位置的高斯变异策略。该策略基于一种“贪婪”思想,对比了变异前后秃鹰个体的适应度值大小,并以平均分布位置的秃鹰个体为参考,将适应度值大于平均分布位置的秃鹰个体过滤,选取适应度值较小的秃鹰个体位置作为新的秃鹰领导者个体位置,该策略变异规则如式(16)所示:

其中,GPi,new(t)表示变异后秃鹰领导者个体位置;GPbest(t)表示经高斯变异得到的秃鹰最佳搜索位置;fbest(t)、fGbest(t)与fmean(t)分别表示秃鹰最佳搜索位置、经高斯变异得到的最佳搜索位置与平均分布位置的秃鹰个体适应度值。因此,将俯冲捕获猎物阶段秃鹰个体位置更新式(6)改进如式(17)所示:

其中,GPi,new(t)是由式(16)变异得到的秃鹰领导者个体位置。GPi,new(t)继承了最佳搜索位置秃鹰的个体优势,不断地将秃鹰群体位置引向目标猎物位置,从而增强算法跳出局部最优的能力。

2.5 完整DGABES算法流程

综上对标准BES的改进,算法DGABES具体步骤如下所示:

Step1初始化算法参数,包含种群规模N,解的维度n,最大迭代次数Tmax以及初始值的边界条件等。

Step2使用Circle映射式(10)对种群进行初始化。

Step3根据适应度函数计算每个秃鹰个体的适应度值,按大小进行排序,并记录当前秃鹰最佳搜索位置Pbest(t)与平均分布位置Pmean(t)。

Step4秃鹰选择搜索空间阶段,根据式(11)计算当代自适应权重w,根据式(12)更新秃鹰个体位置。

Step5秃鹰搜索空间猎物阶段,根据式(13)更新秃鹰领导者个体位置,根据式(14)更新秃鹰个体位置。

Step6秃鹰俯冲捕获猎物阶段,根据式(15)变异秃鹰最佳搜索位置,根据式(16)变异秃鹰领导者个体位置,根据式(17)更新秃鹰个体位置。

Step7更新个体种群中的秃鹰最佳搜索位置Pbest(t)与最低适应度值fbest(t),更新算法迭代次数,并判断是否满足终止条件,若满足,停止迭代,输出Pbest(t)与fbest(t);若不满足,重新执行Step3~Step7 步骤,直至满足终止条件为止。

算法DGABES伪代码如下:

算法DGABES

//秃鹰种群初始化阶段

01 初始化算法参数(种群规模N,种群维度n,最大迭代次数Tmax,搜索的上界与下界等)

02 通过Circle映射式(10)生成初始秃鹰种群

03 计算秃鹰个体初始适应度值,并按优劣进行排序,记录当前秃鹰最佳搜索位置Pbest(t)与平均分布位置Pmean(t)

04 Whilet<Tmax

//选择搜索空间阶段

05 Fori= 1:N

06 根据式(11)计算第t代适应性权重w

07 根据式(12)更新秃鹰个体位置

08 Iffi,new(t)<fi(t)

09Pi(t)=Pi,new(t)

10 Iffi,new(t)<fbest(t)

11Pbest(t)=Pi,new(t)

12 End If

13 End If

14 End For

//搜索空间猎物阶段

15 Fori= 1:N

16 生成服从参数为0.5的指数分布随机数d

17 根据式(13)更新秃鹰领导者个体位置

18 根据式(14)更新秃鹰个体位置

19 Iffi,new(t)<fi(t)

20Pi(t)=Pi,new(t)

21 Iffi,new(t)<fbest(t)

22Pbest(t)=Pi,new(t)

23 End If

24 End If

25 End For

//俯冲捕获猎物阶段

26 Fori= 1:N

27 GPbest(t)=Pbest(t)(1+Gaussion(σ))

28 根据式(16)变异秃鹰领导者个体位置

29 根据式(17)更新秃鹰个体位置

30 Iffi,new(t)<fi(t)

31Pi(t)=Pi,new(t)

32 Iffi,new(t)<fbest(t)

33Pbest(t)=Pi,new(t)

34 End If

35 End If

36 End For

37t = t+1

38 End While

39 更新秃鹰最佳搜索位置Pbest(t)与最低适应度值fbest(t)

40 输出当前秃鹰最佳搜索位置Pbest(t)与最低适应度值fbest(t)

2.6 时间复杂度分析

假设函数解的维度以n表示,适应度函数以f(x)表示,作如下分析:

对于标准BES,根据其算法流程可知,标准BES在初始化阶段和秃鹰狩猎的3 个阶段的时间复杂度均为O(n+f(n)),因此标准BES 全过程的时间复杂度为O(n+f(n))。

对于DGABES,在秃鹰种群初始化阶段,假设初始化参数耗时μ1,记录当前秃鹰最佳搜索位置Pbest(t)耗时μ2,记录当前秃鹰平均分布位置Pmean(t)耗时μ3;而计算初始秃鹰个体适应度值耗时f(n),利用Circle映射初始化种群的时间复杂度为O(Nn),则DGABES此阶段的时间复杂度为T0=O(μ1+Nf(n)+μ2+μ3)+O(Nn)=O(n+f(n))。

在选择搜索空间阶段,假设计算第t代适应性权重w耗时ε1,产生随机数耗时ε2,每个秃鹰个体位置Pi,new(t)更新耗时ε3,记录当前秃鹰最佳搜索位置Pbest(t)耗时ε4,记录当前秃鹰平均分布位置Pmean(t)耗时ε5,计算初始秃鹰个体适应度值耗时f(n),则DGABES 此阶段的时间复杂度为T1=O(ε1+N(ε2+n×ε3+f(n))+ε4+ε5)=O(n+f(n))。

在搜索空间猎物阶段,假设生成服从指数分布的随机数d耗时σ1,产生随机数耗时σ2,动态学习秃鹰领导者个体位置DPi,new(t)更新耗时σ3,每个秃鹰个体位置Pi,new(t)更新耗时σ4,记录当前秃鹰最佳搜索位置Pbest(t)耗时σ5,记录当前秃鹰平均分布位置Pmean(t)耗时σ6,计算初始秃鹰个体适应度值耗时f(n),则DGABES 此阶段的时间复杂度为T2=O(σ1+N(σ2+n×(σ3+σ4)+f(n))+σ5+σ6)=O(n+f(n))。

在俯冲捕获猎物阶段,假设当前秃鹰最佳搜索位置Pbest(t)高斯变异为GPbest(t)耗时λ1,产生随机数耗时λ2,基于秃鹰最佳搜索位置的秃鹰领导者个体位置GPi,new(t)更新耗时λ3,更新每个秃鹰个体位置Pi,new(t)耗时λ4,记录当前秃鹰最佳搜索位置Pbest(t)耗时λ5,记录当前秃鹰平均分布位置Pmean(t)耗时λ6,计算初始秃鹰个体适应度值耗时f(n),则DGABES 此阶段的时间复杂度为T3=O(λ1+N(λ2+n×(λ3+λ4)+f(n))+λ5+λ6)=O(n+f(n))。

综合DGABES 的4 个阶段的分析,DGABES 全过程的时间复杂度为T=T0+T1+T2+T3=O(n+f(n))。因此,DGABES全过程的时间复杂度为O(n+f(n)),并未对标准BES造成时间代价。

3 仿真实验与结果分析

3.1 实验设计

为测试DGABES 的性能,本文选取10 个基准测试函数(如表1所示)在解的维度设置为100维的情况下进行仿真实验分析。其中,f1~f5是连续的单峰函数(UN),单峰函数将用于测试本文算法的寻优精度;f6~f10是连续的多峰函数(MN),用于测试本文算法的全局搜索能力和收敛速度。

本文选取了8 种智能优化算法与本文算法进行比 较,分 别 为STOA[4]、PSO[5]、BOA[6]、GWO[7]、ABC[8]、SCA[9]、DE[10]以及标准BES[11]。实验仿真环境为Windows10 系统,32 GB 运行内存和2.30 GHz CPU,编译环境为Python3.8,开发环境选取PyCharm。为保证实验公平性,设置种群规模N=30,最大迭代次数Tmax=500,现对控制秃鹰个体飞行移动速度参数c1与c2的选取进行讨论。

若设置过大的飞行移动速度易使算法早熟而陷入局部最优,若过小则影响算法收敛速度,现控制其他参数不变,将c1与c2设置为相同值,选取表1中基准测试函数f1、f4、f8与f9,对2 个参数的选取进行了寻优性能实验测试,实验结果(30 次独立实验适应度值的平均值与标准差数据)如表2所示。

表2 参数c1与c2不同取值对BES性能的影响

由表2可知,当c1与c2取值为1.5时大部分实验结果最优,因此,为保证秃鹰个体飞行移动速度参数选取的统一性与合理性,c1与c2均设置为1.5。具体地,各算法参数设置如表3所示。

表3 算法参数设置

3.2 分策略消融实验

为验证本文引入的各改进策略的有效性,将标准BES 与引入Circle 混沌映射初始化(CBES)、引入自适应权重(ABES)、引入动态学习策略(DLBES)以及引入高斯变异策略(GBES)在部分基准测试函数上进行仿真实验对比,所有实验指标与3.1节保持一致,改进算法的参数设置与BES保持一致。

1)Circle混沌映射初始化(CBES)与BES。

引入的Circle 混沌映射能够使得初始秃鹰种群均匀地分布于搜索空间当中,弥补了标准BES中随机生成的初始种群过于集中或离散的缺陷,在提升秃鹰种群多样性的同时,间接地扩大了秃鹰种群的搜索范围,使算法收敛性能得以提高。由图2 平均收敛曲线对比可知,与标准BES相比,CBES的寻优精度与收敛速度均有略微提升,验证了分策略CBES的改进优势。

图2 CBES与BES平均收敛曲线

2)自适应权重(ABES)与BES。

为增强秃鹰个体的全局移动与局部搜索能力,以及更好地平衡算法的全局搜索与局部开发能力,在选择搜索空间阶段引入了一种自适应权重策略。通过图3 平均收敛曲线对比结果可知,在单峰函数或多峰函数上寻优时,分策略ABES均大幅度提高了算法的寻优精度与收敛速度,充分地表明了此策略的有效性。

图3 ABES与BES平均收敛曲线

3)动态学习策略(DLBES)与BES。

本文所提出的动态学习策略(DLBES)能够对搜索空间猎物阶段的秃鹰个体进行优良性选拔,而选拔出的秃鹰个体将成为领导者,带领其他适应性较差的个体逐渐向全局最优位置逼近,同时也能够间接地加强秃鹰种群间的个体交流,使算法的寻优能力达到更优。图4 展示了DLBES 与BES 相比在单峰函数与多峰函数上的寻优能力,动态学习策略的引入解决了部分精英秃鹰个体对种群影响性低的问题,增强了其余秃鹰个体的适应性能力,使改进的分策略DLBES 寻优性能更具竞争性。

图4 DLBES与BES平均收敛曲线

4)高斯变异策略(GBES)与BES。

标准BES缺乏对秃鹰个体适应度的对比考虑,在寻优时极易陷入局部最优。为消除此类问题,在俯冲捕获猎物阶段提出一种基于秃鹰最佳搜索位置的高斯变异策略,为算法寻优提供更多优质解,同时提升算法局部最优的识别能力,分策略GBES 与标准BES相比的平均收敛曲线如图5 所示。由图5 可知,在单峰函数与多峰函数上求解寻优时,标准BES陷入局部最优停滞不前,而在引入高斯变异策略后,GBES始终保持着局部最优规避性以及较高的寻优精度。

图5 GBES与BES平均收敛曲线

综上所述,通过标准BES、分策略、DGABES 的消融实验,验证了各分策略的改进有效性,平均收敛曲线同时表明了整体DGABES 算法的寻优性能相比单策略改进算法而言要更加出色。

3.3 算法收敛性对比

在表4中,记录了3个部分的实验数据:

表4 算法实验结果

1)为反映本文算法的收敛精度与稳定性,每个算法分别对各测试函数进行30 次独立实验,记录下对应适应度值的平均值(Mean)与标准差(SD)。

2)为判断DGABES的每次实验结果是否相较于其他算法有显著差异,选用Wilcoxon 秩和检验方法,记录下显著性水平为0.05 时的p-value 数据,符号“+”、“=”与“-”分别表示DGABES 的性能优于、相当于以及劣于对比算法,第二种情况输出数据N/A,最后一种情况则用黑体数据表示。

3)分别将各算法在10 个基准测试函数上的平均绝对误差(Mean Absolute Error,MAE)进行计算,按从小到大的次序排名,MAE 越小表示算法计算的平均结果与理论最优结果的绝对误差和越小,算法性能越加优秀。MAE 的计算方式如式(18)所示,将各算法的MAE与排序结果进行记录。

其中,NF是基准测试函数个数,Meani是算法在每次实验产生的最优结果的平均值,fi,min是基准测试函数的理论最优值。

从表4中的比较结果可以看出,在100维情况下,本文提出的DGABES 在10 个基准测试函数求解实验中均有着最小的适应度平均值与标准差数据,在9 个算法中有着较好的结果。在寻优精度方面,DGABES在各基准测试函数上均有最优平均适应度值,且在3个单峰函数(f1、f2、f3)与2 个多峰函数(f6、f8)上均能够收敛到理论最优值0。其原因是由于在DGABES 的选择搜索空间阶段,引入了随迭代次数变化而自适应变化的非线性权重,能够使秃鹰的搜索范围快速地缩小至最优值附近,算法的全局搜索能力得到了增强,在DGABES 的搜索空间猎物阶段与俯冲捕获猎物阶段,分别引入了动态学习秃鹰个体位置更新策略与基于秃鹰最佳搜索位置的高斯变异策略。2 种策略均能为算法筛选出适应度值较小的秃鹰个体,并将其作为领导者来更新出优秀的新一代秃鹰个体,随着群体中优秀秃鹰个体的增加,算法的局部开发能力得以提升。相比于标准BES 与其他算法而言,DGABES 具有更加理想的实验结果;在寻优稳定性方面,DGABES在10个基准测试函数上的30次实验均有着最低标准差,表明DGABES能够在保持较高的寻优精度的情况下,也同时保证较好的寻优稳定性。

对于Wilcoxon秩和检验的实验结果,本文提出的DGABES 相较于标准BES 而言,在7 个函数(f1~f6、f8)上的p-value 小于0.05,即表明有充足的证据认为DGABES 相比于标准BES 在这7 个函数上的算法改进是显著的,DGABES 相比于标准BES 有明显的改进优势;另外,本文提出DGABES 与其他算法相比较得到的p-value 大多数远小于0.05,p-value 大于0.05 的情况相对较少,这均表明了本文DGABES的优越性比起其他算法而言也是显著的。

在计算MAE 的实验中,本文提出的DGABES 的MAE 排名位居第1,提供了最小的MAE,表明DGABES 相比于其他算法在10 个基准测试函数上得到的平均值与理论最优值的绝对误差和最小,而标准BES 的MAE 排名位居第5,进一步表明了DGABES 的有效性和改进策略的有效性。

3.4 收敛曲线分析

图6 展示了各算法在10 个基准测试函数上寻优时的平均收敛曲线。为了让算法的收敛效果更加明显,对平均适应度值进行了以10为底数的log变换。

图6 平均收敛曲线

由图6 所示,DGABES 在迭代前期的收敛速度较快,这是由于在初始化种群时引入了Circle 映射产生的作用,相比于随机分布的秃鹰个体,均匀分布的秃鹰个体具有更加阔达的搜索范围;在5 个单峰函数(f1~f5)上,DGABES的平均收敛曲线收敛速度很快,大部分能够以很少的迭代次数搜索到理论最优值0,这是由于本文在秃鹰选择搜索空间阶段加入了自适应权重,能够将秃鹰个体快速引向猎物周围,从而提升找到最优 解的概率;在2 个多峰 函数(f6、f8)上,DGABES 的平均收敛曲线在函数寻优过程中迅速下降,均能在100代以内收敛至理论最优值0,这是由于动态学习秃鹰个体位置更新策略在其中起到了关键作用,增强了适应度值较差的秃鹰个体跳出局部最优的能力,相较于其他算法而言显得更加出色;在3 个多峰函数(f7、f9、f10)上,虽然DGABES平均收敛曲线并没有收敛至理论最优值,但其收敛速度在9 个算法中是最快的,且寻优精度最高,也表明了DGABES 的优越性。

4 CEC2017基准测试函数实验

为进一步验证本文算法较标准BES 相比的鲁棒性,同时选取动态学习策略DLBES 作为对照算法,在CEC2017单目标优化函数中选取部分单峰函数、多峰函数、混合函数(Hybrid Function,HF)与复合函数(Composition Function,CF)进行仿真求解实验,函数信息如表5 所示。设置初始种群规模N=30,最大迭代次数Tmax=500,实验函数解的维度分别设置为10维、30 维与100 维,算法参数设置同前文一致,取30次实验结果的平均值与标准差进行分析。

表5 CEC2017部分基准测试函数

实验结果如表6所示,在解的维度设置为10的情况下,3 种算法在CEC05、CEC23、CEC24 与CEC28 上寻优时均能搜索到理论最优值,且标准差均为0,在稳定性方面看不出很大差距。随着维度上升至30、100 维,DLBES 的搜索能力与稳定性优势就得以显现。相较于标准BES 总能够得到更优的平均值与标准差结果,其原因是动态学习秃鹰个体位置更新策略在其中起到了关键作用。该策略增强了部分适应度值较差的秃鹰个体跳出局部最优的能力,通过不断地将秃鹰群体的位置引向目标猎物的位置,从而避免部分适应性差的秃鹰个体陷入局部最优,在一定程度上缓冲了由函数维度上升所带来的求解困难,使算法更加适应具有复杂特征的CEC2017 函数求解问题。而DGABES 的寻优结果相对于DLBES 而言显得更加出色,在6 个函数上均有着最低的平均值与标准差。这是因为DGABES 在选择搜索空间阶段中融入了自适应策略,能够根据迭代次数的增加自适应的调整秃鹰个体的寻优方式,又在俯冲捕获猎物阶段引入了基于秃鹰最佳搜索位置的高斯变异策略,能够基于“贪婪”的思想来变异更新秃鹰个体位置,进一步加强了秃鹰个体对局部最优的规避性,同时增加了秃鹰个体的多样性;且DGABES 在函数CEC03、CEC23 与CEC28 上的标准差为0,也表明了在高维情况下DGABES 能够非常稳定地完成寻优任务,在求解高维度复杂函数时具备较大的竞争优势。

表6 CEC2017函数的寻优结果

5 结束语

本文提出一种改进的秃鹰搜索算法,运用于求解函数优化问题。通过分策略消融实验验证了引入各策略的有效性,并将改进算法应用于10 个基准测试函数与部分CEC2017 基准测试函数上进行求解寻优,通过平均值和标准差等指标进行性能评估,并运用Wilcoxon秩和检验对算法进行了严格的统计检验。结果表明,改进算法具备着相较于其他算法而言更好的改进优势,能够稳定且精准地完成函数求解优化任务。在后续的研究中,考虑将改进算法应用于工程实践问题当中,进一步验证算法的优越性。

猜你喜欢
秃鹰测试函数猎物
为什么蛇可以吞下比自己宽大的猎物?
蟒蛇为什么不会被猎物噎死
用母爱战胜秃鹰
可怕的杀手角鼻龙
逃出濒危名单的秃鹰
雨后的秃鹰
飞碟探索(2017年11期)2017-11-06 21:04:10
具有收缩因子的自适应鸽群算法用于函数优化问题
物联网技术(2017年5期)2017-06-03 10:16:31
霸王龙的第一只大型猎物
秃鹰的困境
中外文摘(2016年12期)2016-11-22 18:52:59
带势函数的双调和不等式组的整体解的不存在性