2. 贵州财经大学数学与统计学院, 贵州贵阳 550025
2. School of Mathematics and Statistics, Guizhou University of Finance and Economics, Guiyang, Guizhou, 550025, China
在过去的几十年中,元启发式算法在处理各种工程领域中具有挑战性的优化问题方面越来越受欢迎,这是因为它比传统的数值方法更有效。元启发式算法在搜索过程中需要执行探索和开发两个关键任务。在探索任务中进行“宏观搜索”以找到解空间中最有潜力的区域,对应于在问题的可行解空间中进行全局搜索,以搜索全局最优解。在开发任务中执行“微搜索”以提取搜索区域中的有用信息,对应于局部搜索,目的是改进可用的最佳解决方案。由于这两个过程的矛盾性质,所以在任何元启发式算法中都应该保持探索和开发之间的平衡,以执行性能良好的搜索。若未处理好探索和开发的平衡则会导致跳过真解、局部最优停滞和过早收敛等问题。
目前流行的元启发式算法有灰狼优化(Grey Wolf Optimizer, GWO)算法[1]、鲸鱼优化算法(Whale Optimization Algorithm, WOA)[2]、正弦余弦算法(Sine Cosine Algorithm, SCA)[3]、蝗虫优化算法(Grasshopper Optimization Algorithm, GOA)[4]、哈里斯鹰优化(Harris Hawks Optimizer, HHO)算法[5]、海鸥优化算法(Seagull Optimization Algorithm, SOA)[6]、蝴蝶优化算法(Butterfly Optimization Algorithm, BOA)[7]等,它们在解决全局优化问题上显示出一定的有效性。这些算法是基于种群迭代的,并且能够同时使用多个个体来执行搜索。此外,算法中的个体在搜索过程中还能够分享经验,相互交流。这些特性有助于算法在搜索过程中避免局部最优,从而增强了算法的探索能力。
人工兔优化(Artificial Rabbits Optimization, ARO)算法是由Wang等[8]于2022年提出的一种新型元启发式算法,它的灵感来自自然界中兔子的生存策略,包括迂回觅食和随机隐藏。ARO算法具有数学模型简单、需调整的参数少、容易编程实现以及不依赖梯度信息等特点,在函数优化和工程优化领域中得到成功应用[8-11]。然而,基本ARO算法存在精度差、收敛慢以及容易陷入局部最优等缺点。为了改善ARO算法的性能,Wang等[12]首先在随机隐藏阶段引入了Lévy飞行策略,以提高种群的多样性和动态性,种群的多样性加深了全局探索过程,从而提高了算法的收敛精度;然后,通过引入选择性反向策略来提高跟踪效率,防止ARO陷入当前的局部解。Wang等[13]结合天鹰优化(Aquila Optimizer, AO)算法的全局勘探和ARO算法的局部开发能力,设计了自适应切换机制,引入混沌反向学习策略,提出一种混合算法。
虽然这些元启发式算法在某些问题上可以找到全局最优,但是没有算法可以找到所有优化问题的全局最优值。无免费午餐(No Free Lunch, NFL)定理指出,不可能存在适用于所有优化问题的理想算法,该定理使得元启发式算法领域的研究非常活跃,并允许对现有算法进行修改以提高其性能[14]。为了改善基本ARO算法的搜索能力,本文提出一种改进的ARO算法(称为IARO算法),不仅设计了一种基于正弦函数的非线性递减能量因子以平衡IARO算法的探索和开发能力,还在笔者前期工作的基础上提出了一种动态透镜成像学习策略以避免算法陷入局部最优。数值实验部分选取了6个基准测试函数、2个工程设计优化问题和1个包括15个数据集的特征选择问题对IARO算法进行性能测试。
1 基本ARO算法ARO算法模拟了兔子的生存策略,通过搜索、觅食和躲避攻击执行优化过程。与其他元启发式算法一样,ARO算法通过式(1)随机产生一组解组成初始种群个体:
$P=l b+{rand} \cdot(u b-l b), $ | (1) |
其中, ub和lb是解空间的上、下界,rand是[0, 1]间的随机数。
ARO算法中的优化过程主要包括两个阶段,即全局勘探(迂回觅食)和局部开发(随机隐藏),具体数学模型描述如下:
在迂回觅食阶段,假设种群中的每只兔子都有自己的区域,有一些草和洞穴,兔子总是随机地访问彼此的位置觅食。事实上,在觅食时,兔子很可能会扰乱食物来源以获取足够的食物。因此,ARO算法的迂回觅食行为意味着每个搜索个体倾向于使用向群中随机选择的其他搜索个体的位置来更新其位置,并添加扰动。迂回觅食策略的数学模型为
$ \begin{aligned} & X_i(t+1)=X_j(t)+R \cdot\left(X_i(t)-X_j(t)\right)+ \\ & \operatorname{round}\left(0.5 \cdot\left(0.05+r_1\right)\right) \cdot r_2, \end{aligned} $ | (2) |
$ R=\left(e-e^{\left(\frac{t-1}{T}\right)^2}\right) \cdot \sin \left(2 \pi r_3\right) \cdot c, $ | (3) |
式中,X表示个体的位置;i,j=1, 2, …, N, i≠j, N为种群规模;r1、r2和r3分别是[0, 1]间的随机数;t为当前迭代次数;T为最大迭代次数;R表示移动步长;k=1, 2, …, d, d是问题的维数;c的取值为0或1,round为四舍五入取整函数。
在随机隐藏阶段,为了躲避捕食者,兔子通常会在巢穴周围挖一些不同的洞来躲藏。在ARO算法的每次迭代中,兔子总是沿着搜索空间的每个维度在其周围产生若干个洞穴,并且总是从所有洞穴中随机选择一个进行隐藏,以降低被捕食的概率,具体数学模型为
$ \begin{aligned} & X_i(t+1)=X_i(t)+R \cdot\left(r_4 \cdot H \cdot g \cdot X_i(t)-\right. \\ & \left.X_i(t)\right), \end{aligned} $ | (4) |
$ H=\frac{T-t+1}{T} \cdot r_5, $ | (5) |
式中,H为隐藏参数,在迭代过程中随机从1线性减小到1/T,r4和r5分别为[0, 1]间的随机数,g的取值为0或1。
在ARO算法中,兔子总是倾向于在迭代初始阶段频繁地进行迂回觅食,而在迭代后期阶段频繁地进行随机隐藏,这种搜索机制取决于兔子的能量,它会随着时间的推移而逐渐收缩。因此,设计一个能量因子来模拟从勘探阶段到开发阶段的自动转换,能量因子A的定义如下:
$ A(t)=4 \cdot\left(1-\frac{t}{T}\right) \cdot \ln \frac{1}{r_6}, $ | (6) |
式中,r6是一个[0, 1]间的随机数。
2 改进ARO算法(IARO算法) 2.1 非线性递减能量因子在搜索过程中平衡好全局勘探和局部开发能力对提高元启发式算法的搜索性能至关重要。一般来说,算法搜索前期的主要目的是在解空间中进行大范围搜索,以找到潜在的可行区域;而在搜索中后期,算法主要执行局部精确搜索,以加快收敛速度。不难发现,基本ARO算法设计了一种能量因子A以控制其在全局勘探和局部开发之间的转换。能量因子A较大表示兔子有足够的能量和体力进行迂回觅食;反之,能量因子A较小则表明兔子的体力不足,需要随机隐藏。即,当A>1时,兔子在探索阶段随机探索不同兔子的觅食区域,种群进行全局搜索;当A≤1时,兔子倾向于在开发阶段随机开发自己的洞穴,进行局部搜索。
由式(6)可知,虽然能量因子A的值随迭代次数的增加而随机扰动递减至0,但这不能真实反映ARO算法的优化过程,即前期进行全局搜索需要较大的A值,而中后期局部精确搜索则需要较小的A值。因此,本文设计了一种基于正弦函数的非线性递减能量因子,其数学公式为
$ \begin{aligned} & \quad A(t)=\left(A_{\max }-A_{\min }\right) \times\left(1-\sin \left(\left(\frac{t}{T}\right)^\mu \times\right.\right. \\ & \left.\left.\frac{\pi}{2}\right)\right) \end{aligned} $ | (7) |
式中,Amax和Amin分别为能量因子A的最大值和最小值,μ为缩放因子。图 1为式(7)描述的能量因子A随迭代次数增加的变化曲线。由图 1可以看出,在算法搜索前期,能量因子A取较大值; 而在搜索中后期,A取较小值,符合ARO算法前期进行全局勘探、后期进行局部开发的特点。
2.2 动态透镜成像学习策略
在基本ARO算法搜索末期,所有个体均向当前群体中最优个体所在区域靠拢,导致群体多样性降低,算法很容易陷入局部最优,这也是元启发式算法的固有缺点。为了克服这个缺点,龙文等[15]提出一种基于凸透镜成像原理的反向学习策略用于改进GWO算法的性能。然而,固定的缩放因子k无法充分利用透镜成像学习策略的优势。因此,为了进一步增加群体多样性,本文提出一种动态透镜成像学习策略,如图 2所示。
在图 2所示的动态透镜成像学习策略中,O是区间[a, b]的中点,h是光源P的高度,h′是光源P的像P′的高度,Xbest是当前群体中的最优个体,Xbest′为Xbest的反向个体。由图 2可以得出并推广到m维空间中:
$ X_{\text {best }, j}^{\prime}=\frac{a_j+b_j}{2}+\frac{a_j+b_j}{2 k}-\frac{X_{\text {best }, j}}{k}, $ | (8) |
式中, k=2·r7, r7是[0, 1]之间的随机数,j=1, 2, …, m。
由图 2和式(8)可知,当k取不同的值,得到不同的Xbest′,可以增加种群的多样性,从而避免算法陷入局部最优,即
$ X_{\text {best }}^{\prime}=\left\{\begin{array}{cc} X_1^{\prime}, & 0 <k <1 \\ a+b-X_{\text {best }}, & k=1 \\ X_2^{\prime}, & k>1 \end{array}, \right. $ | (9) |
基于上述两个修改策略,本文提出的IARO算法的流程如图 3所示,迭代步骤如下:
步骤1:初始化算法参数,如种群规模N、最大迭代次数T、Amax、Amin、μ、k;
步骤2:在解空间中随机产生一组个体位置作为算法种群初始位置,令t=1;
步骤3:计算每个个体的目标函数值,并记录当前群体最优个体位置;
步骤4:判断t < T,如果是,则转到步骤5;否则,算法结束,输出最优解;
步骤5:根据式(7)计算能量因子A的值;
步骤6:判断A>1,如果是,则根据式(2)更新个体位置;否则,由式(4)更新个体位置;
步骤7:针对当前最优个体,执行动态透镜成像学习策略,以产生新候选个体,令t=t+1,返回步骤3。
3 函数优化问题测试及比较为了测试IARO算法的优化能力,本文选取6个基准函数进行数值实验,详细信息如表 1所示。其中f1、f2和f3是单峰函数,通常用来测试算法的局部开发能力;多峰函数f4、f5和f6用于研究算法的全局勘探能力。6个基准测试函数的全局最优值均为0。
函数表达式 Function expression |
搜索区间 Search interval |
|
[-100, 100] |
|
[-10, 10] |
|
[-100, 100] |
|
[-10, 10] |
|
[-10, 10] |
|
[-10, 10] |
采用IARO算法对表 1中的6个基准测试函数进行求解,并与GWO算法[1]、WOA[2]、SCA[3]和基本ARO算法[8]进行比较。5种算法的种群规模设为30,最大迭代次数设为500。每个函数的维数均设置为30。每种算法均对每个基准测试函数独立运行30次。
表 2列出了5种算法对6个基准测试函数的平均值(Mean)和标准差(Standard deviation, St.dev)的结果。所有算法均在MATLAB R2014a软件上实现,操作系统为Microsoft windows 8 64位版,处理器为Intel (R) Core (TM) i5-5200U CPU@2.20 GHz,内存为4 GB RAM。
函数 Function |
GWO | WOA | SCA | ARO | IARO | |||||||||
均值 Mean |
标准差 St.dev |
均值 Mean |
标准差 St.dev |
均值 Mean |
标准差 St.dev |
均值 Mean |
标准差 St.dev |
均值 Mean |
标准差 St.dev |
|||||
f1 | 8.52E-28 | 8.80E-28 | 5.48E-73 | 1.24E-72 | 3.94E-01 | 2.38E-01 | 3.66E-75 | 3.97E-75 | 0.00E+00 | 0.00E+00 | ||||
f2 | 2.46E-28 | 2.03E-28 | 2.70E-75 | 1.73E-75 | 7.73E-01 | 6.50E-01 | 1.57E-79 | 5.09E-79 | 0.00E+00 | 0.00E+00 | ||||
f3 | 7.96E-25 | 8.77E-25 | 2.76E-70 | 4.12E-70 | 7.88E+02 | 3.76E+02 | 1.55E-73 | 2.78E-73 | 0.00E+00 | 0.00E+00 | ||||
f4 | 4.92E-04 | 1.28E-03 | 1.32E-47 | 7.08E-48 | 7.12E-01 | 1.21E+00 | 4.59E-41 | 6.71E-41 | 3.99E-300 | 0.00E+00 | ||||
f5 | 1.72E-29 | 2.21E-29 | 6.62E-76 | 6.28E-76 | 8.42E-02 | 1.42E-01 | 2.24E-79 | 9.85E-79 | 0.00E+00 | 0.00E+00 | ||||
f6 | 6.80E-07 | 3.84E-07 | 6.63E-30 | 5.34E-30 | 2.20E+00 | 2.04E+00 | 4.02E-22 | 4.51E-22 | 0.00E+00 | 0.00E+00 | ||||
The rank of Friedman test result | 4 | 3 | 5 | 2 | 1 | |||||||||
Note:the best results obtained by five algorithms are marked in bold. |
从表 2可知,除了f4外,IARO算法在其他5个基准测试函数上均获得了理论最优值(0),在f4上的寻优结果也非常接近于0。在5种比较算法中,SCA的寻优性能最差。与其他4种算法相比,IARO算法在6个基准测试函数上均获得了较好的平均值,且具有较强的鲁棒性。关于5种算法对6个函数的Friedman检验结果的排名,IARO算法在目标函数平均值上排名第一,接下来依次是ARO算法、WOA、GWO算法和SCA。另外,图 4是5种算法对6个基准测试函数的迭代收敛曲线。从图 4可以看出,与ARO算法、WOA、GWO算法和SCA相比,IARO算法在6个基准测试函数上显示出更快的收敛速度和更高的收敛精度。
为了分析两种改进策略的有效性,将基本ARO算法与仅采用非线性能量递减因子的ARO (NARO)算法、仅采用动态透镜成像学习策略的ARO(DARO)算法和IARO算法进行比较,选取表 1中的6个测试函数进行实验,结果如表 3所示。
函数 Function |
ARO | NARO | DARO | IARO |
f1 | 3.66E-75 | 4.29E-80 | 0.00E+00 | 0.00E+00 |
f2 | 1.57E-79 | 1.82E-83 | 0.00E+00 | 0.00E+00 |
f3 | 1.55E-73 | 6.01E-79 | 0.00E+00 | 0.00E+00 |
f4 | 4.59E-41 | 4.11E-48 | 2.46E-282 | 3.99E-300 |
f5 | 2.24E-79 | 2.99E-82 | 0.00E+00 | 0.00E+00 |
f6 | 4.02E-22 | 4.96E-23 | 0.00E+00 | 0.00E+00 |
Note:the best results obtained by four algorithms are marked in bold. |
从表 3的比较结果可知,仅采用非线性能量递减因子对改进ARO算法性能的帮助有限,IARO算法性能改进的有效算子是引入动态透镜成像学习策略。
4 IARO算法求解工程设计优化问题为了进一步验证IARO算法的有效性,将其应用于求解两个工程设计优化问题,即压力容器设计优化和拉压弹簧设计优化问题。考虑IARO算法在解决这两个工程设计优化问题时需要结合约束处理技术,本文使用惩罚函数法[16]处理约束条件。这里利用GWO算法、WOA、SCA、ARO算法和IARO算法对两个工程设计优化问题进行求解,5种算法的种群规模设置为50,最大迭代次数设置为1 000。
4.1 压力容器设计压力容器设计的结构如图 5所示,它有4个设计变量,即压力容器厚度、封帽厚度、容器内径和容器长度,优化目标是在一定约束条件下使得容器总造价最低,其目标函数和约束条件的数学表达式如下:
$ \begin{aligned} \min \quad f=0.6224 T_s R L+1.7781 T_h R^2+ \\ 3.1661 T_s^2 L+19.84 T_s^2 R, \\ \quad g_1=T_s+0.0193 R \leqslant 0, \\ \quad g_2=T_h+0.00954 R \leqslant 0, \\ \text { s.t. } \quad g_3=-\pi R^2 L+\frac{4}{3 \pi R^3+1296000} \leqslant 0, \\ \quad g_4=L-240 \leqslant 0, \end{aligned} $ | (10) |
式中,0≤Ts, Th≤99,10≤R, L≤200。
GWO算法、WOA、SCA、ARO算法和IARO算法在压力容器设计优化问题上获得的最优结果如表 4所示。从表 4的比较结果可知,与GWO算法、WOA、SCA和ARO算法相比,在相同参数设置的条件下,IARO算法在压力容器设计优化问题上获得了最低的总造价。
算法Algorithm | Ts | Th | R | L | f |
GWO | 13.246 5 | 7.008 4 | 42.096 6 | 176.668 0 | 6 060.144 7 |
WOA | 12.702 4 | 7.306 8 | 41.948 5 | 178.535 0 | 6 078.796 9 |
SCA | 12.690 3 | 6.715 9 | 42.074 6 | 200.000 0 | 6 601.644 8 |
ARO | 0.786 4 | 0.388 7 | 40.739 3 | 194.248 0 | 5 900.114 3 |
IARO | 0.778 2 | 0.384 7 | 40.322 2 | 199.968 0 | 5 885.525 7 |
Note: the best results obtained by five algorithms are marked in bold. |
4.2 拉压管柱弹簧设计
拉压管柱弹簧设计结构如图 6所示,它有3个设计变量如管柱直径、平均线圈直径和有效线圈数。
拉压管柱弹簧设计优化问题的目标是在最小挠度、剪切应力、外径限制和设计变量的约束下,使管柱弹簧的重量最小化,其目标函数和约束条件的数学表达式为
$\begin{aligned} \min f & =(P+2) D d^2, \\ \text { s.t. } g_1 & =1-\frac{P D^3}{71785 d^4} \leqslant 0, \\ g_2 & =\frac{4 D^3-d D}{12566\left(D d^3-d^4\right)}+\frac{1}{5108 d^2}-1 \leqslant 0, \\ g_3 & =1-\frac{140.45 d}{D^2 P} \leqslant 0, \\ g_4 & =\frac{d+D}{1.5}-1 \leqslant 0 。\end{aligned} $ | (11) |
式中,0.05≤d≤2.00,0.25≤D≤1.30,2≤P≤15。
GWO算法、WOA、SCA、ARO算法和IARO算法在拉压管柱弹簧设计优化问题上获得的最优结果如表 5所示。由表 5的比较结果可以看出,与GWO算法、WOA、SCA和ARO算法相比,IARO算法在拉压管柱弹簧设计优化问题上获得了最小的重量。
算法 Algorithm |
d | D | P | f |
GWO | 0.050 640 | 0.331 997 | 12.910 300 | 0.012 694 |
WOA | 0.051 490 | 0.351 878 | 11.587 000 | 0.012 675 |
SCA | 0.050 000 | 0.316 543 | 14.149 800 | 0.012 780 |
ARO | 0.051 900 | 0.361 804 | 11.000 000 | 0.012 670 |
IARO | 0.051 890 | 0.361 749 | 11.000 000 | 0.012 666 |
Note: the best results obtained by five algorithms are marked in bold. |
5 IARO算法求解特征选择问题
特征选择是处理高维数据的一个重要环节,它是指从原数据集的M个特征中选择出N个特征以降低数据集的维数,从而提高机器学习模型的分类效率。特征选择通过数学建模后可转换为求解一个多目标函数优化问题,其目标(适应度)函数可描述为
$ \text { fitness }=(1-\rho) \times E+\rho \times \frac{|l|}{|L|} \text {, } $ | (12) |
其中,E为分类器的分类错误率,ρ是权重系数,|l|表示算法所选择的特征数,|L|为原始数据集的特征数。
为了测试IARO算法求解特征选择问题的有效性,本文从UCI数据库中选取15个数据集进行实验,详细信息如表 6所示。
数据集 Dataset |
特征数 Number of feature |
样本大小 Sample size |
BreastEW | 30 | 569 |
Clean1 | 166 | 476 |
Clean2 | 166 | 6 598 |
Exactly | 13 | 1 000 |
Exactly2 | 13 | 1 000 |
HeartEW | 13 | 270 |
IonosphereEW | 34 | 351 |
KrvskpEW | 36 | 3 196 |
M-of-n | 13 | 1 000 |
PenglungEW | 325 | 73 |
Semeion | 265 | 1 593 |
SonarEW | 60 | 208 |
SpectEW | 22 | 267 |
Tic-tac-toe | 9 | 958 |
WaveformEW | 40 | 5 000 |
利用GWO算法、WOA、SCA、ARO算法和IARO算法对表 6中的15个UCI数据集进行特征选择并进行比较。5种算法的种群规模为10和最大迭代次数为20。在每个数据集中,随机选择90%作为训练集,剩下10%作为测试集,以k最近邻模型为分类模型,k=3,各种算法分别对每个数据集单独运行10次,得到的平均分类准确率和平均所选特征数分别见表 7和表 8。
数据集Dataset | GWO | WOA | SCA | ARO | IARO |
BreastEW | 0.975 0 | 0.957 1 | 0.982 1 | 0.975 0 | 1.000 0 |
Clean1 | 0.940 4 | 0.910 6 | 0.919 1 | 0.927 7 | 0.983 0 |
Clean2 | 0.986 3 | 0.977 2 | 0.980 6 | 0.983 3 | 0.981 8 |
Exactly | 0.922 0 | 0.826 0 | 0.716 0 | 0.788 0 | 0.868 0 |
Exactly2 | 0.790 0 | 0.782 0 | 0.780 0 | 0.790 0 | 0.790 0 |
HeartEW | 0.866 7 | 0.844 4 | 0.874 1 | 0.881 5 | 0.897 0 |
IonosphereEW | 0.960 0 | 0.942 9 | 0.965 7 | 0.965 7 | 0.942 9 |
KrvskpEW | 0.971 4 | 0.928 6 | 0.914 3 | 1.000 0 | 1.000 0 |
M-of-n | 0.938 0 | 0.932 0 | 0.978 0 | 0.996 0 | 0.950 0 |
PenglungEW | 0.885 7 | 0.828 6 | 0.885 7 | 0.914 3 | 1.000 0 |
Semeion | 0.989 9 | 0.986 2 | 0.986 2 | 0.987 4 | 0.987 4 |
SonarEW | 0.990 0 | 0.940 0 | 0.980 0 | 1.000 0 | 1.000 0 |
SpectEW | 0.923 1 | 0.9077 | 0.923 1 | 0.915 4 | 0.923 1 |
Tic-tac-toe | 0.827 4 | 0.814 7 | 0.821 1 | 0.827 4 | 0.827 4 |
WaveformEW | 0.818 4 | 0.779 6 | 0.790 0 | 0.796 0 | 0.800 0 |
Note: the best results obtained by five algorithms are marked in bold. |
数据集Dataset | GWO | WOA | SCA | ARO | IARO |
BreastEW | 7.8 | 10.8 | 6.6 | 10.2 | 11.0 |
Clean1 | 64.2 | 78.4 | 51.0 | 63.2 | 59.8 |
Clean2 | 68.6 | 100.0 | 57.2 | 80.0 | 86.4 |
Exactly | 7.4 | 8.8 | 6.0 | 7.4 | 7.0 |
Exactly2 | 6.6 | 5.8 | 4.6 | 5.2 | 5.8 |
HeartEW | 5.8 | 5.6 | 5.0 | 5.4 | 3.6 |
IonosphereEW | 6.4 | 5.0 | 5.6 | 10.0 | 10.6 |
KrvskpEW | 16.4 | 32.6 | 15.2 | 17.8 | 19.8 |
M-of-n | 6.4 | 9.2 | 6.6 | 7.0 | 9.0 |
PenglungEW | 94.6 | 67.6 | 69.0 | 75.8 | 29.6 |
Semeion | 105.6 | 124.6 | 82.6 | 121.0 | 115.4 |
SonarEW | 19.0 | 17.8 | 13.8 | 20.4 | 22.6 |
SpectEW | 4.4 | 8.2 | 4.0 | 6.0 | 6.8 |
Tic-tac-toe | 6.0 | 7.2 | 6.0 | 6.0 | 5.0 |
WaveformEW | 18.6 | 28.2 | 14.0 | 23.4 | 22.0 |
Note: the best results obtained by five algorithms are marked in bold. |
从表 7的结果可知,IARO算法在BreastEW、KrvskpEW、PenglungEW和SonarEW数据集上的平均分类准确率达到100%。与GWO算法相比,IARO算法在8个数据集上分类更为准确,在Exactly2、SpectEW和Tic-tac-toe数据集上的分类能力相当,在Clean2、Exactly、Semeion和WaveformEW数据集上,GWO算法分类更加准确。除IonosphereEW数据集外,IARO算法在其他14个数据集上比WOA分类更加准确,并且在IonosphereEW数据集上二者的分类准确率相同。与SCA相比,IARO算法在12个数据集上的分类能力更强,在SpectEW数据集上二者的分类准确率相等;但是,SCA在IonosphereEW和M-of-n数据集上的分类能力更强。与ARO算法相比,IARO算法分别在7个数据集上分类表现更好,在Exactly2、KrvskpEW、Semeion、SonarEW和Tic-tac-toe数据集上二者的分类准确率相同;在数据集Clean2、IonosphereEW和M-of-n上,ARO算法的分类能力更强。
6 结论ARO算法是最近提出的一种元启发式优化技术,它在经典基准测试函数上显示出强大的寻优性能。然而,基本ARO算法在求解复杂优化问题上存在容易陷入局部最优、后期收敛速度慢等缺点。为了平衡算法的全局勘探和局部开发能力,本研究不仅提出了一种随正弦函数变化的非线性递减能量因子,还设计了一种动态透镜成像学习策略以增强种群多样性。基于上述两个改进策略,提出了IARO算法。数值模拟实验选取了6个基准函数以测试IARO算法的性能,并与GWO算法、WOA、SCA和ARO算法进行比较。数值模拟实验结果表明,IARO算法在解精度和收敛速度性能上比起对比算法均有较大的提升。此外,将IARO算法应用于求解2个工程设计优化问题和1个含15个UCI数据集的特征选择问题,结果显示,与其他4种算法相比,IARO算法在求解工程设计优化问题和特征选择问题上具有较强的竞争力。下一步的研究方向是将IARO算法应用于多目标优化、动态优化以及其他工程应用领域中。
[1] |
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 |
[2] |
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 |
[3] |
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 |
[4] |
赵艳玲, 王勇, 袁磊. 基于4VA信息素的蝗虫优化算法[J]. 广西科学, 2022, 29(5): 930-939. DOI:10.13656/j.cnki.gxkx.20221116.014 |
[5] |
HEIDARI A A, MIRJALILI S, FARIS H, et al. Harris hawks optimization: algorithm and applications[J]. Future Generation Computer Systems, 2019, 97: 849-872. DOI:10.1016/j.future.2019.02.028 |
[6] |
DHIMAN G, KUMAR V. Seagull optimization algorithm: theory and its applications for large-scale industrial engineering problems[J]. Knowledge-Based Systems, 2019, 165: 169-196. DOI:10.1016/j.knosys.2018.11.024 |
[7] |
郑洪清, 冯文健, 周永权. 融合正弦余弦算法的蝴蝶优化算法[J]. 广西科学, 2021, 28(2): 152-159. |
[8] |
WANG L Y, CAO Q J, ZHANG Z X, et al. Artificial rabbits optimization: a new bio-inspired meta-heuristic algorithm for solving engineering optimization problems[J]. Engineering Applications of Artificial Intelligence, 2022, 114: 105082. DOI:10.1016/j.engappai.2022.105082 |
[9] |
ELSHAHED M, TOLBA M A, EL-RIFAIE A M, et al. An artificial rabbits' optimization to allocate PVSTATCOM for ancillary service provision in distribution systems[J]. Mathematics, 2023, 11: 339. DOI:10.3390/math11020339 |
[10] |
RIAD A J, HASANIEN H M, TURKY R A, et al. Identifying the PEM fuel cell parameters using artificial rabbits optimization algorithm[J]. Sustainability, 2023, 15: 4625. DOI:10.3390/su15054625 |
[11] |
KHALIL A E, BOGHDADY T A, ALHAM M H, et al. Enhancing the conventional controllers for load frequency control of isolated microgrids using proposed multi-objective formulation via artificial rabbits optimization algorithm[J]. IEEE Access, 2023, 11: 3472-3493. DOI:10.1109/ACCESS.2023.3234043 |
[12] |
WANG Y Y, HUANG L Q, ZHONG J Y, et al. LARO: opposition-based learning boosted artificial rabbits-inspired optimization algorithm with Lévy flight[J]. Symmetry, 2022, 14: 2282. DOI:10.3390/sym14112282 |
[13] |
WANG Y W, XIAO Y N, GUO Y L, et al. Dynamic chaotic opposition-based learning-driven hybrid Aquila optimization and artificial rabbits optimization algorithm: framework and applications[J]. Processes, 2022, 10: 2703. DOI:10.3390/pr10122703 |
[14] |
WOLPERT D H, MACREADY W G. No free lunch theorems for optimization[J]. IEEE Transactions on Evolutionary Computation, 1997, 1(1): 67-82. DOI:10.1109/4235.585893 |
[15] |
龙文, 伍铁斌, 唐明珠, 等. 基于透镜成像学习策略的灰狼优化算法[J]. 自动化学报, 2020, 46(10): 2148-2164. |
[16] |
COELLO C A C. Theoretical and numerical constraint-handling techniques used with evolutionary algorithms: a survey of the state of the art[J]. Computer Methods in Applied Mechanics and Engineering, 2002, 191: 1245-1287. |