杨文珍,何 庆
1.贵州大学 大数据与信息工程学院,贵阳 550025
2.贵州大学 贵州省公共大数据重点实验室,贵阳 550025
算术优化算法(arithmetic optimization algorithm,AOA)是Abualigah等[1]于2021年根据数学计算机制提出的一种基于群体的新型算法,由于该算法具有可移植性强、参数少以及执行效率快等优点,算法整体性能相较于蚁狮算法(ant lion optimization,ALO)[2]、樽海鞘算法(salp swarm algorithm,SSA)[3]、灰狼优化算法(grey wolf optimizer,GWO)[4]等更具有竞争力,在模型识别[5]、神经网络[6]、约束性[7]等实际领域中具备长远的发展潜力。
尽管不同的元启发式算法搜索机制不同,但大部分算法最终目标在于丰富种群多样性以及平衡算法全局勘探与局部开发的性能平衡,在保证算法收敛精度的条件下,最大性能的优化算法收敛速度以及避免算法早熟现象。针对这一优化目标,国内外研究学者展开研究工作以期针对算法特点达到不同领域的优化效果,如Guan等[8]提出一种自动更新机制的改进蚁狮算法,在保留优质变量的情况下优化赋值,在这样的机制下,改进算法只能优化选定赋值的非优变量值对,从而改进算法有更大概率寻找到更好的候选方案以提高算法收敛性能。Ren等[9]提出将两种策略与标准算法结合的改进樽海鞘算法,一种是随机替换策略以一定概率将当前位置替换成最优解位置,另一种策略是双自适应权重控制算法早、后期的搜索性能,达到算法收敛速度优化的效果,开发能力显著提高。Yu 等[10]把对立学习引入灰狼优化算法,将对立学习以跳跃率的形式在不增加计算复杂度的基础上帮助算法识别局部最优值,平衡了算法的勘探与开发。
为提高标准AOA 的迭代搜索性能,本文提出一种使用最优个体引导算法寻优以及小孔成像原理的算术优化算法,激活机理策略是基于算子位置更新层面,以最优位置为基准的引导个体寻优的概率进化机制,激活曲线sigmoid在保留算子父代信息的同时调整算法前后期最优个体占比领域进行再次开采以提高算法寻优概率;引入基于位置均值的小孔成像原理以及概率变异方法,以增加算子之间信息反馈并帮助算法识别局部极值,从而优化全局搜索能力;同时适当地修正MOA的迭代形式以微调算法不同阶段种群个体间的位置信息交流以及算法搜索机制。最后通过数值实验验证策略的有效性以及竞争力。
AOA 函数寻优过程首先随机初始化一组候选解(X),假设每次算法迭代结果为最优解决方案,随着算法一次次迭代更新最优值寻找到函数最优值。
其中,M_min、M_max分别为优化器的最大、小值,为方便做算法对比,本文设置其值分别为1、0.2。t、T分别表示算法当前迭代以及最大迭代次数,MOA 函数值随着当前迭代次数变化不断更新。
图1 算术运算符的层次结构Fig.1 Hierarchy of arithmetic operators
在算法的探索阶段,AOA 的探索算子在多个区域随机探索,使用两种策略即乘法策略(multiplication,M)和除法策略(division,D)的数学计算产生高分布式的值或解决方案,由于其高分散性赋予该搜索阶段优异的寻优潜力,在多次搜索检测后推导出更好的解决方案。
基于探索阶段的两种搜索策略(D,M)的数学模型如式(3)所示,设置随机值r1,在式(2)更新MOA 函数值后,若r1>MOA执行乘除法算子执行探索阶段,在该阶段下细分各算子执行条件,除法算子执行条件在r2<0.5(r2为随机数)条件下被选择,乘法算子将被忽略,直到该运算符完成当前任务,否则即运行当前寻优任务,当前探索部分位置更新方程如式(4):
此处α描述一个敏感参数决定着算法迭代期间的开发精度,本文设置其值为5,下一阶段就开发进行建模。
在算法开发阶段使用具有集中性较好的加减算子进行算法开发任务,开发搜索将更接近于最优值,通过不断迭代更新找到更接近最优值的解,将随机值r1与MOA 相比,因为随机值具有不稳定性,利用MOA 函数改进开发项,使得加减法算子在众多密集的区域中有极大概率寻找到适当的解决方案,数学建模表达式如下:
该阶段的减法算子S以r3<0.5 为条件,加法算子忽略不计,直到该算子完成当前寻优任务,否则执行加法算子A代替减法算子执行寻优功能,由于算法活动范围较小,存在局部极值情况,随机值μ的设置有助于开发阶段的进行。
算法探索与开发的位置更新原理如图2所示,展示了算法通过运算符选择探索或者开发过程。算法伪代码如下:
图2 位置更新原理示意图Fig.2 Schematic diagram of location update principle
标准AOA 中算法由随机值与MOA 控制勘探与开发阶段,转换机制随机且不稳定,个体间的位置信息交流并以随机概率交换某些变量分量,且根据随机值围绕最优个体进行当前分量的随机更新,这样的搜索机制基于个体的代间更新,同时个体位置的质量直接影响算法寻优性能,若是个体存在距离最优解较远或较近的情况,过多或较少围绕最优个体都会导致算法陷入局部极值以及找不到全局最优值的问题存在,因此标准的AOA 缺乏最优个体的二次开采而导致错失最优解,以及随机调整勘探和开采的不稳定策略有待修正。鉴于以上分析,本文提出一种基于个体间横向位置更新以及纵向微调整勘探与开发功能的改进AOA算法(IX-AOA),以保证在保证收敛精度的环境下提高收敛速度以及平衡勘探与开发的性能。
标准AOA 中MOP 系数是控制算法勘探和开发的重要参数,由式(2)可知MOA 随着迭代次数线性变化,在算法初期增加太快导致个体不能覆盖更多的候选解区域,因此导致算法的全局搜索能力欠佳,同时算法后期参数下降渐趋平缓,有可能导致陷入局部极值的情况发生,为更好地分配算法寻优时间,采用非线性曲线调整算法不同时间勘探和开发的功能切换,其数学模型如式(8):
上式参数与上一章定义一致,f定义为数组[5,15]间的随机整数,保证了算法在前后期勘探与开发并存,分工合作达到更好的寻优效果,同时由式(8)可知,根据双曲线性质,c(t)仍为递减函数且双曲线减缓了曲线下降速度,且前期函数值取值较小采用算法全局搜索功能大范围遍历候选解进行最优值更新;同时算法后期随着迭代次数增加函数值增加,随机值大于MOA 的情况下进行全局勘探,围绕最优个体进行局部极值识别更新最优解,达到收敛精度的提升效果。
在标准AOA 中,算法由随机值(r1、r2、r3)与系数MOA 来调整算法搜索策略,由式(4)与式(6)可知算法位置更新使用全局最优个体的引导以及在本地开发阶段从种群中随机选择的个体来产生子代个体,这两个等式目的在于实现探索与开发能力的协调,但是算法的随机切换机制将会导致算法陷入局部极值以及远离全局最优位置,并且全局最优位置对加快收敛速度作用突出,但是标准AOA 中并没有充分利用最优个体位置的信息。因此本节提出一种基于sigmoid激活函数的最优个体引导位置更新方程,即:
借鉴粒子群(PSO)[11]中利用惯性权重调整勘探和开发的启发,在AOA 位置更新部分使用较大的权重有利于全局搜索,较小的权重将优化局部开发。在此,惯性权重使用基于sigmoid 激活函数曲线特性微调算法功能,经过多次实验节可得μ为20其寻优效果最佳,其调节曲线sigmoid函数曲线如图3所示。
图3 w 函数曲线Fig.3 w function curve
图3 绘制了sigmoid 曲线后半部分曲线,从图中看出,迭代初期较大的w值有益于算法早期的全局搜索能力优化,后期较小的w值改善算法后期的局部开发功能,使得算法整体性能得到有效协调。
在标准AOA 后期中,种群个体聚集于潜在最优值个体周围,种群多样性退化导致算法早熟情况的发生,基于丰富种群多样性的优化目标,目前研究多使用levy飞行[12]、对立学习[13]以及混合其他算法[14]的方法等。
小孔成像是自然界中一种常见的物理折射现象,其原理与对立学习相似,为丰富算法后期种群多样性,在寻优过程增加基于小孔成像原理结合双曲线性质改善种群分布质量。
由以上推理可知,在k=1 时,对立学习即小孔成像,在本文设置中,k=2,同时由于小孔成像产生的候选解不排除解覆盖现象,种群多样性并没有得到改善,由此,在小孔成像位置更新部分加入双曲线,增加候选解错开分布性,达到改善种群分布的目标。
IX-AOA迭代寻优进程主要步骤如下:
步骤1 初始化算法参数如α、μ。
步骤2 初始种群位置,并确定初始最优个体和最优值。
步骤3 计算式(5)MOP 和式(8)MOA 确定算法寻优机制,根据MOA 随着迭代次数变化纵向微调算法寻优过程。
步骤4 种群个体横向更新,按照式(9)随迭代次数t动态更新权重系数,横向更新种群个体进化产生子代种群个体。
步骤5 前位置的多样性候选解生成。当算法进行到后期时,在当前位置的范围内即[a,b]按照式(15)产生交错分布的候选解,对当前位置周围进行二次开采以丰富算法种群多样性。
步骤6 对候选解之间适应度进行竞争对比,保留更有价值的位置信息。
步骤7 判断当前迭代步数是否达到最大迭代次数,若是,则算法终止进程并输出最优值以及最佳个体解信息;否则返回步骤3。
时间复杂度作为体现算法寻优效率的重要指标,其主要取决于算法使用策略,为探索以及验证本文算法框架未对标准AOA造成时间代价,进行以下分析:
环境参数设置种群规模为N、维度为D、最大迭代次数为M_iter,标准AOA时间复杂度为:
本文仿真环境在操作系统Win10 以及Matlab R2018a 环境下进行,实验公共参数设置为种群规模N=30,最大迭代次数M_iter=500,各测试函数独立运行30次。
为进行有效公平的测试环境,本文主要将实验分为4组进行。
(1)将本文算法与其他智能算法,例如ALO[2]、SSA[3]、GWO[4]在高维环境下进行性能对比,为保证算法对比公平性,各算法参数设置一致,特定参数不变。
(2)为验证本文优化算法(IX-AOA)的分策略有效性以及组合有效性,使用多指标将各分策略与标准AOA进行对比分析。
(3)将IX-AOA与同类型改进算法在高维环境下进行寻优对比实验,对寻优效果进行对比实验,验证本文算法的有效竞争力。
在实验仿真部分,不同测试函数表1 所示,本章选取高维度单模函数、高维多模函数中的部分函数作为算法对比测试函数,8个测试函数维度设置为高维100,更凸显算法之间的寻优性能差异,设置单模函数如f1~f5测试算法收敛速度,多模函数f6~f8检验算法勘探与开发平衡能力。
表1 测试函数Table 1 Test functions
标准AOA 算法在低维环境下表现良好,但是在高维众多局部极值的情况下,性能有待增强,为此,为验证本文改进算法在高维环境下仍保持其良好寻优性能,将本文改进算法与标准AOA 以及其他智能算法,例ALO[2]、SSA[3]、GWO[4]参照参数设置标准进行实验。实验数据如表2所示。表中均值、标准差、p-value以及R作为评价算法改进有效性指标,其中p-value、R分别为秩检验数据以及显著性判断结果,表格中“N/A”表示算法寻优数据无较大差异以及无法与自身数据对比。由表2 所示32 组实验中,p值均小于0.01 以及R均为“+”表示改进效果显著,其中均值以及标准差指标分别体现算法收敛精度、收敛速度以及寻优稳定性。
表2 算法数据对比Table 2 Comparison of algorithm data
在高维函数测试环境中,IX-AOA 在所以测试函数中均取得最优结果,在f1、f2、f3、f4、f6、f8、f12、f13、f14、f15均寻到理论值,在未寻到理论值的函数中,其寻优精度相较于其他算法仍有不同程度提升,例f7测试函数中改进算法相较于对比算法精度提高了12~17 个数量级。4 种对比算法中,ALO、SSA 相较于GWO、AOA寻优效果较差,其次GWO次于AOA,AOA在f6函数寻找到理论值,但其他函数3 种对比算法在其余函数均未寻到最优值,由表2 中均值与标准差数据表明改进算法IX-AOA 具备更高以及更稳定的寻优效果。
为将表2中数据转换为直观效果对比,由于篇幅有限,在单模函数、多模函数各抽取3 组函数进行实验分析,图4中将各函数的迭代曲线进行对比实验。试函数理论值,并且总曲线走势可知,在算法后期,其他对比算法陷入局部最优时,IX-AOA仍保持较强的局部开发能力避免算法停滞。
图4 迭代曲线对比效果图Fig.4 Comparison effects of iterative curves
综上分析,IX-AOA 在收敛性能即精度以及速度上比其他算法优势显著,在算法前后期都保持良好的全局搜索能力以及局部开发能力,算法寻优性能的改进有效性得到直观验证。
由图4迭代曲线可知,5种对比算法在8组测试函数各阶段寻优效果各异,在迭代前期,改进算法IX-AOA已表现其优势显著的寻优性能。在算法前期,IX-AOA收敛速度与4种对比算法较大收敛速度差异,其全局搜索能力明显更具优势;在算法后期局部开发能力逐渐占据重要位置,在6 组测试函数中迭代曲线分析,在迭代次数未达到T时,IX-AOA在收敛速度以及精度上已经遥遥领先其他对比算法,在迭代步数100以内已找到测
为保证算法对比环境公正性,本节消融实验参数设置与上节一致,为验证各策略的改进有效性以及各策略的组合有效性,将标准AOA 算法与优化系数MOA(CAOA)、最优个体激活机制(GAOA)、非线性小孔成像(XAOA)做对比实验。
(1)微调控制(CAOA)与AOA
CAOA策略在根据双曲线性质改变原始MOA线性递减前后期遍历与开发缺陷,为更好地使勘探与开发配合协作,将双曲线递变性质引入MOA,在算法前期弥补了原始MOA 递减太快而导致错失潜在最优值,同时算法后期新MOA 函数值增加,在随机值小于MOA 值而进行全局搜索能力加强而提高局部极值识别能力,最优值得到迭代更新,最终收敛性能得到有效提高。
由图5迭代函数曲线对比可知,分策略CAOA不管在单峰还是多峰函数下收敛精度与速度与标准AOA相比优势显著,验证CAOA在算法不同时期发挥其独特的调节作用。
图5 CAOA与AOA曲线Fig.5 CAOA and AOA curves
(2)基于sigmoid 最优个体引导进化机制(GAOA)与AOA
为更好地发挥算法最优个体对算法寻优的引导作用以及对子代位置的有益影响,避免算法由于随机切换勘探与开发所造成远离最优值与陷入局部极值的情况,借鉴PSO 算法思想,提出基于sigmoid 激活函数的惯性权重原理动态协调最优个体在算法勘探与开发过程的影响作用。收敛曲线对比如图6所示。由图6迭代曲线走势分析,通过对最优个体的S形曲线占比调整算法前后期勘探与开发的分配,在位置更新部分加强最优个体子代种群的寻优引导,产生更多有价值的位置信息,在迭代过程反复推导逐渐逼近全局最优位置,而达到位置横行区域的多次开采而达到更优质的寻优能力,提高了算法收敛精度以及速度。
图6 GAOA与AOA曲线Fig.6 GAOA and AOA curves
从图5收敛曲线对比分析可知,与其他改进算法对比,在算法不同搜索阶段,IX-AOA 都展示了其优越的全局搜索以及局部开采能力,算法早期收敛速度已经后期曲线保持递减趋势得以体现,例如SCAOA 在f1、f8陷入局部极值时,IX-AOA在不需要牺牲迭代次数的环境下就能寻到最优值,由于Matlab在数学理论上无法对0 取对数,如图8 中在曲线达到理论值后再也无法显示曲线,IX-AOA 在4 组单峰、多峰函数,且在高维存在众多极值的环境下仍保持寻优性能的高效率。
图8 D=500各改进算法收敛性对比Fig.8 Convergence comparison of each improved algorithm with D=500
(3)非线性小孔成像(XAOA)与AOA
标准AOA在算法后期由于其螺旋随机更新机制产生良莠不齐的候选解,算法性能过度依赖于位置更新子代信息,为消除算法的更新随机性以及提高候选解多样性,提出一种基于小孔成像的非线性位置变化更新策略,给算法寻优提供更多优质候选解以提高算法精度以及局部极值识别能力,与标准AOA 迭代曲线对比效果图如图7所示。
图7 XAOA与AOA曲线Fig.7 XAOA and AOA curves
由图7 曲线迭代可知,在加入小孔成像原理后,扩展了候选解范围,同时非线性曲线的引入减少了候选解生成覆盖问题,有效提高了种群多样性,在标准AOA后期陷入局部极值后,XAOA仍保持良好的局部极值规避性以及寻优精度。
综上所述,通过设置标准算法AOA、IX-AOA 以及分策略的消融实验,各分策略都具有其改进有效性,同时算法整体寻优性能相对单策略使用更具竞争性,验证改进算法IX-AOA 各分策略在函数收敛精度以及速度上的有效合作达到更优质的寻优性能。
鉴于以上分析可知,在高维测试环境下,在各种特征的测试函数中本文优化算法IX-AOA较新改进算法仍具有较强竞争力,函数求解的高效率性得到有效验证。
为体现IX-AOA不同环境下保持的寻优竞争力,本文引入CEC2014 函数中,选取单峰、多峰、混合以及复合类型的不同函数进行理论值求解,选取函数信息如表3所示。
表3 CEC2014部分函数Table 3 Some functions of CEC2014
为更细致分析算法整体性能,将IX-AOA与目前最新改进算法进行高维环境对比实验,由于AOA所提时间较短,可对比改进算法较少,将IX-AOA与实现机理相似的新改进算法即SCAOA[5]、MSCA[15]在单模、多模函数上,高维D=500 进行对比实验,由于篇幅有限,在8 组测试函数中抽取4组特征各异函数单独运行30次实验。
为保证算法对比实验的公平性,CEC2014函数参数除维度为30 以及迭代次数1 000 以外的参数设置与以上章节一致,取实验运行均值与标准差进行分析。
由表4 记录各函数运行数据即均值与方差,由于CEC2014函数存在复杂度高,算法寻优难度增加,从表4数据可知IX-AOA在均值与方差方面均优于标准AOA,在CEC02虽然均值优势不显,但改进算法IX-AOA方差具有较大优势,同时CEC27、CEC28的方差为0,验证了算法寻优的有效性。因此从实验部分可知,IX-AOA在求解复杂函数具备较大的竞争优势。
表4 CEC2014优化结果Table 4 CEC2014 optimization results
为改进标准AOA高维寻优精度低以及收敛速度慢等问题,本文提出一种横向与纵向更新机制的算术优化算法即IX-AOA,分别从算法种群整体层面以及最优个体层级进行更新机制的改进。数值实验表明,纵向更新机制的MOA系数微调与引入非线性小孔成像原理的横向更新机制改进效果尤为显著,同时基于sigmoid 激活函数的最优个体占比横向迭代通过权重发挥最优个体在算法不同阶段的影响比重更新优质子代位置,有效加快了算法寻优效率,展示了本文改进算法IX-AOA早期强势的全局搜索以及良好的局部极值识别精确度。接下来的研究工作,将针对改进AOA 以解决神经网络参数优化、云计算任务调度以及多约束等实际问题进行应用实践。