1. 引言
面对过往几十年不断复杂的优化问题,学者们逐渐发展出了多样化的优化方法。当前优化算法主要是基于自然界存在的自然现象,通过观察从中获取不同的灵感,主要包括生物进化、生物的群居行为、物理或化学现象,以及与人类相关的行为和意识形态。其中具有代表性的主要有遗传算法(GA) [1] 、粒子群算法(PSO) [2] 、蚁群算法(ACO) [3] 、莱维飞行算法(LFD) [4] 。随着学者对优化算法的不断研究,一些新的备受关注的算法不断被开发,例如鲸鱼优化算法(WOA) [5] 、灰狼优化算法(GWO) [6] 、樽海鞘群算法(SSA) [7] 、哈里斯鹰优化算法(HHO) [8] 基于教学的优化算法(TLBO) [9] 、黏菌算法(SMA) [10] 、蝠鲼觅食优化算法(MRFO) [11] 、平衡优化器(EO) [12] 等。在各种智能计算问题上,群智能算法具有算法结构简单、收敛速度快、全局收敛性好等优点,这些新的智能算法的改进版本被开发用于解决各种工程问题。但是,在求解单目标模型上,智能算法改进仍然面临保持多样性和提高收敛精度的矛盾。一方面,智能算法需要尽可能遍历整个搜索空间来寻找全局最优解;另一方面,优化问题基本存在一定的搜索精度需求,需要智能算法在计算时提高最优解的收敛性能。
赵卫国等人在2021年提出了一种新型智能优化算法人工蜂鸟算法 [13] (AHA),较好的平衡算法全局搜索能力和搜索精度,该算法通过引导觅食、领地觅食和迁徙觅食三种觅食策略来引导算法迭代,相较于其他算法和人工蜂群算法,其不同在于提出了访问表策略,该策略较好得平衡了全局搜索能力和搜索精度。AHA与其他群智能优化算法相比具有参数少,寻优能力强等优点,因此各种人工蜂鸟改进算法也已被广泛应用于各类工程应用领域,例如汽车电池 [14] 、无人机定位 [15] 、光伏领域 [16] 和医学图像分类 [17] 等。然而,AHA同样存在着收敛速度较慢,易陷入局部极小值的问题,Yildiz, BS [18] 通过将人工蜂鸟算法和模拟退火问题相结合,提出了混合元启发算法AHA;赵卫国 [19] 采用外部存档来保存帕累托最优解,并开发了一种基于动态消除的拥挤距离(DECD)方法,开发了一种多目标AHA,提高了算法的收敛性;Ali, MAS [20] 使用随机基于对立的学习(ROBL)和基于对立的学习(OBL)来增强利用阶段,防止局部最优并加速收敛,并运用到基于特征选择的废物分类问题。
全局搜索能力和搜索精度是相互制约的,提高搜索精度的同时很可能会降低全局搜索能力,反之亦然,所以,如果过于重视算法的搜索精度,这会使算法充分达到当前区域最优值,但是容易陷入局部最优解。反之算法如果过于重视算法的全局搜索能力,这能让算法找到最优解所在的区域,但是不能保证算法有足够的搜索精度以找到全局最优解。为了平衡算法全局搜索能力和搜索精度,针对人工蜂鸟算法中存在的寻优精度不高、收敛速度慢的缺陷,本文采取两大策略改进,具体工作如下:
(1) 提出自适应距离围猎策略,来提高算法局部搜索能力。提高搜索精度的一种常用方法是局部搜索策略。其主要思想是在当前个体周围基于概率模型生成新个体。本文受鲸鱼优化算法的围捕猎物策略启发,在蜂鸟个体觅食的食物源周围生成虚拟个体,并且沿着螺旋形的路径觅食,寻找更优的食物源。但是,如果在每个个体周围都进行搜索的话,会大大提高算法计算量降低搜索时间。所以概率模型的参数如何设置是一个难题。文献 [21] 提出的算法使用了固定的标准差,但是一个固定的取值鲁棒性较差。本文借助一种根据每次迭代的种群适应度的方差来判断是否在目标周围进行围猎的策略。较好的降低了算法的计算数量并充分提高了收敛效率和搜索精度。
(2) 引入使用非线性收敛控制的莱维飞行因子,用于替代原算法步长因子。由于在加入自适应距离围猎策略后,算法收敛速度过快,容易陷入局部最优解,而原算法步长因子取值服从标准正态分布,取值范围小,不能满足改进算法全局搜索需求。所以本文引进莱维飞行因子来替代原算法步长因子,但是莱维飞行因子相比于原算法步长因子前期搜索能力提高较小,后期精确搜索能力不足,本文因此引入非线性收敛因子来控制莱维飞行因子取值大小,在搜索前期加大莱维飞行因子取值振幅,从而进一步提高算法全局搜索能力,在迭代后期缩小莱维飞行因子取值,提高算法收敛精度,并加快收敛速度。
2. 人工蜂鸟算法
人工蜂鸟算法(Theartificial hummingbird optimization algorithm, AHA)是赵卫国等人在202年受蜂鸟觅食行为启发而提出的一种新型基于群的元启发式算法,该算法通过引导觅食、领地觅食和迁徙觅食三种觅食策略来引导算法迭代,相较于其他算法和人工蜂群算法,其不同在于提出了访问表策略,该策略较好得平衡了全局搜索能力和搜索精度。AHA与其他群智能优化算法相比具有参数少,寻优能力强等优点,因此各种人工蜂鸟改进算法也已被广泛应用于各类工程应用领域。其仿生学原理如下。
蜂鸟通过三种觅食行为:引导觅食、领地觅食和迁徙觅食,对每个食物源进行访问,食物源的花蜜填充率用函数的适应度值表示。同时,在觅食行为中模拟了轴向飞行、对角飞行和全向飞行三种飞行技能。
访问表:访问表是存储食物源访问信息的重要组成部分,它跟踪每只蜂鸟对每个食物源的访问级别。访问表中的值越大,表明蜂鸟不访问该食物源的时间越长,这意味着该食物源为该蜂鸟积累了更多的花蜜量,将促进访问该食物源的优先级。种群中的所有蜂鸟都可以在引导觅食阶段找到自己觅食的目标食物源。同时,在每个不同的觅食阶段,访问表根据候选解决方案的质量进行更新。
在觅食过程中,通过引入方向切换向量,充分利用了全向飞行、对角飞行和轴向飞行三种飞行技能,使得蜂鸟就可以飞向目标食物来源觅食。
其中轴向飞行的定义如下:
(1)
对角飞行的定义如下:
(2)
全向飞行定义如下:
(3)
其中,
生成一个从1到d的随机整数,
创建一个从1到k的随机整数排列,
是(0, 1)中的一个随机数。
模拟引导觅食行为和候选食物源的数学方程如下:
(4)
其中
表示第
只蜂鸟的位置,
是第i个食物源在时间t的位置,
是第i只蜂鸟打算访问的目标食物源的位置,a是一个引导因子,它受制于正态分布
,平均值 = 0,标准偏差 = 1。第1个食物源的位置更新如下:
(5)
其中
表示函数的适应度值。
模拟领地觅食行为和候选食物源的数学方程如下:
(6)
其中b为区域因子,服从正态分布
。
模拟迁移觅食行为和候选食物源的数学方程如下:
(7)
其中
是种群中花蜜填充率最差的食物来源,M是迁移系数,蜂鸟可能在2n次迭代后访问与目标源相同的食物源。
3. 优化人工蜂鸟优化算法(ALAHA)
3.1. 领域搜索策略
邻域搜索策略的表达式如下:
(8)
其中M表示第i只蜂鸟到花蜜(当前最优解)的距离,l为是[−1, 1]中的随机数。
该策略通过蜂鸟在猎物周围游动,形成一个缩小的圆圈来搜索猎物。这种螺旋环缩模型可以有效搜索猎物周边情况,提高猎物周边搜索效率。但是,该策略的环缩速度会影响算法搜索精度,螺旋模型大小会影响算法全局搜索能力,为了较好解决这一不足,本文提出一种自适应距离围猎策略。围猎策略借助每次迭代的种群适应度的方差来判断是否在目标周围进行围猎搜索。该策略通过摒弃环缩机制来减少对算法全局搜索能力的影响,直接用较小的螺旋模型在目标周围精确搜索,提高算法收敛精度,并且用目标适应度的方差来减少算法计算量,以较少计算增长量大幅提高算法搜索效率。蜂鸟个体位置更新如图1所示。
标准差设置是局部搜索策略的常用方式,如果对每个迭代个体都使用近距离围猎策略,一方面会大幅提高算法搜索时间,另一方面过高的收敛速度会降低算法全局搜索能力,取值鲁棒性较差。所以本文借助一种根据每次迭代的种群适应度的方差来判断是否在目标周围进行围猎觅食。其数学公式如下:
(9)
其中
为方差,n为蜂鸟的种群数量,
为第i只蜂鸟种群的适应度,
为蜂鸟种群的平均适应度,
为种群中的最优适应度,
为种群中的最差适应度。

Figure 1. Target individual location update
图1. 目标个体位置更新
当
时,为了提高搜索精度,对蜂鸟种群位置更新如下:
(10)
其中
表示第i只蜂鸟在
时刻的种群适应度,
为在(−1, 1)区间内服从正态分布的随机数。
为了测试邻域搜索策略的有效性和方差取值大小,以基本AHA算法为基础,分别在经典测试函数单峰函数Schwefel's和多峰函数Quartic上测试,适应值如图2所示。


Figure 2. Comparison of policy adaptation values
图2. 策略适应度对比
从图2中可以看出,在测试函数中,采取了邻域搜索策略的AHA算法比基本AHA算法有更好的收敛速度和收敛精度。对于方差a的选取,可以从图2中看出,a取值越大,需要计算的蜂鸟个体越多,计算量越大,计算时间越长,收敛速度越快。在单峰函数上,a取值对算法的影响有其上限,过多提高a的取值并不会明显提高算法收敛性,a取值敏感性不高,但是太低的取值又会使策略发挥不了作用;在多峰函数上,a取值越大全局搜索能力不断减弱,更加容易陷入局部最优,可见a取值不应该太高。综合考虑本文认为a取值5比较合适。
3.2. 改进莱维飞行因子
由于加入了邻域搜索策略后原算法收敛性大幅加强,导致算法前期容易快速收敛到局部最优点,不容易充分探索搜索空间,在某些复杂问题上降低了算法全局搜索能力。由式(4)和式(6)可知,标准AHA算法种群位置更新步长由因子b控制,在搜索过程中,由于步长限制,在加入围猎策略后全局搜索能力不足以适应新算法的需求,导致算法鲁棒性下降,搜索后期容易陷入局部最优,种群搜索陷入停滞。
文献 [22] 证明了莱维飞行策略其搜索范围远近交替的随机飞行的特征,在与麻雀搜索算法相结合后,可以提高算法全局搜索能力。本文通过提取莱维飞行因子,结合算法实际状况提出针对性改进方法,将其与引导觅食和领地觅食策略相结合,更新种群个体位置公式如式(11)、式(12)所示。
(11)
(12)
其中Lv为飞行步长,
表示第
个蜂鸟的位置,
是第i个食物源在时间t的位置,
是第i只蜂鸟打算访问的目标食物源的位置。
标准莱维飞行因子Lv计算公式如下:
(13)
u、v服从正态分布,
,
。
、
定义如下:
(14)
其中
通常取值于
之间,这里取值1.5。
将莱维飞行因子引入代替原步长因子b可以增强算法的随机性,相比于原步长因子b,莱维飞行因子取值震荡性更大,更有利于算法随机搜索,可以提高算法前中期的全局搜索能力。但是从图中也可以看出,在搜索前期莱维飞行因子相对于原步长因子b取值相差不大,全局能力有继续加强的空间,而在迭代后期,过高的全局能力不利于算法收敛,需要降低莱维飞行因子取值震幅。可见,经典莱维飞行因子不符合当前算法的寻优过程。
为此,本文提出一种新的非线性收敛控制的改进莱维飞行因子。本文通过在公式(14)中加入非线性收敛因子来控制u的大小,从而控制莱维飞行因子的振幅大小。非线性收敛因子公式如下:
(15)
然后将非线性收敛因子加入公式(17),组成的新公式如下:
(16)
改进前后的非线性收敛因子
变化图如图3所示。
将从初期的2.5变化到后期的0.5,可见在迭代初期改进莱维飞行因子具有更大的振幅空间,有利于算法更充分地探索搜索空间,并且非线性的收敛因子使改进莱维飞行因子在迭代初期变化相对平缓,后期较小的
也使得改进莱维飞行因子振幅更小,局部开采能力逐渐增强。

Figure 3. Improvement of the value comparison between Lévy factor and cause factor
图3. 改进莱维因子与原因子取值对比
为了进一步验证策略的全局能力,把改进莱维因子的AHA和标准AHA算法进行比较,测试函数为Schwefel’s,种群数量为100,维数为30,分别选取算法迭代第100代和第300代散点分布图进行对比,对比图如图4所示。

Figure 4. Strategy scatter distribution comparison
图4. 策略散点分布对比
从图中可以看出,在单纯使用改进莱维因子策略的情况下,算法迭代100次和300次改进AHA算法精度分别为10−2和10−17,而标准AHA算法精度在10−11和10−40,远低于改进AHA算法,可见改进AHA算法在迭代过程可以更好地遍历搜索空间,拥有更好全局优化能力。
3.3. ALAHA算法的步骤
ALAHA算法流程图如图5所示,ALAHA算法伪代码和如下表1:

Table 1. ALAHA algorithm pseudocode
表1. ALAHA 算法伪代码
3.4. 时间复杂度计算
AHA首先初始化一组随机解决方案和一个访问表。在每次迭代中,有50%的概率进行引导觅食或领地觅食。引导觅食使蜂鸟能够朝着由访问表和花蜜再填充率确定的各自目标食物来源移动。领地觅食迫使蜂鸟扰乱自己的当地社区。每2n次迭代,进行一次迁移觅食。这三种觅食行为都使用了三种飞行技能,包括全向、对角和轴向飞行。所有操作和计算都是交互执行的,直到达到停止标准。最终,具有最佳花蜜再填充率的食物源作为全局最优值的近似值返回。
AHA算法的计算复杂度与初始化、适应度评估(c)、蜂鸟位置更新、蜂鸟种群大小(N)、最大迭代次数(T)、变量维数(d)。AHA的整体计算复杂度可以表示为:
(17)
改进算法ALAHA相比原算法AHA在每次迭代过程中都需要计算一次莱维飞行因子,在引导觅食和领地觅食过程中需要根据收敛情况进行一次近距离围猎,并且蜂鸟个体进行位置更新时判断是否接受差解。所以改进后算法所需的时间复杂度为:
(18)
4. 实验仿真和分析
本文实验的运行环境为64位Windows 10操作系统,处理器是Intel(R) Core(TM)i7-8550U,使用的软件是MATLAB R2020b。本文使用23个标准测试函数集对ALAHA进行试验测试。
4.1. 对比算法与参数设置
为了研究改进算法的有效性,文章选取改进的人工蜂鸟算法ALAHA与人工蜂鸟算法(AHA)、莱维飞行算法(LFD)、鲸鱼优化算法(WOA)、灰狼优化算法(GWO)、樽海鞘群算法(SSA)和哈里斯鹰优化算法(HHO)进行对比。这些算法已被证实拥有良好的搜索能力。为了使算法验证过程公平公正,文章将算法的种群规模全部设置成50,空间维度设置成30,最大迭代次数为500次,每个算法独立运行30次,算法相关参数设置如表2所示。将平均值、标准差与Wilcoxon秩和检验作为算法评价标准。

Table 2. Parameter settings of each algorithm
表2. 各算法参数设置
为了进一步验证MAHA的搜索性能和鲁棒性优于标准AHA和其他优化算法,文章对多个不同特点的测试函数进行测试对比,测试函数的函数编号、函数名称、函数维度、搜索范围和理论最优值如表3所示。
4.2. 算法测试分析
ALAHA与其对比算法的平均适应度和标准差见表4,对于单模态函数F1~F7来说,ALAHA与自身两个原始算法AHA和LFD相比较而言,平均寻优能力获得极大的提高,在F1~F4函数上均达到函数理论最优值,根据标准差表现,ALAHA搜索稳定性最好。对于F5,ALAHA虽然没有收敛到理论最优值,但是搜索精度仅次于HHO,超过原始算法和其他算法。对于F6, ALAHA搜索精度仅次于SSA和HHO,相比原始算法精度有所提高。在F7中,ALAHA搜索能力和稳定性都是最好的。由此可知,ALAHA在局部开发阶段引入自适应距离搜索策略与莱维飞行因子能够带来优秀的搜索能力,提高算法的搜索精度,并且具有良好的稳定性。
F8~F13为多模态测试函数,函数具有多个局部最优解和一个全局最优解,可以用来验证算法全局搜索能力和跳出局部最优的能力。对于F8、F13,ALAHA搜索效果仅次于HHO,排名第二,且相比原始算法AHA和LFD开发能力更强。对于F9、F10、F11,ALAHA达到理论最优值。对于F12,ALAHA搜索效果最好,跳出局部最优能力最强。由此可知,ALAHA的全局搜索能力和跳出局部最优的能力都高于原始算法AHA和LFD,只有两个函数略逊于HHO,但是总体来看算法效果还是最好的。说明本次改进确实提高了了算法的全局搜索能力以及给予了算法跳出局部最优解的能力。
F14~F23是固定维度多模态测试函数,用来实验算法在平衡全局开发和局部探索能力的性能高低。对于F8、F13,ALAHA搜索效果仅次于HHO,排名第二,且相比原始算法AHA和LFD开发能力更强。对于F9、F10、F11,ALAHA达到理论最优值。对于F12,ALAHA搜索效果最好,跳出局部最优能力最强。由此可知,ALAHA的全局搜索能力和跳出局部最优的能力都高于原始算法AHA和LFD,只有两个函数略逊于HHO,但是总体来看算法效果还是最好的。说明本次改进确实提高了了算法的全局搜索能力以及给予了算法跳低。对于F14~F23,ALAHA和原算法AHA的平均适应度全部能够达到理论最优值或者及其逼近理论最优值,但是相对于原算法AHA,ALAHA的标准差更好,而相比原始算法LFD和其他优化算法,ALAHA在最优值和标准差上都要更优秀。在固定维度多模态测试函数上,ALAHA的实验结果都是最优,根据测试函数本身特性,证实了ALAHA平衡算法收敛和全局搜索能力上具有优秀的性能,在算法的稳定性上相比原始算法也更强。

Table 4. Test results of benchmark functions of each algorithm
表4. 算法标准函数测试结果
4.3. 收敛曲线分析
为了更加清晰直观地展现各个算法的全局搜索能力和收敛情况,本文从23个测试函数中挑选了9个函数,F1、F3、F7为单模态函数,用来检验算法收敛速度和精度;F9、F12、F12为多模态函数,可以观察算法的全局搜索能力;F15、F20、F22为固定维多模态函数,可以清晰的观察到算法在平衡局部开发能力和全局探索能力上的优劣,收敛曲线如图6所示。在F1和F3上,ALAHA收敛性远高于其他算法,收敛精度最高,AHA算法在迭代500次后还未达到最优值,而ALAHA只需迭代不到200次即可达到理论最优值,收敛速度快。在F7中,ALAHA虽然未达到理论最优值,但是其全局搜力更强,跳出局部最优的速度更快,使得收敛精度高于其他算法。对于函数F9,虽然ALAHA、AHA、HHO和WOA算法都收敛到全局最优值,但是相比其他算法,ALAHA只需要10次迭代就能找到最优值,搜索效率高于其他算法。对于F12和F13,ALAHA收敛速度和收敛精度都更好,并且相比其他算法具有优秀的跳出局部最优的能力。在固定维多模态函数F15、F20、F22中,ALAHA收度快,并且在极短的时间内就逼近全局最优解,证明了算法优秀的全局探索和局部开发能力。
4.4. Wilcoxon秩和检验
为了更真实地评估ALAHA算法的性能,本文采用Wilcoxon秩和检验来验证实验结果的显著性差异。秩和检验在显著性等于5%的水平下进行验证,当p < 0.05时,可以认为两种算法存在显著差异,否则认为两种算法寻优能力没有显著差异。本文将7种算法作为样本,在以种群规模全部设置成50,空间维度设置成30,最大迭代次数为500次,每个算法独立运行30次的条件下,对23个基准测试函数求解,并且将ALAHA与其他算法所得结果进行对比,检验结果是否存在显著差异。Wilcoxon检验p值如表5所示,其中N/A表示实验样本数据相同,数据无效。从表中可以看出,ALAHA的p值除了在F17~F23上与原始算法AHA对比大于0.05,这也是因为原算法AHA在这些函数上也都逼近最优值所导致的,这也证明了优化算法没有降低原算法的良好性能。除此之外ALAHA与其他算法的p值基本小于0.05,说明ALAHA算法对比其他算法差异明显,性能更好。

Table 5. Wilcoxon rank sum test results of each algorithm
表5. 各算法Wilcoxon秩和检验结果
5. 结束语
对于标准AHA算法在全局搜索能力和搜索精度不足等问题,本文通过引入莱维飞行因子,结合领地觅食和引导觅食策略,提高全局搜索程度;采用邻域搜索策略提高算法寻优精度。仿真实验证明ALAHA算法相比原算法,在继承原算法较好的性能基础上,较大的提高了寻优能力和搜索精度,但实验也看出了ALAHA算法在跳出局部最优方面还有进一步提高的空间。
基金项目
上海社会化养老模式创新研究(2019BGL020);数字化驱动上海制造业绿色创新的机制及路径研究(22692105100)。