IHAOAVOA:一种改进的混合aquila优化器和非洲秃鹫优化算法的全局优化问题,附完整MATLAB代码
Ⅰ、Aquila Optimizer(AO)
Abualigah等人[67]于2021年开发的一种新型仿生、无梯度、基于群体的元启发式算法,该算法的主要灵感来源于北半球发现的著名猛禽Aquila的捕猎行为,Aquila发挥其快速的速度和灵巧,以及强壮的脚和锋利的爪子,去抢夺兔子、土拨鼠和许多其他地面动物。
在觅食活动中,Aquila采用了四种不同的策略,包括: 1)垂直弯腰的高空翱翔;2)轮廓飞行和短滑翔攻击;3)低空飞行和缓慢下降攻击;4)边走边捕捉猎物。因此,AO算法的优化过程可以建模为四个离散阶段,简要描述如下。完整的讲解可以查看我之前发布的文章:
Aquila Optimizer(AO)完整详解【点击链接直达】
Ⅱ、 非洲秃鹫优化(AVOA)
作为Abdollahzadeh等人[68]于2021年提出的一种新颖的基于种群的优化技术,AVOA模仿了非洲秃鹫的生活习惯和觅食行为。发表在中科院1区Computers & Industrial Engineering上。具体可以查看我之前发布的文章:非洲秃鹫优化(AVOA)【点击链接直达】
Ⅲ、IHAOAVOA算法
3.1 复合对立学习(COBL)
基于对立的学习(OBL)是智能计算中一种强大的优化工具,OBL的主要思想是同时评估当前解及其逆解的适应度值,然后保留拟合者参与后续的迭代计算。因此,OBL可以有效地增加找到更好候选解的概率。然而,已经表明OBL只能在优化中的固定位置生成逆解,并且在解决复杂问题时仍然未能改善算法的缺陷[1,89]。近年来,越来越多的OBL增强变体被提出,其中基于镜头反对的学习(LOBL)和基于随机反对的学习(ROBL)是两个典型的例子。这两种方法都有效地提高了算法避免陷入局部最优的能力,其中LOBL还可以相当大地提高算法的收敛速度,ROBL在丰富种群多样性方面具有独特的优势[12]。考虑到两种形式的基于反对的学习的优越性能,我们整合它们并提出了一种新颖的搜索策略:复合基于反对的学习(COBL)。
镜头成像是一种常见的光学现象,特指当物体放置在凸透镜的两倍焦距之外时,会在透镜的另一侧产生一个倒立和缩小的图像。以图4(a)中的一维搜索空间为例,候选点 O O O 表示搜索范围 [ b , u b ] [b, ub] [b,ub] 的中点, y y y 轴被认为是凸透镜。此外,有一个高度为 h h h 的物体 p p p 位于点 X i X_i Xi( X i X_i Xi 是种群中的第 i i i 个解),其位于透镜焦距的两倍之外。通过透镜成像,可以得到相应的图像 p ~ \tilde{p} p~,其高度为 h ~ \tilde{h} h~,其在坐标轴上的投影是 X i ~ \tilde{X_i} Xi~。因此,图中的几何关系可以表示为:
( l h + u b ) / 2 − X i X i ~ − ( l h + u b ) / 2 = h h ~ (29) \frac{(lh + ub)/2 - X_i}{\tilde{X_i} - (lh + ub)/2} = \frac{h}{\tilde{h}} \tag{29} Xi~−(lh+ub)/2(lh+ub)/2−Xi=h~h(29)
令 k = h / h ~ k = h/\tilde{h} k=h/h~,根据透镜成像理论,可以通过修改公式(29)计算出相反解 X i ~ R O B L \tilde{X_i}^{ROBL} Xi~ROBL:
X i ~ R O B L = ( l h + u b ) 2 + ( l h + u b ) 2 k − X i k (30) \tilde{X_i}^{ROBL} = \frac{(lh + ub)}{2} + \frac{(lh + ub)}{2k} - \frac{X_i}{k} \tag{30} Xi~ROBL=2(lh+ub)+2k(lh+ub)−kXi(30)
与前者的复杂隐喻相比,ROBL 在图4(b)的搜索空间中是一个更简单的概念,其中点 X i X_i Xi 在 x x x 轴上表示种群中的第 i i i 个解,其随机相反解 X i ~ R O B L \tilde{X_i}^{ROBL} Xi~ROBL 可以定义为:
X i ~ R O B L = l b + u b − rand × X i (31) \tilde{X_i}^{ROBL} = lb + ub - \text{rand} \times X_i \tag{31} Xi~ROBL=lb+ub−rand×Xi(31)
从公式(31)可以看出,生成的逆解具有很好的探索随机性,这在搜索的后期阶段大大有助于提供更多的种群多样性,从而避免算法陷入局部最优。
为了利用 LOBL 和 ROBL 的特性,假设优化过程中选择它们的概率为50%。最后,开发的 COBL 的数学表达式如下:
X i ~ C O B L = { l b + u b − rand × X i 2 , if q < 0.5 ( l h + u b ) 2 + ( l h + u b ) 2 k − X i k , otherwise (32) \tilde{X_i}^{COBL} = \begin{cases} \frac{lb + ub - \text{rand} \times X_i}{2}, & \text{if } q < 0.5 \\ \frac{(lh + ub)}{2} + \frac{(lh + ub)}{2k} - \frac{X_i}{k}, & \text{otherwise} \end{cases} \tag{32} Xi~COBL={2lb+ub−rand×Xi,2(lh+ub)+2k(lh+ub)−kXi,if q<0.5otherwise(32)
其中 X i X_i Xi 是种群中的第 i i i 个解, X i ~ C O B L \tilde{X_i}^{COBL} Xi~COBL 是由 COBL 生成的 X i X_i Xi 的相反解, q q q 是[0, 1]中的随机数, k k k 表示距离系数, u b ub ub 和 l b lb lb 是搜索空间的上下界。
一般来说,大多数优化问题都是多维的,因此公式(32)也可以扩展到 D D D 维空间,如下所示:
X i ~ C O B L , j = { [ l b j + u b j − rand × X i , j ] , if q < 0.5 ( l h j + u b j ) 2 + ( l h j + u b j ) 2 k − X i , j k , otherwise , j = 1 , 2 , ⋯ , D (33) \tilde{X_i}^{COBL,j} = \begin{cases} [ lb_j + ub_j - \text{rand} \times X_{i,j} ], & \text{if } q < 0.5 \\ \frac{(lh_j + ub_j)}{2} + \frac{(lh_j + ub_j)}{2k} - \frac{X_{i,j}}{k}, & \text{otherwise} \end{cases}, \quad j = 1, 2, \cdots, D \tag{33} Xi~COBL,j={[lbj+ubj−rand×Xi,j],2(lhj+ubj)+2k(lhj+ubj)−kXi,j,if q<0.5otherwise,j=1,2,⋯,D(33)
其中 X i , j X_{i,j} Xi,j 和 X i ~ C O B L , j \tilde{X_i}^{COBL,j} Xi~COBL,j 分别是 X i X_i Xi 和 X i ~ C O B L \tilde{X_i}^{COBL} Xi~COBL 的第 j j j 维分量, l b j lb_j lbj 和 u b j ub_j ubj 分别是第 j j j 维的上下界。
2.4. 适应度-距离平衡(FDB)
元启发式算法中的选择方法用于从整个种群中识别个体,以指导未来的搜索方向,并在探索和开发之间建立平衡。作为一种新选择方法,由Kahraman等人开发的FDB旨在生成更多的候选解,从而对算法的搜索过程做出最大贡献。自首次提出以来,FDB已被广泛用于许多算法,以提高其探索能力和整体搜索性能,如增强型有机搜索(GOS)[39]、随机分形搜索(SFS)[44]和协同优化算法(COA)[35]。FDB与其他选择方法的区别在于,选择过程不仅根据候选解的适应度值执行,还考虑其适应度值。在候选解的评分计算中,同时考虑两个特征,包括适应度函数值和它们与当前最佳个体( X b e s t X_{best} Xbest)的距离。这种参考个体秃鹫通过随机选择方法可能无法正确指导算法探索和开发解空间。为了提高搜索效率并在探索和开发阶段之间保持更好的平衡,我们采用FDB选择策略来识别一个候选解 X P D B X_{PDB} XPDB,它将对搜索过程做出最大贡献,如公式(40)所示。所有这些策略显著提高了收敛速度、解的质量和算法的鲁棒性。最后,本文开发的改进混合水蛭优化算法和非洲秃鹫优化算法命名为IHAOAVOA。
i) 假设优化问题的维度为 D D D,种群中候选解的总数为 N N N。第 i i i 个候选解可以定义为 X i = ( x i , 1 , x i , 2 , ⋯ , x i , D ) X_i = (x_{i,1}, x_{i,2}, \cdots, x_{i,D}) Xi=(xi,1,xi,2,⋯,xi,D), i = 1 , 2 , ⋯ , N i = 1, 2, \cdots, N i=1,2,⋯,N。因此,种群中每个解和最佳解 X b e s t X_{best} Xbest 之间的欧几里得距离计算如下:
D X i = ( x i , 1 − x b e s t , 1 ) 2 + ( x i , 2 − x b e s t , 2 ) 2 + ⋯ + ( x i , D − x b e s t , D ) 2 (34) D_{X_i} = \sqrt{(x_{i,1} - x_{best,1})^2 + (x_{i,2} - x_{best,2})^2 + \cdots + (x_{i,D} - x_{best,D})^2} \tag{34} DXi=(xi,1−xbest,1)2+(xi,2−xbest,2)2+⋯+(xi,D−xbest,D)2(34)
ii) 每个候选解的距离向量可以表示为:
d i = [ d i , 1 ⋮ d i , N ] N × 1 (35) d_i = \begin{bmatrix} d_{i,1} \\ \vdots \\ d_{i,N} \end{bmatrix}_{N \times 1} \tag{35} di= di,1⋮di,N N×1(35)
iii) 归一化后,候选解的适应度和距离值用于计算分数,如下所示:
s i = ∑ i = 1 N ∀ X i , S X i = γ ⋅ norm F X i + ( 1 − γ ) ⋅ norm D X i (36) s_i = \sum_{i=1}^{N} \forall X_i, S_{X_i} = \gamma \cdot \text{norm}F_{X_i} + (1 - \gamma) \cdot \text{norm}D_{X_i} \tag{36} si=i=1∑N∀Xi,SXi=γ⋅normFXi+(1−γ)⋅normDXi(36)
其中 γ \gamma γ 是等于0.5的常数, norm F X i \text{norm}F_{X_i} normFXi 表示解的归一化适应度值, norm D X i \text{norm}D_{X_i} normDXi 表示归一化距离值。
iv) 最后,整个种群的FDB分数向量 S X S_X SX 由公式(37)给出:
S X = [ s 1 ⋮ s N ] N × 1 (37) S_X = \begin{bmatrix} s_1 \\ \vdots \\ s_N \end{bmatrix}_{N \times 1} \tag{37} SX= s1⋮sN N×1(37)
一旦创建了 S X S_X SX,算法可以根据其FDB分数选择更合适的候选解来指导搜索过程。
3. 提出的IHAOAVOA算法
3.1. 提出的IHAOAVOA算法的详细设计
在AO算法的探索阶段,模拟了水蛭的捕食行为,以检测潜在的快速移动猎物,从而在搜索的后期阶段提供更多的种群多样性(见公式(3)和(5)),从而赋予算法强大的全局搜索能力和快速收敛速度[13]。然而,在探索阶段,选定的搜索空间无法被彻底搜索。如图9在原文[67]中所示,收敛曲线在后期迭代中保持不变,而弱逃逸效应导致算法过早收敛。简而言之,AO具有很强的探索能力,但其探索阶段不足。对于HAO算法,探索和开发之间的过渡取决于秃鹫的饥饿率 F F F。在早期探索阶段,种群多样性增加,算法以缓慢的收敛速度执行。随着迭代次数的增加, F F F 的值逐渐减小,算法进入开发阶段。总共有四种不同的狩猎策略(见公式(19)、(21)、(24)和(27))用于实现秃鹫的各种位置更新,从而允许算法有效地利用搜索空间中的解信息来接近全局最优。因此,AVOA具有很大的探索能力。
鉴于上述分析,我们将AO的探索阶段与AVOA的开发阶段相结合,以充分利用两种基本算法的优势。首先,将AVOA算法视为核心框架,并用公式(3)和(5)替换AO中的原始位置更新规则,如下所示:
如果 rand ≤ 0.5 \text{rand} \leq 0.5 rand≤0.5:
X i ( t + 1 ) = X B ( t ) × ( 1 − t T ) + X m ( t ) − X B ( t ) × rand (38) X_i(t + 1) = X_B(t) \times (1 - \frac{t}{T}) + X_m(t) - X_B(t) \times \text{rand} \tag{38} Xi(t+1)=XB(t)×(1−Tt)+Xm(t)−XB(t)×rand(38)
如果 rand > 0.5 \text{rand} > 0.5 rand>0.5:
X i ( t + 1 ) = X B ( t ) × Levy ( D ) + X r ( t ) + ( y − x ) × rand (39) X_i(t + 1) = X_B(t) \times \text{Levy}(D) + X_r(t) + (y - x) \times \text{rand} \tag{39} Xi(t+1)=XB(t)×Levy(D)+Xr(t)+(y−x)×rand(39)
这种混合操作保留了算法更强的全局和局部搜索能力,以及更快的收敛速度。然后,为了进一步提高初步混合算法的整体性能,我们引入了第2.3节中的COBL和FDB策略。COBL有利于丰富迭代计算中的种群多样性。同时,从公式(39)可以看出,混合算法中第 i i i 次搜索代理的下一代位置主要依赖于当前最佳个体 X B X_B XB 和从整个种群中随机选择的一个个体 X r X_r Xr。这种参考个体秃鹫通过随机选择方法可能无法正确指导算法探索和开发解空间。为了提高搜索效率并在探索和开发阶段之间保持更好的平衡,我们采用FDB选择策略来识别一个候选解 X P D B X_{PDB} XPDB,它将对搜索过程做出最大贡献,如公式(40)所示。所有这些策略显著提高了收敛速度、解的质量和算法的鲁棒性。最后,本文开发的改进混合水蛭优化算法和非洲秃鹫优化算法命名为IHAOAVOA。
X i ( t + 1 ) = X B ( t ) × Levy ( D ) + X P D B ( t ) + ( y − x ) × rand (40) X_i(t + 1) = X_B(t) \times \text{Levy}(D) + X_{PDB}(t) + (y - x) \times \text{rand} \tag{40} Xi(t+1)=XB(t)×Levy(D)+XPDB(t)+(y−x)×rand(40)
IHAOAVOA算法的流程图
Yaning Xiao, Yanling Guo, Hao Cui, Yangwei Wang, Jian Li, Yapeng Zhang. IHAOAVOA: An improved hybrid aquila optimizer and African vultures optimization algorithm for global optimization problems[J]. Mathematical Biosciences and Engineering, 2022, 19(11): 10963-11017. doi: 10.3934/mbe.2022512