郭雨鑫,刘 升,高文欣,张 磊
上海工程技术大学 管理学院,上海 201620
群智能优化算法(intelligence optimization algorithm,IOA)是受自然界中生物行为与物理现象启发而设计的优化方法,其可以高效处理问题,一直受到广泛关注。Heidari等人[1]在2019年提出了一种新颖的群智能算法——哈里斯鹰优化算法(Harris hawks optimization,HHO),源于观察哈里斯鹰和它们的猎物(兔子)之间的围捕逃跑行为。该算法寻优性能较好,已成功应用于光伏电池和模块的参数识别[2]、图像分割[3]以及PM2.5、PM10的预测等领域[4]。
然而,与其他群智能算法相似,基本的哈里斯鹰算法结构本身存在容易陷入局部最优、收敛精度低和收敛速度慢的缺陷。为了克服哈里斯鹰算法的不足,赵世杰等[5]提出能量周期性递减和牛顿局部增强的方法改进HHO算法,增强了算法的开采能力;Kamboj等[6]提出了混合哈里斯鹰-正弦余弦算法,优化算法的全局探索阶段;Mohammed等[7]融合生存进化算法提出三种策略改进HHO算法,其中锦标赛改进策略效果最佳。
虽然现存的HHO改进策略在一定程度上改进了算法的探索寻优性能,但是解决算法收敛速度慢、容易陷入局部最优值等问题仍需要深入研究。针对此问题,论文提出了融合精英反向学习与黄金正弦算法的哈里斯鹰优化算法(elite opposition-based learning golden-sine Harris hawks optimization,EGHHO)。
哈里斯鹰优化算法模仿哈里斯鹰捕食猎物的真实情况,用数学公式来模拟哈里斯鹰在不同机制下捕捉猎物的策略。在HHO算法中,哈里斯鹰是候选解,猎物(兔子)随迭代逼近最优解。HHO算法包括两个阶段,分别为全局探索阶段和局部开采阶段。
在全局探索阶段中,哈里斯鹰检查和监控搜索空间[lb,ub],并且根据两种策略在随机的地方寻找猎物,迭代时以概率q进行位置更新,公式如下:
其中,Xt+1和Xt分别为第t+1次和第t次迭代时哈里斯鹰的位置,X rabbit,t表示第t次迭代时猎物的位置,r1、r2、r3、r4和q是介于0和1之间的随机数字,lb和ub是搜索空间的下界和上界,X rand,t表示哈里斯鹰第t次迭代时的随机位置,X m,t表示哈里斯鹰第t次迭代时的平均位置,公式如下:
保持探索和开采之间适当的平衡是群智能算法精确运行的必要条件。HHO通过猎物(兔子)的能量方程实现从全局探索到局部开采的过渡,数学表达式如下:
其中,E代表猎物逃跑的能量,E0代表猎物能量的初始状态,公式为E0=2rand-1,rand是区间(0,1)上的随机数字,T为最大迭代次数。当 ||E≥1时,HHO算法将执行全局探索;当 ||E<1时,HHO算法进行局部开采。
在局部开采阶段,哈里斯鹰根据全局探索阶段的观察逮捕预期猎物,猎物则试图逃离危险。根据哈里斯鹰的追逐策略和猎物的逃跑行为,哈里斯鹰算法提出了四种可能的策略来模拟追逐攻击行为。用u表示猎物成功逃跑的概率,当u<0.5时,猎物逃跑成功;当u≥0.5时,猎物逃跑失败。用参数E模拟哈里斯鹰的围攻策略。当|E|≥0.5时,执行软围攻;否则,执行硬围攻。
Case1软围攻。当|E|≥0.5,u≥0.5时,猎物有足够的能量E且以跳跃的方式逃跑,而哈里斯鹰选择逐渐消耗猎物的能量,然后在最佳的位置突袭俯冲以逮捕猎物,位置更新策略如下:
其中,ΔX t是迭代时哈里斯鹰与猎物的位置之差,J=2(1-r5)表示猎物逃脱围捕过程中的随机跳跃,r5是区间(0,1)上的随机数字。
Case2硬围攻。当 |E|<0.5,u≥0.5时,猎物筋疲力尽,逃避能量E很低,哈里斯鹰会迅速突袭猎物,位置更新的策略如下:
Case3累速俯冲式软围攻。当 |E|≥0.5,u<0.5时,猎物有足够的能量E逃跑,哈里斯鹰在突袭之前会建立一个软围攻。为了模拟猎物的跳跃动作和逃跑模式,将Levy函数[8]LF集成在HHO算法中,更新位置的方程为:
其中,D为问题维度,S为D维随机行向量。
Case4累速俯冲式硬围攻。当 ||E<0.5,u<0.5时,猎物没有足够的能量E逃跑,哈里斯鹰通过在突袭前构建硬围攻以捕捉猎物,试图减小与逃跑猎物之间的平均位置距离,位置更新如下:
HHO算法利用猎物能量E与因子u调节哈里斯鹰和猎物(兔子)之间的四种围捕机制,从而实现优化求解问题。
2015年,Tizhoosh[9]提出了反向学习机制(oppositionbased learning,OBL),其研究发现反向解比当前解接近最优解的概率高出50%,该机制可以有效增加种群的多样性和质量。目前反向学习机制已被较好地应用于多种算法的改进,Saunhita等[10]利用对立学习优化蛾焰算法,改善了蛾焰算法的趋同性;Tubishat等[11]提出基于对立学习的樽海鞘群算法,提高了种群在搜索空间中的多样性。反向学习机制首先计算当前解的反向解,然后从当前解和其反向解的种群中选取最优解并更新个体。
针对反向学习存在其生成的反向解可能比当前搜索空间更难搜索到最优值的问题,精英反向学习(elite opposition-based learning,EOBL)被提出,这一机制同样已经成功应用于多种算法的改进。肖子雅等[13]利用EBOL提高鲸鱼算法的种群多样性和收敛精度;方旭阳等[14]引入EBOL优化正余弦算法,防止个体盲目地向当前学习。EBOL机制利用精英个体比普通个体携带更多有效信息的优势,先通过种群中精英个体形成反向种群,然后从反向种群和当前种群中选取优秀个体构成新的种群,增加了种群多样性,提高了种群质量,有效地避免算法“早熟”。
2017年,Tanyildizi等[15]提出了黄金正弦算法(golden sine algorithm,Golden-SA),该算法鲁棒性好且收敛速度较快,其通过构造正弦函数模型以求解优化问题。根据单位圆与正弦函数的关系,Golden-SA算法遍历单位圆上的所有点即正弦函数上的所有点,使算法的寻优区域更加全面。另外,Golden-SA在位置更新的过程中融入黄金分割数系数,在每次迭代过程中都充分搜索能产生优质解的区域,加快了算法的收敛速度,增强了算法的局部开发能力。
其中,R1是区间[0,2π]内的随机数字,R2是区间[0,π]内的随机数字,R1决定个体i的移动距离,R2决定个体i的移动方向;融入黄金分割数得到系数x1和x2,x1=-π+(1-τ)×2π,x2=-π+τ×2π,黄金分割数τ=这些系数有效缩小了搜索区域,引导个体趋向最优值。
针对基本哈里斯鹰优化算法存在的不足,论文提出了精英反向学习机制与黄金正弦的哈里斯鹰优化算法(EGHHO)。基本HHO算法采用随机初始化的方法初始化种群,没有先验知识,易导致鹰群多样性差的问题。初始种群的质量对算法的寻优性能有较大影响,优良的初始种群有利于全局寻优。因此,论文引入精英反向学习机制改进哈里斯鹰算法,采用群体选择的方法,将当前哈里斯鹰群体与其反向群体按适应值排序,选择出最优的哈里斯鹰个体作为新一代个体,以此提高HHO算法的种群质量。首先,融入EBOL策略的HHO算法提高了初始化种群的多样性,增加了搜索空间,奠定了全局优化的基础;其次,在每次迭代时,EBOL策略可以产生远离局部极值点的反向解,指引HHO算法跳出局部极值,增强算法全局搜索的能力。另外,EBOL策略采用动态边界的跟踪搜索模式将个体定位在逐步缩小的搜索区域中,提高HHO算法的收敛精度和速度。
另外,在保留传统HHO算法Case3和Case4的基础上,利用黄金正弦算法改进Case1和Case2。无论是Case1软围攻还是Case2硬围攻,哈里斯鹰都成功围捕猎物。猎物的位置X rabbit,t是哈里斯鹰个体运动的导向标,在融入黄金正弦算法的哈里斯鹰算法中,哈里斯鹰以黄金正弦方式移动逮捕猎物,在每一次迭代的过程中,普通个体会与最佳个体交流信息,充分吸收与最佳个体位置差距的信息,提升算法寻优性能和寻优精度。另外,根据黄金分割系数逐步减小搜索区域,根据R1、R2调节哈里斯鹰个体的更新距离和方向,引导个体在优质解区域内快速接近最优值,优化了传统HHO算法的寻优方式,提高了算法的寻优速度和开发能力。融合黄金正弦策略按如下公式更新位置:
综上所述,融合精英反向学习与黄金正弦算法的哈里斯鹰优化算法(EGHHO)具体执行步骤如下:
步骤1初始化种群,主要包括初始化种群个体数N、问题维度D、最大迭代次数T;
步骤2根据目标函数计算哈里斯鹰个体的适应度值;
步骤3生成反向种群OP={};
步骤4根据lb j=min(Xi,j),ub j=max(X i,j)计算个体的搜索边界;
步骤5对种群个体根据式(9)生成并添加到OP种群中;
步骤6从当前种群和OP种群中选取适应度值优良的个体作为新一代种群,并将最优个体位置设为猎物位置;
步骤7计算猎物能量E;
步骤8若 |E|≥1,则根据式(1)执行全局探索的位置更新;
步骤9若 |E|<1,u<0.5,则根据式(7)和(8)进行局部开采的位置更新;
步骤10若 |E|<1,u≥0.5,则根据融合黄金正弦的式(12)进行局部开采的位置更新;
步骤11计算步骤8、步骤9和步骤10的函数适应度值,若得到更优的适应度值,则更新全局最优解和全局最优适应度值;
步骤12判断结束条件,如果满足,则结束程序,输出最优值及最优解,否则转至步骤2。
融合精英反向学习与黄金正弦算法的EGHHO算法的流程图如图1所示。
图1 EGHHO算法的流程图Fig.1 Flow chart of EGHHO algorithm
算法计算时间复杂度主要取决于三个过程,即种群初始化、适应度评估和哈里斯鹰的位置更新。哈里斯鹰群体规模为N,问题维度为D,最大迭代次数为T,根据HHO算法描述和时间复杂度的运算规则,基本哈里斯鹰算法时间复杂度为O(N×D×T)。对于改进的EGHHO算法,精英反向学习初始化种群的时间复杂度为O(N×D),适应度评估的时间复杂度为O(N×D),融合黄金正弦算法位置更新的时间复杂度为O(N×D×T),因此EGHHO的时间复杂度为O(N×D×T)。文献[6]混合哈里斯鹰-正弦余弦算法的时间复杂度为O(N×(T+D×T+1))比本文的时间复杂度高O(N×(T+1)),文献[7]中最优锦标赛改进HHO策略的时间复杂度为O(N×D×T×L),其中L为锦标赛规模,该改进策略亦比本文的时间复杂度高。综上,EGHHO算法的时间复杂度低于上述两种策略的改进算法,与标准HHO算法相同,说明改进的算法没有增加计算负担。
本次仿真测试环境为:操作系统Win7、64位,CPU为AMD A8-7410 APU with AMD Radeon R5 Graphics,内存4 GB,主频2.2 GHz,仿真软件为Matlab2018b。
论文选取了新颖的群智能算法——蝴蝶优化算法(butterfly optimization algorithm,BOA)[16]和黑猩猩优化算法(chimp optimization algorithm,Chimp OA)[17]以及基本哈里斯鹰优化算法(HHO),和融合精英反向学习与黄金正弦的哈里斯鹰优化算法(EGHHO)进行对比。所有算法种群规模N设为30,问题维度D设为30,最大迭代次数T设为500,四种算法共有参数保持一致。
为了验证EGHHO算法的优化效果,论文选取10个不同特点的测试函数进行函数优化的对比测试,包括5个单模态函数(f1~f5)、5个多模态函数(f6~f10),具体信息如表1所示。
表1 测试函数Table 1 Test functions
为了验证EGHHO算法改进策略的有效性,论文对BOA[16]、Chimp OA[17]、HHO与EGHHO算法在10个测试函数上进行了对比实验。四种算法在各个测试函数上独立运行30次的结果见表2。
表2的测试结果显示:对于所选测试函数,无论是单模态还是多模态函数,EGHHO算法的寻优性能最强,明显优于BOA[16]、Chimp OA[17]和HHO算法。函数f1、f3、f6、f8寻优效果达到100%,可以直接搜索到最优值0;除了函数f5、f9、f10,改进算法的标准差均为0,说明EGHHO算法具有较强稳定性;对于函数f2、f7,改进后的EGHHO算法寻优效果明显高于其他新颖算法,其最优值均超过270个数量级,比基础的HHO算法的寻优精度提高了上百个数量级;对于函数f4,改进算法的最优值达到1.68E-287的水平,比HHO算法同样提高了超过200个数量级;对于函数f5、f9、f10,在BOA和Chimp OA的寻优效果普遍较差的情况下,改进的算法仍可提高基本算法的寻优精度,说明改进的EGHHO算法克服了基本HHO算法寻优精度不高的问题,极大地提高了基本算法的寻优能力,与其他三种算法对比具有明显的竞争优势。
表2 测试函数实验结果Table 2 Experimental results of test functions
为了直观展示EGHHO算法的寻优速度和性能,论文给出部分基准测试函数的收敛曲线图,如图2所示。
由图2的收敛曲线可以直观看出,改进EGHHO算法的收敛精度远远高于BOA[16]、Chimp OA[17]和HHO算法,并且其收敛速度也相对快于其他三种算法。函数f1~f5属于单模态函数,常常用来测试算法的开发能力,由函数f2和f4收敛曲线图知,改进后EGHHO算法的收敛精度大幅提高;f6~f10属于多模态函数,对于函数f6,HHO和EGHHO算法的最优值均为0,但由收敛曲线图可以直观地看出EGHHO在150代左右达到最优值,比基本算法的收敛速度快。另外,虽然根据表2测试结果,函数f5、f9、f10的寻优精度提高相对较小,但根据收敛曲线图可知,改进后的EGHHO算法在这三个测试函数上具有更快的收敛速度,说明改进的算法不仅有利于提高基本算法的寻优精度,而且有利于提高其收敛速度;函数f5、f6、f9、f10的收敛曲线图在迭代过程中出现了多个拐点,证明改进后的EGHHO算法容易跳出局部极值,能够更好地进行全局寻优。
为了进一步验证本文改进策略的优化效果,论文选取文献[5]修正能量递减与牛顿增强机制的哈里斯鹰算法(improved Harris hawks optimization,IHHO)、文献[6]混合哈里斯鹰-正弦余弦算法(hybrid Harris hawks-sine cosine algorithm,hHHO-SCA)和文献[7]中效果最优的策略——锦标赛改进HHO算法(tournament HHO,THHO)的实验结果,与本文融合精英反向学习与黄金正弦的哈里斯鹰算法(EGHHO)进行对比,所有算法共有参数设置同3.2节,对比结果见表3。
表3中的“—”表示原文献中没有出现的测试函数数据。对于函数f6,所有改进策略均达到最优值0,对于其他函数,EGHHO算法的寻优精度在各项指标上均优于hHHO-SCA算法[6]和THHO算法[7];对于函数f2和f4,EGHHO的寻优精度高于hHHO-SCA算法和THHO算法上百个数量级;对于论文与文献[5]中IHHO共同使用的函数f2、f7、f8,虽然IHHO在最优值上均为0,但是EGHHO算法的其他3个指标均优于IHHO,EGHHO算法在这3个测试函数上标准差均为0;对于函数f8,各个指标均为最优值0,说明融合精英反向学习与黄金正弦的EGHHO算法具有更强的稳定性。
表3 改进算法实验结果对比Table 3 Comparison of experimental results of improved algorithms
本文融合了两种策略改进基本HHO算法,即采用精英反向学习机制和黄金正弦算法。为了分析这两种改进策略的有效性,论文选取仅采用精英反向学习机制改进的哈里斯鹰算法(elite opposition-based learning Harris hawks optimization,EHHO)、仅引入黄金正弦算法的哈里斯鹰算法(golden-sine Harris hawks optimization,GHHO)和融合精英反向学习与黄金正弦的改进EGHHO算法进行比较。参数设置与3.2节相同,三种算法在各测试函数上独立运行30次,实验结果见表4。
由表4不同策略改进HHO算法的测试结果可知,采用两种改进策略的EGHHO算法的平均寻优精度(平均值)和寻优稳定性(标准差)要优于采用单一改进方法的EHHO和GHHO。对于函数f2、f4、f5、f7、f9、f10,EGHHO算法的寻优精度均优于两种单一策略;对于函数f6,融合两种策略和单一策略的寻优效果均达到100%;对于函数f1、f3、f8,EGHHO算法的寻优精度高于EHHO算法,与GHHO算法均达到最优值0。为了直观地显示融合两种策略的优势,论文给出函数f1、f3、f6、f8的收敛曲线图,见图3。
表4 不同策略改进HHO算法的测试结果Table 4 Test results of improved HHO with different strategies
融合两种策略和单一策略的改进算法虽然对于部分函数均可达到最优值0,但是从图3收敛曲线图可以看出,融合两种策略的EGHHO算法比单一改进策略优先达到最优值,说明融合两种策略可以进一步提高算法的寻优速度。综上所述,单一的精英反向学习机制或黄金正弦算法可以提高算法的寻优性能,但效果相对较小,融合两种策略的改进算法更有效地提高了HHO算法的寻优精度和寻优速度。
图3 有效性分析收敛曲线图Fig.3 Convergence curve of effectiveness analysis
根据上述实验结果可知,论文改进的EGHHO算法对于低维测试函数取得了较高的收敛精度和较好的收敛效果,但是一般的改进策略在较为复杂的现实问题上容易陷入“维数灾难”。为了更好地测试EGHHO算法的高维适应性,论文进行了EGHHO的高维函数测试实验,HHO算法与EGHHO算法在100维、500维、1 000维和10 000维的测试函数上分别独立运行30次,其他参数设置同3.2节。因为函数f3耗时过长,两种算法对于函数f6在各个维度上的寻优结果均为0,没有对比性,所以选取其他8个函数作为高维测试函数,并与文献[18]中求解大规模问题的改进鲸鱼优化算法(improved whale optimization algorithm,IWOA)的高维实验结果进行对比,所得实验结果见表5。
表5 高维函数求解结果Table 5 Results of solving high dimensional functions
表5中的“—”表示原文献中没有进行测试的函数和维度。由表5结果可知,改进的EGHHO算法在各个维度上4项指标值均优于基本HHO算法。对于函数f2、f4、f7,改进算法在高维实验里仍然比基本的HHO算法的寻优精度提升上百个数量级;对于函数f1、f8,改进算法在各个维度上都能够收敛到最优值0,说明改进算法处理高维问题的寻优性能较好,寻优成功率可以达到100%;对于函数f1、f2、f4、f7、f8,改进算法的标准差均为0,说明改进策略具有较强的鲁棒性;对比与文献[18]在相同维度下共同使用的函数f1、f2、f5、f7、f9,EGHHO算法的高维平均寻优精度和标准差均优于IWOA[18],说明本文改进策略的高维寻优性能相对更好。综上,EGHHO算法对高维问题仍保持较好适用性和寻优性能,可以有效处理现实生活中复杂的高维问题。
哈里斯鹰优化算法是近年来提出的一种寻优性能较好的新颖群智能算法,为了使算法性能进一步提高,论文提出融合精英反向学习与黄金正弦算法的EGHHO算法。在初始化种群阶段,融入精英反向学习机制,提高种群多样性和种群质量,为全局寻优奠定基础,有利于算法跳出局部最优值和提高寻优精度;另外,哈里斯鹰以黄金正弦的方式移动逮捕猎物,通过黄金分割系数减小搜索空间,有效增强算法局部开发能力。通过单模态、多模态多个测试函数进行验证,研究结果表明融合两种改进策略较好地提升了算法的全局寻优性能、寻优精度、寻优速度和鲁棒性。今后研究方向主要是拓展EGHHO算法的实际应用领域。