混沌精英哈里斯鹰优化算法
2021-09-09汤安迪徐登武
汤安迪,韩 统,徐登武,谢 磊
(1.空军工程大学研究生院,西安 710038;2.空军工程大学航空工程学院,西安 710038;3.94855部队,浙江衢州 324000)
0 引言
群智能优化算法是一种模拟自然界生物行为和自然现象的元启发式算法,具有良好的并行性和自主探索性。自1975年美国教授Holland[1]根据达尔文进化论以及自然界优胜劣汰机制提出了遗传算法以后,越来越多的学者通过对不同生物种群和物理现象进行分析,从中获取灵感,提出多种群智能优化算法。如:Mirjalili等[2]根据座头鲸的狩猎方式提出的鲸鱼优化算法(Whale Optimization Algorithm,WOA);Karaboga等[3]根据蜜蜂采蜜机制提出的人工蜂群(Artificial Bee Colony,ABC)算法;Yang[4]基于萤火虫闪烁行为提出的萤火虫算法(Firefly Algorithm,FA);Jiang等[5]基于天牛觅食原理提出的天牛须搜索(Beetle Antennae Search,BAS)算法;Mirjalili等[6]受灰狼群的等级制度和捕食行为所启发提出的灰狼优化(Grey Wolf Optimization,GWO)算法;Li等[7]根据病毒通过宿主细胞在细胞环境中生存和繁殖的扩散和感染策略提出的病毒群体搜索(Virus Colony Search,VCS)算法。
哈里斯鹰优化(Harris Hawks Optimization,HHO)算法是Heidari等[8]于2019年提出的一种新型群体算法,该算法启发于哈里斯鹰捕食行为的探索、探索与开发的转换、开发这三个阶段,具有原理简单、参数较少、全局搜索能力较强等特点,因此HHO已在图像分割[9]、神经网络训练[10]、电机控制[11]等领域进行运用。但是HHO与其他群智能优化算法一样,在求解复杂优化问题时,存在收敛速度慢、寻优精度低、易陷入局部最优等缺陷。为此Qu等[12]利用信息交换机制增强种群多样性;Zhang等[13]引入指数递减策略更新能量因子;Elgamal等[14]引入模拟退火机制。本文针对算法存在的问题,从以下四个方面进行改进:1)引入精英等级制度策略,利用优势种群信息,增强种群多样性,提升算法收敛速度和精度;2)使用Tent混沌映射调整HHO参数;3)使用一种新的能量因子更新策略,平衡算法的开发与探索;4)使用高斯随机游走策略,对当前最优个体进行随机扰动,增大搜索区域,并且当算法停滞时,对种群施加扰动,帮助算法跳出局部最优。
1 哈里斯鹰优化算法
哈里斯鹰优化算法是一种元启发式算法,灵感来自哈里斯鹰的协作觅食行为。哈里斯鹰是发现于美国亚利桑那州南部的猛禽,它们在包括追踪、围攻和攻击在内的几个阶段高效地执行协作觅食。每个阶段的具体描述如下。
1.1 探索阶段
在这个阶段,哈里斯鹰随机栖息在一些地点,通过敏锐的眼睛跟踪和探测猎物,并以两种机会均等的策略进行狩猎。
其中:Xrand为当前种群中随机选择个体,Xrabbit为当前最优个体,Xm为当前种群的平均位置,r1、r2、r3、r4均为0~1的随机数,ub和lb分别为种群的上下界,N为种群数量。
1.2 探索到开发的转换
哈里斯鹰从全局搜索转向局部搜索主要依靠逃逸能量因子E来控制,计算公式如下:
其中:E0为-1~1的随机数,t为当前迭代次数,T为最大迭代次数。
1.3 开发阶段
在找到目标猎物后,哈里斯鹰会在猎物周围形成一圈围攻,等待突然袭击的机会。然而,实际的捕食过程是复杂的,例如,被围困的猎物可能会逃脱包围的圈子。哈里斯鹰可以根据猎物的行为作出必要的调整。为了更好地模拟狩猎行为,开发阶段使用四个策略进行更新,并通过参数E和一个0~1的随机数来决定使用哪个策略。
1.3.1 软包围
当|E|≥0.5和r≥0.5时,猎物有足够的能量,试图通过随机的跳跃逃出包围圈,但最终无法逃脱,因此哈里斯鹰使用软包围的方式进行狩猎,公式如下:
其中:ΔX为最优个体和当前个体的差值,r5为0~1均匀分布的随机数,J为兔子逃跑过程中的跳跃距离。
1.3.2 硬包围
当|E|<0.5和r≥0.5时,猎物既没有足够的能量摆脱,也没有逃脱的机会,因此哈里斯鹰使用硬包围的方式进行狩猎,公式如下:
1.3.3 使用渐进式快速俯冲的软包围
当|E|≥0.5和r<0.5时,猎物有机会从包围圈中逃脱,且逃逸能量足够,因此哈里斯鹰需要在进攻前形成一个更加智能的软包围圈,通过以下两个策略实施。当第一个策略无效时,执行第二个策略。
第二个策略更新公式为:
其中:D为问题维度,S是一个D维的随机向量,LF为Levy飞行函数,公式如下:
其中:l和m为0~1均匀分布的随机数,β是取值为1.5的常数。因此该阶段更新策略最终如下:
1.3.4 使用渐进式快速俯冲的硬包围
当|E|<0.5和r<0.5时,猎物有机会逃逸,但逃逸能量不足,因此哈里斯鹰在突袭前形成一个硬包围圈,缩小它们和猎物的平均距离,采用以下策略进行狩猎:
综上所述,基本HHO算法流程如图1所示。
图1 HHO算法流程Fig.1 Flow of HHO algorithm
2 混沌精英哈里斯鹰优化算法
同其他群智能优化算法类似,HHO算法也存在一定局限性。首先算法在迭代过程中种群仅利用最优个体信息,没有与其他个体交流,导致多样性下降;其次HHO算法易于陷入早熟,无法跳出局部最优;第三,HHO算法控制开发和探索过程的能量因子E的是线性变化的,而HHO算法的搜索过程是非线性变化。因此本文采用以下策略来改善HHO算法性能:引入精英等级制度策略,加强种群间交流,充分利用优势种群来估计种群较好的进化方向,增强算法种群多样性;使用Tent映射调整算法参数;针对能量因子E的迭代,引入新的更新公式,平衡算法的探索和开发能力;对最优个体使用高斯随机游走策略,增大算法搜索区域,当算法陷入停滞时,利用高斯随机游走策略增加种群个体多样性,帮助算法跳出局部最优;最后采用贪婪策略充分保留优势个体,加快收敛。
2.1 精英等级制度
HHO和其他智能算法一样,在求解复杂问题优化时,存在迭代后期种群多样性降低,易于陷入局部最优值,导致出现早熟现象、收敛精度不高。为了提高其全局搜索能力,避免后迭代期种群多样性降低,引入一种精英等级制度,考虑迭代过程中加强次优解信息交流,选取三个最优位置来替代最优解,用以引导其余个体追随。
其中:Xjbest为当前种群优势个体,f(Xjbest)为当前种群优势个体适应度值。
2.2 Tent混沌映射
混沌映射具有随机性、遍历性和规律性的特点,多被用于产生算法的初始种群或者作为算法过程中的扰动[15-16]。本文提出利用Tent混沌映射调整哈里斯鹰算法的关键参数r的取值。r更新公式如下:
2.3 非线性逃逸能量更新策略
在基本HHO算法中,利用逃逸能量因子E1控制算法由全局搜索过渡到局部搜索,但能量因子E1的更新方式是由2线性减少到1,即迭代后半段,只进行局部搜索,易于陷入局部最优,为了克服算法后期只进行局部搜索的不足,提出一种新的能量因子E1的更新方式。
其中:t为当前迭代次数,tmax为最大迭代次数。从图2可以得知:E在迭代前期较快下降,能够控制算法全局搜索的能力;在迭代中期变化较缓,平衡全局搜索和局部搜索能力;在后期快速减小,加快局部搜索。E1在迭代整个过程都能进行全局搜索和局部搜索,且在前期主要进行全局搜索,后期在主要进行局部搜索的前提下保留了进行全局搜索的可能。
图2 能量逃逸因子Fig.2 Energy escape factor
2.4 高斯随机游走策略
在算法迭代寻优过程中,利用优势种群的平均值来判断算法是否陷入停滞,当优势种群的平均值在连续两次迭代过程中没有变化,则认为算法陷入停滞,此时利用高斯随机游走策略生成新个体,进而帮助算法跳出局部最优,克服早熟的不足。模型如下:
其中:X*为从优势种群中随机选择的一个个体,引入一个余弦函数cos(π/2×(t/T)2)来调整高斯随机游走的步长,通过余弦函数,在迭代前期施加较大扰动,迭代后期扰动迅速减小,进而平衡了算法的探索和开发能力。
最后使用贪婪策略,保证改进算法的全局收敛效率。混沌精英哈里斯鹰优化(Chaotic Elite HHO,CEHHO)算法的流程如图3所示。
图3 CEHHO算法流程Fig.3 Flowchart of CEHHO algorithm
3 CEHHO算法性能验证
为了测试CEHHO算法的性能,使用20个基准测试函数进行测试。基准测试函数包括7个单峰测试函数、5个多峰测试函数和8个固定维度的多峰函数。F1~F7只有1个全局最优值,常用于评估算法的开发能力;F8~F20则可以评估算法的探索能力和局部最优规避能力。基准测试函数如表1所示。
3.1 实验参数设置
为了充分验证CEHHO算法的有效性与优越性,选择WOA[2]、GWO[6]、PSO(Particle Swarm Optimization)[17]、BBO(Biogeography-Based Optimization)[18]以及传统HHO算法进行对比分析。为公平比较,在相同实验平台上,设置种群数为50,最大迭代数为300,对比算法的其他参数与原文献保持一致。所有算法均使用Matlab R2018b编程,计算机操作系统为Windows 10,处理器为AMD R7 4700U 16 GB。平均值用于衡量算法的求解精度,标准差用于衡量算法鲁棒性,因此取平均值和标准差作为算法性能的度量标准。
3.2 实验与结果分析
首先验证改进算法在低维上的寻优能力,对表1中F1~F12在30维下进行独立求解,F13~F20维数与表1中一致,记录各算法独立运行30次结果的均值和标准差,实验结果如表2所示,其中粗体部分表示寻优结果最好的算法。
表1 基准测试函数Tab.1 Benchmark function
表2 不同算法的测试结果对比Tab.2 Comparison of test results of different algorithms
续表
由表2可知,对于所选测试函数,CEHHO算法的寻优能力明显优于其他5种对比算法。在求解单峰测试函数F1~F7时,寻优效果最佳,且明显优于HHO算法,其中F5的全局最小值位于一个抛物线型的山谷中,山谷曲面上的最速下降方向与到达全局最优值的方向近似垂直,且山谷内的值变化不大,大部分智能优化算法很难找到全局最优解,CEHHO在求解时明显优于其他对比算法。整体上看,在求解单峰测试函数时,CEHHO寻优能力更强。对于多峰测试函数F8~F21,在求解F8时,CEHHO、HHO、WOA表现最佳;在求解F9~F11时,CEHHO优于4种对比算法;在求解F12、F14~F15和F19~F20时,CEHHO优于所有对比算法;在求解F13时,仅次于PSO,优于3种对比算法;在求解F16~F19时,所有算法性能相近,CEHHO稳定性较HHO更强,在求解F17~F18时,CEHHO表现一般,处于中间水平,但优于HHO。以上统计数据表明,在20个测试函数中,所提出的CEHHO在其中12个测试函数中,均优于所有对比算法,在2个测试函数中优于4种对比算法,在1个测试函数中优于3种对比算法,证明CEHHO寻优能力较强。
为进一步分析6种算法的寻优能力,根据表2的均值,对算法在各个测试函数的结果进行比较排序,结果如表2所示,表2最后一行为各算法的平均排序结果。CEHHO排序第1,寻优性能在6个算法中最强,且明显优于HHO。其余算法排序为:HHO、GWO、PSO,BBO和WOA。
图4为六种算法独立求解基准测试函数30次所得结果的箱式图,为了避免文章冗长,本文仅列出F1、F4、F9、F13、F14和F19,包含2个单峰测试函数、2个多峰测试函数和2个固定维度测试函数。表3为6组函数的四分位距(Inter Quartile Range,IQR)值,可以得知:在求解F1、F4、F9、F14和F19时,IQR值最小,说明CEHHO进行30次独立求解的结果分布更加集中,并且CEHHO求得的异常点少于对比算法;在求解F13时,由IQR值可以得知CEHHO的分布不是最集中,但相对HHO,CEHHO的IQR更小,说明改进策略还是有效的。综上,CEHHO的求解质量优于对比算法,且高质量解的数量也优于对比算法,验证了本文算法具有良好的鲁棒性。
图4 不同算法的收敛箱式图对比Fig.4 Comparison of convergencebox plotsof different algorithms
表3 不同算法IQR值Tab.3 IQR of different algorithms
为了进一步阐述CEHHO的收敛性能,6种算法独立运行30次求解20个基准测试函数收敛曲线如图5,列出F1、F4、F9、F13、F14和F19的收敛曲线。在求解F5~F9、F11~F15、F19~F20时,CEHHO有更高的收敛速度和收敛精度;在求解F1~F4和F10时,CEHHO收敛速度在前期弱于HHO,但在牺牲一定的收敛速度的情况下,能够在后期更快收敛到全局最优值,且收敛精度优于所有对比算法;在求解F16~F18时,收敛速度较对比算法表现不佳,但同样能收敛到全局最优值。且CEHHO在所有测试函数中,其中14个测试函数的寻优性能明显优于HHO算法,5个测试函数的寻优性能差距不大,但收敛速度快于HHO算法。此外,计算效率也是衡量算法性能的重要指标,因此表4列出了各算法30次求解各测试函数的耗时。可以看出,CEHHO虽然耗时不是最少,但其耗时低于基本HHO,考虑到寻优性能优于其余对比算法,因此在提升算法寻优性能的情况下,CEHHO的计算耗时也能接受。
表4 不同算法的耗时对比 单位:sTab.4 Comparison of time cost of different algorithms unit:s
图5 不同算法的收敛曲线对比Fig.5 Comparison of convergence curves of different algorithms
通过对30次独立运行求解测试函数结果的平均值和标准差进行分析比较,并不能精确分析每次运行的结果,且在运行过程中仍有一定概率出现偶然,致使算法在均值上具有较好表现。因此在统计学层面上来判断不同算法整体结果的显著性区别,采用Wilcoxon统计检验。将6种算法独立求解20个测试函数30次得到的结果作为样本,在置信度为0.05的条件下进行检验,判断5个对比算法所得结果与CEHHO所得结果的显著性区别。当秩和检验的p值小于0.05时,说明两种对比算法具有显著性差异,否则说明两种算法的寻优结果在整体上是相同的[19]。Wilcoxon统计检验p值结果如表5所示。
从表5可知,CEHHO在17个测试函数中与BBO和WOA有显著区别,在19个测试函数中与PSO、GWO有显著区别,在13个测试函数中与HHO有显著区别。综上,CEHHO在求解20个测试函数时,至少在一半以上的函数中与对比算法有显著区别。因此基于统计学理论分析,CEHHO的寻优性能明显优于6种对比算法。
表5 不同算法的Wilcoxon统计检验结果Tab.5 Wilcoxon statistical test results for different algorithms
通过以上分析可知,CEHHO算法在低维函数上展现出了较强的寻优能力,但是一般算法在求解高维复杂函数问题时极易失效,而大部分实际优化问题都是大规模的复杂优化问题,因此,为了说明本文所提改进算法的实用性,将6种算法分别在50维和100维测试函数上进行对比,实验结果如表6和表7所示。
表6 求解F1~F12时不同算法测试平均值结果比较(50维)Tab.6 Comparison of mean test results of different algorithms in solving F1-F12(50D)
表7 求解F1~F12时不同算法测试平均值结果比较(100维)Tab.7 Comparison of mean test results of different algorithms in solving F1 to F12(100D)
综合50维和100维测试函数平均值结果来看,在求解F8~F10时,CEHHO与HHO无明显差异,CEHHO在求解F1~F7、F11~F12时,寻优性能优于所有对比算法,尤其是在高维条件下,对比算法寻优性能较为一般,而CEHHO能在高维条件下仍能有效进行寻优。
4 结语
本文针对基本HHO算法求解精度低、收敛速度慢以及易于陷入局部最优等问题,提出了一种融合精英等级制度策略的能量非线性更迭的混沌哈里斯鹰算法。改进算法利用精英等级制度,加强种群间信息交流,利用优势种群估计更好的进化方向和求解范围,增强种群多样性,提升算法的寻优精度,避免陷入局部最优;使用Tent混沌映射控制算法关键参数,采用一种非线性的能量更新策略,提高算法的全局探索和局部开发能力;引入高斯随机游走策略,在算法陷入停滞时,对种群进行随机扰动,增强了算法在迭代后期跳出局部最优的能力;最后利用贪婪策略有效保留优势种群,提高收敛速度。将CEHHO算法与基本HHO算法以及4种新型群智能优化算法在20个测试函数上进行实验对比。结果表明,CEHHO在求解低维和高维函数、单峰和多峰函数优化问题时均表现出良好的寻优性能,具有较强的局部最优规避能力、更高的收敛速度和收敛精度。同时,改进算法在个别测试函数中运行时间较长,在一些固定维度测试函数上表现不是最佳。未来将针对这两个问题进行研究,并将算法应用到无人机作战任务规划等实际工程领域中,验证算法的实用性。