基于哈里斯鹰优化的自适应光子搜索算法

2022-08-17 10:07李旭乔学工
电子设计工程 2022年15期
关键词:搜索算法光子猎物

李旭,乔学工

(太原理工大学信息与计算机学院,山西太原 030600)

光子搜索算法(Photon Search Algorithm,PSA)是刘永历等人[1]于2019 年提出的一种基于物理现象的启发式算法,常见的物理启发式算法有模拟退火算法(Simulated Annealing,SA)[2]、引力搜索算法(Gravitational Search Algorithm,GSA)[3]、水循环算法(Water Cycle Alogrithm,WCA)[4]和闪电搜索算法(Lightning Search Algorithm,LSA)[5]。光子搜索算法的理论基础来源于Max Planck、Einstein 和Broglie等[6-7]人提出的光子假说和量子理论。PSA 算法具有较强的全局探索能力和较高的搜索效率,但是局部开发能力很差,收敛精度低。

哈里斯鹰优化算法(Harris Hawk Optimization,HHO)是Heidari 等人[8]于2019 年提出的一种基于群体捕食行为的算法,其改进的算法有EHHO[9]和CHHO[10]等。常见的基于群体的算法还有粒子群算法(Particle Swarm Optimization,PSO)[11]、蚁群算法(Ant Colony Optimization,ACO)[12]和灰狼算法(Grey Wolf Optimizer,GWO)[13]等。PSA 算法有较为丰富的开发策略,并且结构简单,参数易于调节。

文中针对PSA 算法的不足进行改进。首先将HHO 的4 种开发策略引入PSA 算法,以增强其局部寻优能力,并且对原始HHO 中的逃逸能量函数进行改进,避免算法陷入局部最优。

1 光子搜索算法

1)光子运动的初始化

假设初始有N个光子(个体),则第i个个体的位置[1]通过式(1)更新:

Rig表示第i个光子与当前拥有全局最佳适应度值的光子Xg之间的欧式距离,RLen表示光子在迭代中通过的距离,计算如式(2)、(3)所示[1]:

其中,Scl为权重值。

于是,在特定时间t中,第i个光子在第d维中的速度v通过式(4)更新[1]:

所以,第i个光子的位置通过式(5)进行更新[1]:

其中,De为收敛权重,用来调整搜索过程中的收敛速度,ext表示收敛系数。

2)观察行为

为了模拟量子的不确定性原理,设计了算法的观察行为,第i个光子的位置根据式(7)进行计算[1]。

3)搜索排除原则

根据泡利不相容原理设计了搜索排除原则。个体位置通过式(8)更新[1]。其中,是指相应维度的下边界值,而是指相应维度的上边界值,randB是范围[0,1]的随机数。

2 HHO-APSA算法

2.1 HHO算法的开发策略

HHO 算法的实现过程可以分为探索阶段和开发阶段两个阶段:探索阶段进行全局搜索;开发阶段个体进行局部寻优。通过7 种掠夺性策略[14]中的4种策略进行局部开发。

1)软围攻

该搜索策略下,猎物具有足够的能量进行逃脱,通过式(9)更新个体位置:

其中,X(t)和X(t+1) 分别表示鹰的当前位置和下一次迭代的位置,ΔX(t)表示猎物与鹰当前位置的差值,E表示猎物的逃逸能量,J表示猎物在整个逃逸过程中的随机跳跃强度,Xprey(t)表示猎物的当前位置,r表示[0,1]之间的随机数。

2)硬围攻

猎物没有足够的能量进行逃脱。个体通过式(10)更新位置:

其中,X(t+1)、Xprey(t)、E和ΔX(t)的含义与式(9)中参数的含义相同。

3)渐进式快速俯冲的软包围

猎物有足够的能量逃脱哈里斯鹰的抓捕,并在突袭之前就进行了软围攻,个体位置通过式(11)更新:

其中,Y表示鹰下一步行动的评估指标,J、Xprey(t)、E和X(t)与式(10)中的参数含义相同。Z表示鹰基于Levy 飞行模式[15]进行潜水的指标,D表示解空间的维数,S∈R1×D表示[0,1]之间的随机矩阵,Levy表示飞行函数。

4)渐进式快速俯冲的硬包围

猎物没有足够的能量逃脱,在突袭之前就进行了硬围攻。个体位置更新公式与式(12)相同,其中Y和Z根据式(13)进行计算:

Xm(t)代表所有个体每一维度相对应的平均值,剩余参数与式(11)相同。

2.2 HHO-APSA算法设计

PSA 是一种全局搜索能力很强的算法。但是,由于个体位置更新方法过于简单,因此其开发能力受到限制,从实验结果来看仍有改善的空间。PSA算法要确保在增强局部开发能力的同时,对其全局探索能力不会产生太大影响。文中通过HHO 的4 种局部开发策略来改进原始个体的移动方式。

1)种群初始化

哈里斯鹰的4 个局部捕食策略的连续切换扩大了种群的搜索范围,避免陷入局部最优,并且使该算法在局部范围内更快地找到最优解。基于这4 种开发策略的优势,将哈里斯鹰的开发策略与光子搜索算法结合起来,提出了一种基于哈里斯鹰优化的自适应光子搜索算法(HHO-APSA)。首先,需要初始化种群,所有个体均根据式(14)初始化:

其中,Lb和Ub是上下边界,r1是[0,1]之间的随机数。

2)改进的逃逸能量函数

HHO 中的逃逸能量E决定了探索与开发之间的转换,原始逃逸能量函数利用式(15)计算:

其中,初始能量E0是介于[-1,1]之间的随机数,t是当前迭代次数,T是最大迭代次数。当|E|<1 时,该算法处于开发阶段。从图1(a)中可以看出,参数 |E|从2 线性减小到0,这使得 |E|的值在迭代结束时完全小于1。换句话说,原始HHO 算法在后期仅进行局部开发,而完全忽略了全局探索。

基于以上分析,文中提出了一种新的逃逸能量函数Enew,将Enew作为HHO-APSA 种群迁移策略的切换指标:

其中,参数E0、t、T的含义与式(15)相同,衰减因子μ表示猎物能量的衰减强度。μ值越大,逃逸能量函数Enew衰减越快。由表1 中10 次测试结果的均值和标准差可以看出,μ为0.8 时优化效果较好。如图1(b)所示,当μ=0.8 时,逃逸能量函数Enew在250 次迭代后仍能提供足够的扰动。在某些情况下,|Enew|可以大于1。这也表明,在一定概率下,μ可以帮助算法在探索与开发之间取得平衡,并避免陷入局部最优状态。

表1 衰减因子对HHO-APSA算法在3个基准函数上的影响

图1 逃逸能量变化曲线对比图

从图1(b)可以看到,当迭代次数增加时,|Enew|总体上呈现一个下降的趋势,它模拟的是猎物逃逸能量的变化过程。|Enew|=1 是HHO-APSA 算法切换搜索策略的分界线。当|Enew|≥1 时,个体根据式(4)、式(5)、式(7)、式(8)移动,此时种群处于全局搜索阶段;当|Enew|<1 时,个体根据式(9)、式(10)、式(12)移动,此时种群可以选择多种移动方法,从而扩大个体在特定区域的移动范围,并增加对个体的利用。因此,HHO-APSA 算法可以在搜索空间中寻找到更好的解决方案。简言之,PSA 的改进可以分为两部分:1)引入改进的逃逸能量函数Enew,作为探索与开发两部分之间的切换指标;2)引入HHO 的4 种开发策略来改进PSA 的局部开发能力。HHO 开发策略的引入可以使PSA 算法具有更强的局部开发能力,并能找到更准确的解决方案。算法流程图如图2所示。

图2 HHO-APSA算法流程图

3 仿真与分析

文中在Matlab 2018b 环境下对HHO-APSA 算法进行仿真测试,并与PSA、LSA 和WCA 算法进行比较。为了避免实验出现意外结果,每个基准函数的优化过程都独立重复10 次,并使用这10 个结果的最优值、平均值和方差来评估HHO-APSA 算法的性能,所有算法的迭代次数均为500 次。仿真参数设置如表2 所示。

表2 仿真参数设置

文中选取了6个经典的基准函数[16]来测试HHOAPSA 算法的性能,表3 中列出了这些基准函数的表达式、自变量的范围、理论最优值等。F1(x)为单峰基准函数,F2(x)、F3(x)为多峰基准函数。F4(x)、F5(x)、F6(x)为固定维度基准函数。6 个经典基准函数的基准测试数据如表4 所示。

表3 基准测试函数

表4 基准测试数据

收敛曲线如图3 所示。

由整个实验结果可以看出,PSA 的收敛速度非常快,但收敛精度很差,HHO-APSA 算法在很大程度上改善了PSA 算法的收敛精度。从图3(a)中可以看出,对于单峰基准函数F1(x),HHO-APSA 的收敛精度相比于PSA 高出约100%,迭代至60 次左右时收敛,在收敛速度方面相较于HHO 有很大的改善,这证明其具有较强的开发能力,可以更准确地找到单峰函数的最优值。从图3(b)和图3(c)可以看出,对于多峰基准函数F2(x)、F3(x),虽然收敛精度相较于HHO 有较大差异,但是HHO-APSA 算法的收敛速度远优于HHO,在迭代至70 次左右时收敛,这是由于在迭代初期使用PSA 进行全局探索,加快了算法的收敛速度,在迭代的中后期将衰减因子引入到逃逸能量函数之中,避免了算法后期陷入局部最优,使得HHO-APSA 相较于PSA 可以找到更准确的解。同时表明,当开发能力得到极大改善时,其探索能力并没有受到过多的破坏。从图3(d)-图3(f)可以看出,对于固定维数的基准函数F4(x)~F6(x),除F4(x)之外,HHO-APSA 算法的收敛精度相较于其他算法有较大的提升,并且收敛速度也拥有一定的优势,大约在迭代至30~50 次之内收敛。而且从表4 测试数据的标准差中可以看出,HHO-APSA 的稳定性远高于PSA。

图3 测试函数寻优收敛曲线

4 结束语

为了解决PSA 算法局部开发能力的不足,即收敛精度过低的问题,文中提出了一种基于哈里斯鹰优化的自适应光子搜索算法,即HHO-APSA,其中改进涉及到两个方面:1)将HHO 的4 种开发策略引入到PSA 中;2)提出了一种新的逃逸能量函数Enew。为了验证HHO-APSA 的优化能力,文中使用6 个经典的基准测试函数对其进行测试,并将实验结果与PSA、HHO、LSA 和WCA 算法进行了比较。实验结果表明,相较于PSA,HHO-APSA 算法在保持探索能力的同时极大地提高了开发效率,这表明HHO 的4 种开发策略对HHO-APSA 产生了巨大的影响。在大多数的测试结果中,HHO-APSA 算法的收敛速度都优于HHO 算法。下一步的研究方向是将HHOAPSA 算法应用到无线传感器网络的优化之中。

猜你喜欢
搜索算法光子猎物
纠缠光子的量子实验获得2022年诺贝尔物理学奖
一种基于分层前探回溯搜索算法的合环回路拓扑分析方法
三木落
改进的非结构化对等网络动态搜索算法
改进的和声搜索算法求解凸二次规划及线性规划
偏振纠缠双光子态的纠缠特性分析
可怕的杀手角鼻龙
Duck-billed platypuses
基于莱维飞行的乌鸦搜索算法
聪明误