2. 广西嵌入式技术与智能系统重点实验室,广西桂林 541004
2. Guangxi Key Laboratory of Embedded Technology and Intelligent System, Guilin, Guangxi, 541004, China
随着科技的发展,研究人员为解决各类复杂优化问题提出了一系列群智能优化算法,其核心是利用群体动物间的信息交流与合作达到优化目的。常见的群智能优化算法有鲸鱼算法(Whale Optimization Algorithm,WOA)[1]、灰狼算法(Grey Wolf Optimizer,GWO)[2]、麻雀搜索算法(Sparrow Search Algorithm,SSA)[3]、蚁狮算法(Ant Lion Optimizer,ALO)[4]等,这些算法已被广泛运用在经济[5]、医疗[6]、能源[7]等领域。
秃鹰搜索算法(Bald Eagle Search algorithm,BES)是根据秃鹰搜捕猎物时的行为而提出的一种优化算法,和其他优化算法相比,BES的全局搜索能力较强,能有效解决各类复杂工程问题,具有较好的竞争力[8]。Kapileswar等[9]将BES应用于水下无线传感器网络,以提高网络传播性能;Nicaire等[10]利用BES高效提取了光伏电池与模块的内在参数,显著提升了后续系统设计与性能评估的准确性;Sayed等[11]提出一种基于BES的皮肤损伤分类模型,该模型能有效区分正常皮肤与黑色素瘤,为皮肤病变的自动化筛查及临床辅助诊断提供了重要的技术支撑。虽然BES已被广泛应用于多个领域,但是其仍存在收敛速度慢、收敛精度较低、易陷入局部最优等问题。针对这些问题,贾鹤鸣等[12]利用模拟退火机制对BES进行改进,提高了算法局部搜索能力。石默涵等[13]引入正弦混沌映射更新秃鹰种群位置,增加了种群随机性,优化了全局搜索能力,改进了算法的搜索能力;Sharma等[14]通过边界约束函数提高了算法的收敛速度;曹慧等[15]采用Logistic映射策略优化种群位置;丁容等[16]融合柯西变异机制更改种群位置;Chhabra等[17]采用混沌局部搜索以及过渡-相位算子优化领头个体位置以引导群体协同进化;赵沛雯等[18]引入纵横交叉策略对全局最优和种群进行修正。总体来看,这些研究主要通过改进位置更新机制以增强算法跳出局部最优的能力。
尽管国内外学者针对BES的固有缺陷提出多种改良策略,但这些方法的性能增益尚不显著,BES仍存在较大的优化空间。针对BES存在的问题,本研究提出一种基于准反射学习和多项式变异的秃鹰搜索算法(Bald Eagle Search algorithm based on Quasi-reflection-based learning mechanism and Polynomial mutation,QPBES)。具体来说,首先,QPBES在种群初始化和种群位置更新阶段引入准反射学习机制(Quasi-Reflection-Based Learning mechanism,QRBL)来提高种群多样性,进而提高算法的收敛速度;其次,QPBES通过引入自适应惯性权重因子改进算法局部搜索能力以提高收敛精度;最后,QPBES通过加入多项式变异操作以提高算法跳出局部最优的能力。
1 秃鹰搜索算法 1.1 选择搜索空间该阶段,秃鹰在搜索空间内选择最优区域进行捕猎。此过程中,秃鹰的位置pi, new表示为
| $ p_{i, \text { new }}=p_{\text {best }}+\alpha r\left(p_{\text {mean }}-p_i\right), $ | (1) |
其中,pbest为最佳秃鹰位置,α∈[1.5, 2.0]用来控制秃鹰位置变化,r是(0, 1)中的随机数,pmean为秃鹰的平均分布位置,pi为第i只秃鹰的位置。
1.2 搜索空间猎物该阶段,秃鹰以螺旋飞行的方式加速搜索确定俯冲和狩猎的最佳位置。螺旋飞行的数学模型如下:
| $\theta(i)=\beta \times \pi \times \text { rand }, $ | (2) |
| $r(i)=\theta(i)+R \times \text { rand}, $ | (3) |
| $ x r(i)=r(i) \sin (\theta(i)), $ | (4) |
| $y r(i)=r(i) \cos (\theta(i)), $ | (5) |
| $x(i)=\frac{x r(i)}{\max (|x r|)}, $ | (6) |
| $y(i)=\frac{y r(i)}{\max (|y r|)}, $ | (7) |
其中,β∈(5, 10)用来控制螺旋轨迹;θ(i)为极角,r(i)表示极径;R∈(0.5, 2.0)为搜索周期数;rand∈(0, 1)为随机数;x(i)∈(-1, 1)和y(i)∈(-1, 1)表示极坐标下第i只秃鹰位置, xr(i)和yr(i)对应第i只秃鹰在直角坐标系中坐标位置,max(|xr|)和max(|yr|)分别表示所有秃鹰个体中最大的xr和yr(|xr|、|yr|表示位置偏移量)。该阶段,秃鹰位置更新公式为
| $ \begin{aligned} & \quad P_{i, \text { new }}=P_i+x(i) \times\left(P_i-P_{\text {mean }}\right)+y(i) \times \\ & \left(P_i-P_{i+1}\right)。\end{aligned} $ | (8) |
该阶段,秃鹰从搜索空间最佳位置出发迅速到达目标猎物处,此时种群中其他个体也飞向最佳位置,用极坐标表示如式(2)-(7)所示,秃鹰的位置更新方式为
| $ \begin{aligned} & \left\{\begin{array}{l} \delta_x=x(i) \times\left(P_i-c_1 P_{\text {mean }}\right) \\ \delta_y=y(i) \times\left(P_i-c_2 P_{\text {mean }}\right) \end{array}, \right. \end{aligned} $ | (9) |
| $ \begin{aligned} P_{i, \text { new }}=\text { rand } \times P_{\text {best }}+\delta_x+\delta_y, \end{aligned} $ | (10) |
其中,δx、δy表示控制秃鹰移动步长的参数,c1, c2∈[1,2]分别为秃鹰向最佳位置与中心位置运动的强度。
2 QPBES 2.1 准反射学习机制BES收敛速度慢主要因为其随机生成初始种群位置的方式无法保证种群多样性。初始解对智能优化算法的收敛速度有很大影响,更接近全局最优的初始解可以使种群快速结束全局搜索阶段,更早进入局部搜索阶段,而远离全局最优或接近局部最优的初始解则会导致算法长期处于全局搜索阶段或过早陷入局部最优,因此基于先验信息的初始化可以加快种群的收敛速度。
QRBL[19]作为反向学习机制[20]的一种变体,其生成可行解的反向解更有可能位于最优解所在的域中,因此,QRBL既能保证种群多样性,又能提高收敛速度,扩大搜索范围。QPBES在初始化种群时采用QRBL以提高种群质量和位置的多样性,同时在种群位置更新阶段加入QRBL以提高算法收敛速度。QPBES利用QRBL计算种群中每个解的准反射解xqr的公式如下:
| $x^{q r}={Rand}\left(\frac{l b+u b}{2}, x\right), $ | (11) |
其中,lb、ub分别表示最小与最大边界值,
| $ x_i^{q r}={Rand}\left(\frac{l b_i+u b_i}{2}, x_i\right), $ | (12) |
其中,
在初始化种群阶段引入QRBL的具体操作如下:首先,生成一个随机的秃鹰种群p0={xij},i=1, 2, …, N,j=1, 2, …, D,N为种群的规模,D为待解决问题的维度。然后,采用QRBL计算出种群中每个解的准反射解,从而得到一个准反射总体p0qr={xijqr},i=1, 2, …, N,j=1, 2, …, D。最后,计算并比较两个种群的适应度值,在两个种群中选择最优的N个个体作为初始种群。此外,在种群位置更新阶段引入QRBL的具体操作如下:首先记录标准BES更新得到的种群p;然后再利用QRBL生成种群的准反射总体pqr;最后根据种群p和种群pqr的适应度,从两个种群中选取最优的N个个体作为下一轮的初始种群。
2.2 自适应惯性权重BES中的秃鹰是在先前确定的范围内进行搜索,越靠近目标猎物则秃鹰搜索范围越小,即随着算法的迭代,搜索空间应该越来越小,这样才能保证算法在后期具备较强的局部开发能力,从而提升算法的收敛精度。权重因子ω是平衡算法全局搜索和局部开发的重要参数[21],其值较大时,算法具备较强的全局搜索能力;其值较小时,算法具备较强的局部开发能力。为了增强QPBES的局部开发能力,提升算法的寻优精度,本研究受文献[22]启发提出一种新的自适应惯性权重方法,自适应惯性权重ω的计算公式如下:
| $ \omega=\left(\omega_{\text {initial }}-\omega_{\text {final }}\right) \times \cos \left(\frac{\pi}{2} \times \frac{I}{I_{\max }}\right)+\omega_{\text {final }}, $ | (13) |
其中,ωinitial=0.92,为初始惯性权重值,ωfinal是最终惯性权重值,本研究取0.3,I表示算法当前迭代次数,Imax表示算法最大迭代次数。将惯性权重公式引入搜索空间猎物阶段的秃鹰位置更新公式中可得到下式:
| $ \begin{aligned} & \quad P_{i, \text { new }}=\omega P_i+x(i) \times\left(\omega P_i-P_{\text {mean }}\right)+y(i) \times \\ & \left(\omega P_i-P_{i+1}\right)。\end{aligned} $ | (14) |
针对BES易陷入局部最优解的缺点,本研究在QPBES中的最佳秃鹰位置引入多项式变异算子。在群智能优化算法中,变异算子不仅可以避免陷入局部最优,还可以保持解的多样性。多项式变异算子通过对种群个体进行多项式变化,从而增加种群的多样性。当QPBES陷入局部最优时,通过加入多项式变异算子对当前最优位置的秃鹰进行变异操作,从而产生新的位置以跳出局部最优。多项式变异算子公式如下:
| $ v_k^{\prime}=v_k+\delta \times\left(u_k-l_k\right), $ | (15) |
| $ ~~~~ \delta= \\ \left\{\begin{array}{l} {\left[2 u+(1-2 u)\left(1-\delta_1\right)^{\eta_m}+1\right]^{\frac{1}{\eta_m+1}}, u \leqslant 0.5} \\ 1-\left[2(1-u)+2(u-0.5)\left(1-\delta_2\right)^{\eta_m+1}\right]^{\frac{1}{\eta_m+1}}, u>0.5 \end{array}, \right. $ | (16) |
其中,δ表示变异因子,δ1=(vk-lk)/(uk-lk), δ2=(uk-vk)/(uk-lk),u∈[0, 1]是一个随机数,ηm是分布指数,uk表示种群的位置上界,lk表示种群的位置下界,vk表示当前最优秃鹰位置,vk′表示变异后的最优秃鹰位置。
在每轮迭代后,QPBES根据式(15)对当前秃鹰种群的最优秃鹰位置进行多项式变异。具体来说,当秃鹰种群的最佳适应度大于等于历史最优值时触发变异,若变异后的适应度值比变异前更小,则变异成功,且用变异后的位置取代原最优种群位置;否则变异失败,并保留变异前的最优种群位置。该触发机制既能保证算法避开不利变异,又能保证在秃鹰种群陷入局部最优解时,可以通过多项式变异产生新位置以跳出局部最优。
2.4 算法流程QPBES步骤流程如下:
算法1 QPBES
输入:秃鹰种群规模N,最大迭代次数Imax。
a. 设置初始化参数,包括目标函数维度dim,搜索空间上界ub和下界lb。
b. 采用式(12)初始化秃鹰种群p,并计算秃鹰个体适应度值,同时更新最优秃鹰位置。
c. 在选择搜索空间阶段,根据式(1)进行秃鹰位置更新。
d. 在搜索阶段,根据式(14)进行秃鹰位置更新。
e. 在俯冲阶段,根据式(10)进行秃鹰位置更新。
f. 计算秃鹰种群中个体的适应度值,并找到最佳适应度值的位置作为当前最优位置。
g. 判断是否触发变异,若触发则根据式(15)对当前最优位置进行多项式变异,若变异成功,取变异后的位置;否则保留变异前的位置。
h. 更新最优种群位置和最佳适应度值,使用式(12)生成下一轮迭代的秃鹰种群。
i. 判断算法是否达到终止条件,达到则结束,否则转至步骤c进行下一轮迭代。
输出:最优值。
3 实验与结果分析 3.1 基准测试函数与实验环境本研究的实验在装有Windows10系统的个人计算机上进行,其运行内存为8 GB,CPU为Intel Core i5-7300HQ,主频为2.50 GHz,进行实验的软件是Matlab R2020b。为保证实验结果的准确性,进行实验的算法种群规模均为30,迭代次数均为500,并在基准测试函数上均独立运行30次。为比较各算法的寻优性能,实验结果以“平均值±标准差”的形式呈现。
本研究采用23个基准测试函数进行仿真实验,函数具体信息如表 1所示,其中F1—F7为高维单峰函数,F8—F13为高维多峰函数,F14—F23为固定维度多峰函数。
| 函数 Function |
最优解位置 Optimal solution position |
维度 Dimensionality |
定义域 Definition field |
| min(F1)=F1(0, …, 0)=0 | 30 | [-100, 100] | |
| min(F2)=F2(0, …, 0)=0 | 30 | [-10, 10] | |
| min(F3)=F3(0, …, 0)=0 | 30 | [-100, 100] | |
| min(F4)=F4(0, …, 0)=0 | 30 | [-100, 100] | |
|
|
min(F5)=F5(1, …, 1)=0 | 30 | [-30, 30] |
| min(F6)=F6(-0.5, …, -0.5)=0 | 30 | [-100, 100] | |
| min(F7)=F7(0, …, 0)=0 | 30 | [-1.28, 1.28] | |
| min(F8)=F8(420.9687, …, 420.9687)=-12569.5 | 30 | [-500, 500] | |
| min(F9)=F9(0, …, 0)=0 | 30 | [-5.12, 5.12] | |
| min(F10)=F10(0, …, 0)=0 | 30 | [-32, 32] | |
| min(F11)=F11(0, …, 0)=0 | 30 | [-600, 600] | |
|
|
min(F12)=F12(1, …, 1)=0 | 30 | [-50, 50] |
| min(F13)=F13(1, …, 1)=0 | 30 | [-50, 50] | |
| min(F14)=F14(-32, -32)≈1 | 2 | [-65, 65] | |
| min(F15)=F15(0.1928, 0.1908, 0.1231, 0.1358)≈0.0003075 |
4 | [-5, 5] | |
| min(F16)=F16(-0.08983, -0.7126)= -1.0316285 |
2 | [-5, 5] | |
| min(F17)=F17(3.142, 2.275)=0.398 | 2 | [-5, 5] | |
| min(F18)=F18(0, -1)=3 | 2 | [-2, 2] | |
|
|
min(F19)=F19(0.114, 0.556, 0.852)=-3.86 |
3 | [0, 1] |
| min(F20)=F20(0.201, 0.150, 0.477, 0.275, 0.311, 0.657)=-3.32 |
6 | [0, 1] | |
| min(F21)=F21(4,4,4,4)≈-10 | 4 | [0, 10] | |
| min(F22)=F22(4,4,4,4)≈-10 | 4 | [0, 10] | |
|
|
min(F23)=F23(4,4,4,4)≈-10 | 4 | [0, 10] |
3.2 消融实验
为验证3种改进策略的有效性,本研究将只引入QRBL的秃鹰搜索算法记为QBES(Bald Eagle Search algorithm based on Quasi-reflection-based learning mechanism),将只引入自适应惯性权重的秃鹰搜索算法记为ABES(Bald Eagle Search algorithm based on Adaptive inertia weight),将只引入多项式变异算子的秃鹰搜索算法记为PBES(Bald Eagle Search algorithm based on Polynomial mutation)。将QBES、ABES、PBES、QPBES与BES进行消融实验,进一步验证改进策略的有效性,表 2为各算法独立运行30次的结果。
| 基准测试函数 Benchmark function |
BES | QBES | ABES | PBES | QPBES | |||||||||
| 平均值 Average |
标准差 Standard deviation |
平均值 Average |
标准差 Standard deviation |
平均值 Average |
标准差 Standard deviation |
平均值 Average |
标准差 Standard deviation |
平均值 Average |
标准差 Standard deviation |
|||||
| F1 | 2.23e-186 | 7.44e-308 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| F2 | 2.12e-153 | 9.03e-153 | 0 | 0 | 1.12e-157 | 6.07e-157 | 0 | 0 | 0 | 0 | ||||
| F3 | 1.97e-286 | 1.93e-287 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| F4 | 5.02e-136 | 2.70e-135 | 0 | 0 | 0 | 0 | 4.33e-320 | 3.11e-320 | 0 | 0 | ||||
| F5 | 19.490 0 | 1.87e-07 | 19.276 6 | 1.64e-07 | 18.639 7 | 1.76e-07 | 7.636 8 | 1.41e-07 | 6.746 9 | 1.22e-08 | ||||
| F6 | 1.81e-18 | 6.45e-18 | 1.53e-18 | 1.65e-17 | 2.21e-18 | 1.11e-18 | 1.13e-18 | 1.68e-18 | 1.03e-18 | 1.17e-18 | ||||
| F7 | 5.18e-05 | 5.79e-05 | 3.47e-05 | 3.27e-05 | 3.73e-05 | 3.33e-05 | 3.75e-05 | 3.09e-05 | 2.32e-05 | 2.49e-05 | ||||
| F8 | -7.33e+03 | 1.68e+03 | -6.84e+03 | 1.49e+03 | -7.66e+03 | 717.800 7 | -9.38e+03 | 1.41e+03 | -9.93e+03 | 1.21e+03 | ||||
| F9 | 1.41e-08 | 5.44e-08 | 1.22e-08 | 0.920 1 | 4.31e-09 | 1.06e-08 | 0 | 0 | 0 | 0 | ||||
| F10 | 8.88e-16 | 0 | 8.88e-16 | 0 | 8.88e-16 | 0 | 8.88e-16 | 0 | 8.88e-16 | 0 | ||||
| F11 | 1.34e-10 | 7.26e-10 | 1.33e-09 | 0.017 7 | 1.48e-10 | 0.025 7 | 0 | 0 | 0 | 0 | ||||
| F12 | 1.46e-20 | 4.97e-20 | 1.67e-16 | 3.56e-16 | 4.52e-16 | 1.17e-15 | 6.59e-21 | 2.35e-21 | 1.41e-21 | 2.97e-21 | ||||
| F13 | 2.706 1 | 0.768 9 | 2.718 0 | 0.685 1 | 2.913 6 | 0.264 7 | 0.003 2 | 0.006 3 | 0.001 1 | 0.004 2 | ||||
| F14 | 6.320 6 | 5.5942 | 3.731 2 | 4.438 7 | 5.842 9 | 5.123 7 | 5.486 1 | 5.052 5 | 3.478 6 | 0.831 2 | ||||
| F15 | 3.49e-04 | 1.65e-04 | 3.38e-04 | 1.64e-04 | 8.18e-04 | 0.002 4 | 3.18e-04 | 1.47e-04 | 3.07e-04 | 7.60e-12 | ||||
| F16 | -1.031 6 | 7.51e-09 | -1.031 6 | 2.43e-08 | -1.031 6 | 1.00e-05 | -1.031 6 | 2.71e-08 | -1.031 6 | 1.20e-09 | ||||
| F17 | 0.397 9 | 1.78e-05 | 0.397 9 | 2.51e-06 | 0.399 0 | 0.004 7 | 0.397 9 | 2.12e-06 | 0.397 9 | 1.72e-06 | ||||
| F18 | 3.000 0 | 1.30e-15 | 3.000 0 | 1.34e-15 | 3.000 0 | 6.17e-16 | 3.000 0 | 5.79e-16 | 3.000 0 | 5.17e-16 | ||||
| F19 | -3.862 8 | 2.66e-15 | -3.862 7 | 2.66e-15 | -3.862 8 | 2.66e-15 | -3.862 8 | 2.66e-15 | -3.862 8 | 2.66e-15 | ||||
| F20 | -3.266 5 | 0.059 3 | -3.278 4 | 0.057 3 | -3.258 6 | 0.059 3 | -3.270 5 | 0.058 9 | -3.319 9 | 0.010 3 | ||||
| F21 | -7.944 1 | 2.526 2 | -10.153 2 | 7.05e-15 | -7.774 1 | 2.543 3 | -8.623 8 | 2.336 2 | -10. 217 4 | 6.39e-15 | ||||
| F22 | -6.573 2 | 2.338 0 | -10.180 1 | 1.198 8 | -7.568 1 | 2.651 7 | -7.568 1 | 2.651 7 | -10.102 9 | 7.94e-16 | ||||
| F23 | -8.553 5 | 2.391 5 | -10.327 8 | 0.977 4 | -8.875 9 | 2.461 7 | -8.330 1 | 2.711 6 | -10.533 0 | 7.94e-16 | ||||
| Note: bolds represent the optimal results. | ||||||||||||||
由表 2可知,相比BES, QBES在函数F1—F7、F9、F14—F23上表现出了更好的寻优能力,尤其是标准差的大幅减小证明了该策略能够降低寻优结果波动并提高鲁棒性;然而在高维多峰函数F8、F11、F12、F13上,其寻优结果不如BES,可见对于某些具有复杂结构的基准测试函数,QRBL可能无法有效避免陷入局部最优解,从而导致性能下降。ABES在多个函数上均取得了比BES更优的结果,特别是在F1、F3、F4等函数上,均为理论最优解,这表明ABES能够有效提升BES的寻优能力。但是ABES在函数F11—F15、F17、F21上的表现并不理想,说明其在处理多峰函数时适应性不足,难以找到最优解。PBES在多个函数上均取得了显著的优化效果,尤其是在F8、F9、F11、F13、F21、F22等函数上,其优化结果明显优于其他函数。这表明PBES在处理多峰函数时具有显著优势。
QPBES不仅综合了QBES、ABES和PBES的优点,还进一步提升了算法的寻优能力。从表 2可以看出,QPBES在23个基准测试函数上的寻优结果均优于BES,其中,在高维单峰函数F5上其收敛精度比BES更小,寻优结果更好,在函数F1—F4、F9以及F11上QPBES的平均值都为0,展现出较好的寻优性能,而QPBES在多峰函数上具有较强的跳出局部最优的能力。此外,QPBES寻优结果的标准差相较于BES更小,并且在F1—F4以及F9—F11上其标准差均为0,展现出较好的鲁棒性。因此,QPBES相比BES有更好的收敛精度和稳定性,其跳出局部最优解的能力更强,这证明了QPBES在处理复杂问题上的有效性。
3.3 对比实验为了测试QPBES的寻优性能,将其和正余弦算法(Sine Cosine Algorithm,SCA)[23]、粒子群算法(Particle Swarm Optimization,PSO)、差分进化算法(Differential Evolution,DE)、WOA[1]这4个标准优化算法进行对比实验,分别在23个基准测试函数上运行。其中,PSO的学习因子与最大速度均设为2,惯性权重设为0.5+rand/2;DE中的变异概率设为0.5,交叉概率设为0.2。
表 3为QPBES与SCA、PSO、DE、WOA 4种标准优化算法的对比实验结果。从表 3可知,在多数函数上,QPBES都能找到理论最优解或者接近理论最优解,例如,在函数F1—F4、F9、F11以及F18上,QPBES均找到理论最优解,在函数F16、F17、F19—F23上其寻优结果接近理论最优解,可见QPBES具有较好的寻优质量,能够更好地找到最接近最优解的解。此外QPBES在多个函数上标准差都较小,在函数F1—F4、F9—F11上,QPBES的标准差为0,这表明QPBES具有较好的稳定性。可见QPBES在23个基准测试函数上均取得了较好的性能,其平均值和标准差较低,表明QPBES在解决这些问题时能够稳定地找到较优解,具备较好的求解质量和稳定性。相比之下,其他4种标准优化算法在23个基准函数上表现相对较差,如PSO和DE均在函数F3、F5、F8以及F9上寻优结果较差,在函数F5、F8以及F9上的标准差较大,显示出较大的波动,算法稳定性较差;WOA在函数F3、F4以及F8上寻优精度较低,标准差较大,求解质量差;SCA在函数F3—F5、F8、F10以及F12上寻优结果差、标准差大,在寻优精度和算法稳定性上均表现较差。在23个基准函数中,QPBES寻优结果绝大部分优于其他4种算法,如在多峰函数F13和F14上寻优结果略差于DE,这可能与QPBES中多项式变异机制有关,其变异操作能提高算法跳出局部最优能力,但其变异概率随机,并不一定能朝最优解方向变异。由此可见,QPBES的改进策略使其具备了优秀的算法求解精度与算法稳定性,同时QPBES在高维多峰函数上的表现证明其具备出色的跳出局部最优解能力。
| 基准测试函数 Benchmark function |
PSO | DE | WOA | SCA | QPBES | |||||||||
| 平均值 Average |
标准差 Standard deviation |
平均值 Average |
标准差 Standard deviation |
平均值 Average |
标准差 Standard deviation |
平均值 Average |
标准差 Standard deviation |
平均值 Average |
标准差 Standard deviation |
|||||
| F1 | 0.403 6 | 0.164 1 | 4.19e-04 | 2.25e-04 | 4.75e-75 | 2.04e-71 | 1.464 8 | 0.468 5 | 0 | 0 | ||||
| F2 | 5.589 7 | 2.850 8 | 0.002 7 | 4.87e-04 | 2.13e-51 | 9.54e-50 | 0.002 2 | 8.12e-04 | 0 | 0 | ||||
| F3 | 48.082 4 | 18.774 8 | 3.22e+04 | 5.10e+03 | 4.46e+04 | 1.26e+04 | 1.45e+04 | 4.48e+03 1 | 0 | 0 | ||||
| F4 | 3.756 8 | 1.518 8 | 11.810 4 | 1.266 0 | 41.038 7 | 28.941 3 | 25.264 0 | 5.321 4 | 0 | 0 | ||||
| F5 | 281.289 9 | 269.960 0 | 151.051 1 | 51.685 7 | 27.983 5 | 0.445 0 | 5.83e+03 | 6.746 9 | 1.22e-08 | |||||
| F6 | 0.404 5 | 0.129 7 | 5.22e-04 | 1.89e-04 | 0.476 6 | 0.254 9 | 5.650 2 | 0.8452 | 1.03e-18 | 1.17e-18 | ||||
| F7 | 0.003 4 | 2.121 1 | 0.434 0 | 0.106 7 | 0.593 8 | 0.002 8 | 0.038 7 | 2.31e-04 | 2.32e-05 | 2.49e-05 | ||||
| F8 | -3.22e+03 | 673.013 8 | -8.44e+03 | 449.098 0 | -8.03e+03 | 1.82e+03 | -3.98e+03 | 2.10e+02 | -9.93e+03 | 1.21e+03 | ||||
| F9 | 80.603 1 | 15.263 9 | 82.647 7 | 7.209 6 | 0 | 0 | 0.990 4 | 6.12e-03 | 0 | 0 | ||||
| F10 | 4.740 5 | 1.184 8 | 0.006 2 | 0.001 5 | 5.26e-15 | 2.18e-15 | 20.202 4 | 1.235 6 | 8.88e-16 | 0 | ||||
| F11 | 0.691 4 | 0.174 3 | 0.008 8 | 0.010 5 | 0.021 4 | 0.086 0 | 0.858 3 | 5.21e-03 | 0 | 0 | ||||
| F12 | 3.587 1 | 1.420 6 | 4.90e-05 | 2.80e-05 | 0.022 1 | 0.013 4 | 2.53e+05 | 5.21e+04 | 1.41e-21 | 2.97e-21 | ||||
| F13 | 13.034 0 | 14.670 0 | 2.64e-04 | 1.20e-04 | 0.624 1 | 0.278 3 | 15.716 0 | 4.851 6 | 0.001 1 | 0.004 2 | ||||
| F14 | 1.459 9 | 1.101 2 | 0.998 0 | 0 | 2.607 9 | 2.387 5 | 2.982 1 | 3.12e-02 | 3.478 6 | 0.831 2 | ||||
| F15 | 0.003 3 | 0.006 7 | 7.38e-04 | 1.72e-04 | 6.54e-04 | 4.69e-04 | 0.001 5 | 1.21e-04 | 3.07e-04 | 7.60e-12 | ||||
| F16 | -1.031 6 | 5.73e-16 | -1.031 6 | 6.59e-16 | -1.031 6 | 1.53e-09 | -1.0316 | 1.87e-10 | -1.031 6 | 1.20e-09 | ||||
| F17 | 0.403 1 | 0.025 3 | 0.397 9 | 0 | 0.397 9 | 5.15e-06 | 0.399 4 | 4.85e-03 | 0.397 9 | 1.72e-06 | ||||
| F18 | 3.000 0 | 2.99e-15 | 3.000 0 | 1.29e-15 | 3.000 1 | 1.01e-04 | 3.0000 | 3.12e-11 | 3.000 0 | 5.17e-16 | ||||
| F19 | -3.861 7 | 0.002 7 | -3.862 8 | 2.66e-15 | -3.854 7 | 0.016 2 | -3.854 0 | 0.002 4 | -3.862 8 | 2.66e-15 | ||||
| F20 | -3.084 8 | 0.459 9 | -3.307 2 | 0.009 2 | -3.224 6 | 0.104 9 | -1.681 7 | 4.85e-03 | -3.319 9 | 0.010 3 | ||||
| F21 | -7.236 9 | 3.597 1 | -10.153 2 | 0.717 3 | -8.100 9 | 2.487 1 | -0.880 6 | 6.85e-03 | -10. 217 4 | 6.39e-15 | ||||
| F22 | -7.933 3 | 3.515 8 | -10.474 2 | 1.199 0 | -8.095 7 | 2.842 1 | -4.969 7 | 0.854 1 | -10.102 9 | 7.94e-16 | ||||
| F23 | -7.608 1 | 3.657 7 | -10.536 4 | 0.001 5 | -6.920 1 | 3.213 8 | -4.844 6 | 0.081 2 | -10.533 0 | 7.94e-16 | ||||
| Note: bolds represent the optimal results. | ||||||||||||||
为了更加直观展示本研究改进的秃鹰搜索优化算法的性能,图 1分别给出了QPBES、SCA、PSO、DE以及WOA 5种算法的收敛曲线。由图 1可知,QPBES的收敛曲线基本处于最下方,即QPBES相比于其他4种算法具有更快的收敛速度,能更快找到较优解,由此说明QPBES在收敛速度上具有优势,本研究所提改进机制有效提升了算法收敛速度。
|
| 图 1 算法收敛曲线 Fig. 1 Algorithm convergence curves |
为了进一步验证改进算法的性能,将QPBES与融合自适应惯性权重和柯西变异的秃鹰搜索算法(Bald Eagle Search Algorithm based on Adaptive inertia weight and Cauchy mutation,CBES)、基于混沌优化与自适应反向学习的秃鹰搜索算法(Bald Eagle Search Algorithm based on Chaos optimization and Adaptive Opposition-based learning,CAOBES)、改进鲸鱼优化算法(Improved Whale Optimization algorithm,IWOA)[24]以及基于差分进化的灰狼优化算法(Hybridizing Grey Wolf Optimization with differential evolution, HGWO)[25]进行比较,验证QPBES的寻优能力。表 4为QPBES与其他4种改进算法独立运行30次后的结果。其中,IWOA与HGWO的实验结果分别来源于文献[24]和[25]。
由表 4可知,对于最优解位置在0点的高维单峰函数F1—F7,除了IWOA在函数F3和F4上表现稍差外,QPBES、CBES、CAOBES和HGWO均展现了不错的寻优性能,但是QPBES找到的理论最优解的次数最多。在最优解位置不在0点的F5和F6上的寻优结果表明, CAOBES、CBES、HGWO和IWOA寻优性能有限,而QPBES仍然保持着较优的寻优性能。由此可见, 在搜索猎物阶段引入自适应惯性权重因子, 增强了算法局部搜索能力,提高了秃鹰搜索算法的收敛精度。在多峰函数F8—F23上,除了HGWO在函数F8和F9上寻优性能相对较差外,这5种算法都展现了不错的寻优结果。其中,IWOA在F8和F19上的寻优结果为理论最优解;CBES、CAOBES和QPBES在F9和F11上的寻优结果为理论最优解;QPBES除了在F8、F14和F19上寻优结果不如IWOA,在F14上寻优结果略逊于HGWO外,在其他基准测试函数上的寻优结果都是最佳的。由此可知,QPBES具有较强的跳出局部最优的能力。此外,对比QPBES与CBES、CAOBES、HGWO以及IWOA在23个基准测试函数上的标准差可以看出,QPBES在多数函数上标准差较小且优于其他4种算法,并且在函数F1—F4、F9—F11上QPBES标准差为0,说明QPBES的求解稳定性较好,具备更强的鲁棒性。
| 基准测试函数 Benchmark function |
HGWO | IWOA | CBES | CAOBES | QPBES | |||||||||
| 平均值 Average |
标准差 Standard deviation |
平均值 Average |
标准差 Standard deviation |
平均值 Average |
标准差 Standard deviation |
平均值 Average |
标准差 Standard deviation |
平均值 Average |
标准差 Standard deviation |
|||||
| F1 | 1.12e-32 | 2.31e-32 | 5.58e-150 | 2.2e-149 | 1.45e-307 | 0 | 0 | 0 | 0 | 0 | ||||
| F2 | 9.33e-20 | 6.92e-20 | 2.94e-102 | 9.1e-102 | 4.65e-274 | 2.46e-113 | 0 | 0 | 0 | 0 | ||||
| F3 | 3.18e-08 | 6.54e-08 | 1.40e+04 | 6.03e+03 | 1.28e-318 | 7.03e-317 | 0 | 0 | 0 | 0 | ||||
| F4 | 4.16e-08 | 4.56e-08 | 1.09e+01 | 1.75e+01 | 2.45e-153 | 1.13e-155 | 1.74e-18 | 2.26e-18 | 0 | 0 | ||||
| F5 | 26.487 6 | 0.702 7 | 26.7 | 7.48e-01 | 15.471 3 | 1.37e-07 | 28.963 2 | 0.019 1 | 6.746 9 | 1.22e-08 | ||||
| F6 | 0.378 2 | 0.226 2 | 2.30e-02 | 6.25e-02 | 4.97e-16 | 1.64e-15 | 6.505 1 | 0.647 3 | 1.03e-18 | 1.17e-18 | ||||
| F7 | 0.001 4 | 7.53e-04 | 2.07e-03 | 2.36e-03 | 7.16e-05 | 5.25e-05 | 1.90e-05 | 1.77e-05 | 2.32e-05 | 2.49e-05 | ||||
| F8 | -6.40e+03 | 470.276 4 | -1.08e+04 | 1.76e+03 | -8.05e+03 | 1.34e+03 | -4.18e+03 | 1.18e+03 | -9.93e+03 | 1.21e+03 | ||||
| F9 | 0.227 4 | 0.920 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| F10 | 4.26e-14 | 4.36e-15 | 3.49e-15 | 2.27e-15 | 8.88e-16 | 0 | 8.88e-16 | 0 | 8.88e-16 | 0 | ||||
| F11 | 0.001 3 | 0.005 8 | 1.64e-03 | 6.28e-03 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| F12 | 0.024 4 | 0.010 4 | 5.57e-03 | 1.07e-02 | 9.91e-17 | 1.05e-17 | 0.905 3 | 0.249 5 | 1.41e-21 | 2.97e-21 | ||||
| F13 | 0.343 5 | 0.148 3 | 1.53e-01 | 1.61e-01 | 0.006 8 | 0.001 0 | 2.945 5 | 0.267 0 | 0.001 1 | 0.004 2 | ||||
| F14 | 2.114 2 | 0.952 4 | 2.34e+00 | 2.95e+00 | 3.621 8 | 1.118 3 | 7.736 4 | 4.483 6 | 3.478 6 | 0.831 2 | ||||
| F15 | 3.18e-04 | 3.16e-05 | 6.30e-04 | 3.14e-04 | 3.33e-04 | 2.37e-05 | 0.010 7 | 0.011 7 | 3.07e-04 | 7.60e-12 | ||||
| F16 | -1.031 6 | 6.66e-16 | -1.031 6 | 8.70e-11 | -1.031 6 | 8.77e-06 | -1.004 4 | 0.146 5 | -1.031 6 | 1.20e-09 | ||||
| F17 | 0.397 8 | 1.66e-16 | 0.397 8 | 2.98e-07 | 0.398 6 | 9.23e-04 | 0.412 0 | 3.09e-04 | 0.397 9 | 1.72e-06 | ||||
| F18 | 3.000 0 | 2.49e-05 | 3.000 0 | 3.01e-06 | 3.000 0 | 0.001 7 | 5.700 7 | 14.539 8 | 3.000 0 | 5.17e-16 | ||||
| F19 | -3.862 7 | 3.80e-04 | -3.86e+00 | 2.42e-06 | -3.858 1 | 0.006 9 | -3.833 0 | 0.049 9 | -3.862 8 | 2.66e-15 | ||||
| F20 | -3.301 8 | 0.045 2 | -3.26e+00 | 6.38e-02 | -3.262 2 | 0.063 1 | -3.090 0 | 0.312 3 | -3.319 9 | 0.010 3 | ||||
| F21 | -10.152 0 | 5.13e-04 | 6.38e-02 | 2.35e+00 | -9.226 7 | 1.274 5 | -8.311 7 | 2.724 6 | -10. 017 4 | 6.39e-15 | ||||
| F22 | -10.401 8 | 4.91e-04 | -8.65e+00 | 2.77e+00 | -9.724 1 | 0.803 6 | -6.616 0 | 2.842 1 | -10.102 9 | 7.94e-16 | ||||
| F23 | -10.535 4 | 5.33e-04 | -8.47e+00 | 3.04e+00 | -9.787 2 | 1.094 5 | -6.718 9 | 3.861 4 | -10.533 0 | 7.94e-16 | ||||
| Note: bolds represent the optimal results. | ||||||||||||||
4 结论
针对秃鹰搜索算法存在收敛速度慢、收敛精度低以及易陷入局部最优等问题,本研究在原始BES的基础上引入准反射学习机制、改进的自适应惯性权重方法以及多项式变异算子,提出一种基于准反射学习和多项式变异的秃鹰搜索算法QPBES。QPBES在初始化种群和种群位置更新阶段融入准反射学习机制,既保证了种群的位置多样性,又加快了算法收敛速度;在秃鹰寻找猎物阶段引入改进的自适应惯性权重因子,改进了算法的局部搜索能力,提高了算法收敛精度;在最优秃鹰位置上引入多项式变异算子,提高了算法跳出局部最优的能力。消融实验与对比实验结果表明,QPBES收敛速度更快,收敛精度更高,跳出局部最优能力更强,寻优性能更为全面。本研究中QPBES主要聚焦于单目标优化问题,在未来研究中,计划将QPBES扩展至多目标优化领域,并将其应用到实际工程领域,包括但不限于神经网络优化、资源分配问题以及医疗诊断决策等,以为其在实际场景中发挥关键作用奠定坚实基础。
| [1] |
MIRJALILI S, LEWIS A. The whale optimization algorithm[J]. Advances in Engineering Software, 2016, 95: 51-67. DOI:10.1016/j.advengsoft.2016.01.008 |
| [2] |
MIRJALILI S, MIRJALILI S M, LEWIS A. Grey wolf optimizer[J]. Advances in Engineering Software, 2014, 69: 46-61. DOI:10.1016/j.advengsoft.2013.12.007 |
| [3] |
XUE J K, SHEN B. A novel swarm intelligence optimization approach: sparrow search algorithm[J]. Systems Science & Control Engineering, 2020, 8(1): 22-34. |
| [4] |
MIRJALILI S. The ant lion optimizer[J]. Advances in Engineering Software, 2015, 83: 80-98. DOI:10.1016/j.advengsoft.2015.01.010 |
| [5] |
罗剑飞, 林炜铁. 基于神经网络和遗传算法培养基优化的发酵经济学[J]. 食品与生物技术学报, 2009, 28(3): 424-428. |
| [6] |
兰红, 金绍斌. 粒子群优化的CNN互信息医学图像配准算法[J]. 计算机应用与软件, 2015, 32(12): 201-205. |
| [7] |
李泽霜, 唐忠, 程卓, 等. 基于改进麻雀搜索算法的电-热-气-氢综合能源系统优化[J]. 现代电力, 2024, 41(6): 1090-1099. |
| [8] |
ALSATTAR H A, ZAIDAN A A, ZAIDAN B B. Novel meta-heuristic bald eagle search optimisation algorithm[J]. Artificial Intelligence Review, 2020, 53(3): 2237-2264. DOI:10.1007/s10462-019-09732-5 |
| [9] |
KAPILESWAR N, KUMAR P P. Energy efficient routing in IOT based UWSN using bald eagle search algorithm[J]. Transactions on Emerging Telecommunications Technologies, 2022, 33. |
| [10] |
NICAIRE N F, STEVE P N, SALOME N E, et al. Parameter estimation of the photovoltaic system using bald eagle search (BES) algorithm[J]. International Journal of Photoenergy, 2021, 2021: 4343203. |
| [11] |
SAYED G I, SOLIMAN M M, HASSANIEN A E. A novel melanoma prediction model for imbalanced data using optimized SqueezeNet by bald eagle search optimization[J]. Computers in Biology and Medicine, 2021, 136: 104712. DOI:10.1016/j.compbiomed.2021.104712 |
| [12] |
贾鹤鸣, 姜子超, 李瑶. 基于改进秃鹰搜索算法的同步优化特征选择[J]. 控制与决策, 2022, 37(2): 445-454. |
| [13] |
石默涵, 陈家清, 高晨峰. 基于混沌优化和自适应反向学习的秃鹰搜索算法[J]. 数学的实践与认识, 2022, 52(6): 149-159. |
| [14] |
SHARMA S R, KAUR M, SINGH B. A Self-adaptive Bald Eagle Search optimization algorithm with dynamic opposition-based learning for global optimization problems[J]. Expert Systems, 2023, 40(2): e13170. DOI:10.1111/exsy.13170 |
| [15] |
曹慧, 秦江涛. 混合策略改进型秃鹰搜索算法[J]. 重庆工商大学学报(自然科学版), 2023, 40(6): 74-82. |
| [16] |
丁容, 高建瓴, 张倩. 融合自适应惯性权重和柯西变异的秃鹰搜索算法[J]. 小型微型计算机系统, 2023, 44(5): 910-915. |
| [17] |
CHHABRA A, HUSSIEN A G, HASHIM F A. Im- proved bald eagle search algorithm for global optimization and feature selection[J]. Alexandria Engineering Journal, 2023, 68: 141-180. DOI:10.1016/j.aej.2022.12.045 |
| [18] |
赵沛雯, 张达敏, 张琳娜, 等. 融合黄金正弦算法和纵横交叉策略的秃鹰搜索算法[J]. 计算机应用, 2023, 43(1): 192-201. |
| [19] |
FAN Q, CHEN Z J, XIA Z H. A novel quasi-reflected Harris Hawks optimization algorithm for global optimization problems[J]. Soft Computing, 2020, 24(19): 14825-14843. DOI:10.1007/s00500-020-04834-7 |
| [20] |
TIZHOOSH H R. Opposition-based learning: a new scheme for machine intelligence[C]// International Conference on Computational Intelligence for Modelling, Control & Automation. Piscataway: IEEE, 2006: 695-701.
|
| [21] |
杜霖, 曹江涛, 李书臣. 基于惯性权重矩阵的自适应粒子群算法[J]. 控制工程, 2018, 25(7): 1303-1311. |
| [22] |
郭振洲, 王平, 马云峰, 等. 基于自适应权重和柯西变异的鲸鱼优化算法[J]. 微电子学与计算机, 2017, 34(9): 20-25. |
| [23] |
MIRJALILI S. SCA: a Sine Cosine Algorithm for solving optimization problems[J]. Knowledge-Based Systems, 2016, 96: 120-133. DOI:10.1016/j.knosys.2015.12.022 |
| [24] |
TUBISHAT M, ABUSHARIAH M A M, IDRIS N, et al. Improved whale optimization algorithm for feature selection in Arabic sentiment analysis[J]. Applied Intelligence, 2019, 49(5): 1688-1707. DOI:10.1007/s10489-018-1334-8 |
| [25] |
ZHU A J, XU C P, LI Z, et al. Hybridizing grey wolf optimization with differential evolution for global optimization and test scheduling for 3D stacked SoC[J]. Journal of Systems Engineering and Electronics, 2015, 26(2): 317-328. DOI:10.1109/JSEE.2015.00037 |


