融合随机反向学习的黏菌与算术混合优化算法

2022-05-17 06:02贾鹤鸣刘宇翔刘庆鑫
计算机与生活 2022年5期
关键词:测试函数适应度全局

贾鹤鸣,刘宇翔,刘庆鑫,王 爽,郑 荣

1.三明学院 信息工程学院,福建 三明365004

2.福州大学 物理与信息工程学院,福州350108

3.海南大学 计算机科学与技术学院,海口570228

随着科技的不断创新发展,近年来不同领域的工程问题产生了诸多优化求解的需求,而如牛顿法、梯度下降法等传统优化方法已经无法满足实际需求。因此,通过模仿生物或物理现象而提出的元启发式算法不断涌现,元启发式算法概念和框架简单,无需梯度更新信息,常见的算法有:粒子群优化算法(particle swarm optimization,PSO)、樽海鞘群优化算法(salp swarm algorithm,SSA)、黏菌优化算法(slime mould algorithm,SMA)、算术优化算法(arithmetic optimization algorithm,AOA)、灰狼优化算法(grey wolf optimization,GWO)、鲸鱼优化算法(whale optimization algorithm,WOA)、哈里斯鹰优化算法(Harris hawks optimization,HHO)等,但无免费午餐(no-free-lunch,NFL)理论证明不存在一种优化算法能解决所有的工程问题,每种已存在的优化算法都存在其优势与不足。因此,基于混合模式和融合改进策略对传统优化算法进行升级是迫切且必要的。

SMA 是由Li 等人于2020 年提出的一种模拟黏菌在觅食过程中的行为和形态变化的新型群体智能优化算法,其灵感启发来源于模拟多头绒泡菌的觅食行为和形态变化,利用权值的变化模拟觅食过程中黏菌本体产生的正反馈和负反馈过程,进而产生三种阶段觅食形态。该算法具有一定的收敛精度和较好的稳定性,因此已被广泛应用于优化应用领域。Kouadri 等人提出利用SMA 优化算法研究优化潮流控制变量,以此探索发电机燃油成本和损耗最小化的问题。Zhao 等人提出将SMA 与HHO 算法相混合,利用多复合选择机制提高算法的选择性和随机性,提高个体位置更新的随机性和算法求解的效率。Sun 等人提出融合布朗运动和锦标赛机制对传统SMA 策略进行改进,并且结合自适应爬山法进一步提升了算法的搜索进度。上述改进策略在不同程度上提高了原算法的寻优性能,但上述文献多为复合策略的叠加或两种混合算法的简单结合,未考虑改进策略并结合混合模式来提高SMA 的算法性能。AOA 算法是在2021 年由Abualigah 等人提出的基于四则混合运算思想设计的元启发式优化算法,该算法利用数学中的乘除运算提高位置更新的全局分散性,利用加减运算提高位置更新在局部区域的精确性,由于该算法提出的时间较短,需对其进行进一步改进和完善,以适应更多领域工程问题的优化求解。

本文基于SMA 和AOA 的优势和不足,将两种算法结合,同时引入随机反向学习策略,提出了一种性能优越的黏菌与算术混合优化算法。该混合算法结合了SMA 与AOA 的寻优特性,有效增强了算法的寻优性能和避免局部最优能力,提升了收敛速度与收敛精度,并通过标准测试函数和工程问题的测试验证了所提混合算法的有效性和工程适用性。

1 黏菌优化算法

黏菌优化算法是根据黏菌的觅食行为得到的一种优化算法。黏菌在觅食过程中发现食物时,会有振荡收缩的特性。同时,在多个食物源之间会形成粗细不一的静脉网络,并且静脉网络的粗细与食物源的质量有关。此外,黏菌在获取食物源时,仍会有一定的概率对未知区域进行搜索。

黏菌根据空气中的气味接近食物,静脉接触到的食物浓度越高,内部生物振荡器产生的波越强,细胞质流动得越快,静脉越粗,其位置更新公式为:

其中,为0 到1 之间的随机数,X()表示目前适应度最优的个体位置,()与()为两个随机个体位置,为[-,]之间的随机数,是从1 到0 线性递减的参数,代表黏菌的权重系数,代表当前迭代次数。

控制参数、参数与权重系数的更新公式如下:

其中,参数根据当前个体适应度值和最优值进行计算,∈1,2,…,,为种群规模,()代表当前个体适应度值,为当前取得的最佳适应度值。为均匀分布于0 到1 之间的随机数,是最大迭代次数。condition 表示种群中适应度排在前一半个体,others 表示剩下的个体,代表当前迭代获取的最佳适应度值,代表当前迭代最差适应度值。()为适应度值序列(求极小值问题为递增序列)。

尽管黏菌找到了更好的食物源,它们仍会分离部分个体探索其他领域试图寻找更高质量的食物源。因此SMA 整体更新位置的公式为:

式中,与为上下界;为均匀分布在0 到1之间的随机数;代表值为0.03 的常量。

2 算术优化算法

算术优化算法是一种根据算术操作符的分布特性来实现全局寻优的元启发式优化算法。算法分为三部分,通过数学优化器加速函数选择优化策略,乘法策略与除法策略进行全局搜索,提高解的分散性,增强算法的全局寻优与克服早熟收敛能力,实现全局探索寻优。开发阶段利用加法策略与减法策略降低解的分散性,有利于种群在局部范围内充分开发,加强算法的局部寻优能力。

2.1 数学优化器加速函数

AOA 通过数学优化器加速函数(math optimizer accelerated,MOA)选择搜索阶段,当>时,AOA 进行全局探索;当<时,AOA 进入局部开发阶段。

其中,代表0 到1 之间的随机数,与分别是加速函数的最小值和最大值,为0.2 和1.0。

2.2 探索阶段

AOA 通过乘法运算与除法运算实现全局搜索,当<0.5 时,执行除法搜索策略;当>0.5 时,执行乘法搜索策略,其位置更新公式如下:

其中,∈[0,1],是调整搜索过程的控制参数,值为0.499,为极小值,数学优化器概率(math optimizer probability,MOP)曲线如图1 所示,计算公式如下:

图1 数学优化器概率曲线图Fig.1 Curve of math optimizer probability

式中,是敏感参数,定义了迭代过程中的局部开发精度,取值为5。

2.3 开发阶段

AOA 利用加法运算与减法运算实现局部开发,位置更新公式如下:

其中,为0 到1 之间的随机数。

3 随机反向学习策略

反向学习策略(opposition-based learning,OBL)是Tizhoosh于2005 年提出的群智能领域中的一种改进策略,其思想是:在种群寻优的过程中,根据当前解产生一个反向解,比较当前解与反向解的目标函数值,择优进入下一次迭代。

反向解定义:存在维坐标系内一点,同时满足∈[,],则反向解计算公式如下:

由于反向学习策略生成的反向解与当前解距离为一定值,缺乏随机性,无法有效增强搜索空间内种群多样性。因此,Long 等人提出了改进的随机反向学习策略(random opposition-based learning,ROBL),进一步增强种群多样性,提高种群避免局部最优的能力(如图2),计算公式如下:

图2 任意解与它的随机反向解Fig.2 Arbitrary solution and its randomly opposite solution

4 融合随机反向学习策略的黏菌与算术混合优化算法

4.1 改进混合算法理论分析

如前所述,SMA 会根据适应度值调整不同的搜索模式,适应度较差的黏菌进行全局搜索,和的协同作用也使黏菌不止向最优位置收缩,同时会分离出一部分有机物向其他领域探索,并且的振荡作用也增加了全局探索的可能性。此外,当随机数小于时,黏菌进行随机初始化。因此,SMA 的多重探索机制使该算法具有强大的全局寻优能力。但在迭代后期,的振荡作用大幅减弱,使算法不能有效跳出局部最优,且SMA 利用参数实现收缩机制,为1 到0 线性递减的参数,用于描述黏菌与检测到的食物浓度的反馈关系,但这种机制较薄弱,容易陷入局部最优。AOA 借助乘除算子带来的高分布性实现位置更新,随迭代次数的增加从0.7 线性递减至0,并且递减幅度逐渐减小,能够针对最优位置进行放缩,提高后期寻优随机性,提高黏菌算法避免局部最优能力。因此,本文将SMA 和AOA 进行了有机融合,提出一种新的混合算法(hybrid algorithm of slime mould algorithm and arithmetic optimization algorithm based on random opposition-based learning,HSMAAOA)。混合算法分别保留了SMA 与AOA 的优势特性,首先保留了SMA 根据值进行随机初始化的部分,当<时,黏菌分离出部分个体探索其他食物源,随后根据随机数与值选择黏菌的位置更新方式,当<时,通过式(6)进行位置更新,否则通过乘除算子(式(8))进行位置更新。最后利用ROBL 策略产生一个随机反向位置,使用贪婪策略选出表现最优的个体进入下一次迭代,引导黏菌更好地向最优个体位置进化,增强算法跳出局部最优的能力,使得算法获得更好的收敛速度。综上所述,HSMAAOA 伪代码如下,具体实现流程如图3 所示。

图3 HSMAAOA 算法流程Fig.3 Flowchart of HSMAAOA

4.2 运算复杂度分析

HSMAAOA 算法主要由种群初始化、种群位置更新以及随机反向解组成,假设种群规模、维度、最大迭代次数,则HSMAAOA 初始阶段时间复杂度为(×),计算个体适应度为(),迭代过程中利用SMA 全局探索与AOA 乘除算子进行位置更新,并通过ROBL生成随机反向解,复杂度为(2×××),更新最优解的时间复杂度为(1) 。综上所述,HSMAAOA 运算复杂度为(2×××)。

5 实验仿真与分析

本文实验环境采用IntelCorei7-4720HQ CPU,主频为2.60 GHz,内存12 GB,操作系统为64 位Windows10的电脑。编程语言为Matlab,版本R2020b。使用23 个标准测试函数对HSMAAOA 进行性能测试。在这些测试函数中,1~7 为单峰测试函数,只有一个全局最优解,用于检验算法的局部开发能力与收敛速度。8~13 为多峰测试函数,具有多个局部最优值和一个全局最优值,可验证算法的全局搜索能力与跳出局部最优的能力。14~23 是固定维多峰测试函数,检验算法平衡探索与开发能力之间的性能。利用三种不同类型的测试函数,可充分验证算法的寻优性能。

5.1 对比算法与参数设置

为了更好地验证HSMAAOA 算法性能,选取了7种算法进行对比:SMA、AOA、HHO、WOA、SSA、GWO 和PSO。这些算法被证实具有良好的寻优性能。为了更准确地验证所提算法与对比算法的优劣性,设定种群规模=30,空间维度=30,最大迭代次数500 次,各算法独立运行30 次,算法中相关参数设置如表1 所示。选取平均值、标准差与Wilcoxon 秩和检验作为评价指标。其中,平均值和标准差越小,则证明算法的性能越佳。

表1 各算法参数设置Table 1 Setting of each algorithm parameters

5.2 求解精度分析

HSMAAOA 及其对比算法的适应度平均值与标准差见表2,Mean 代表平均适应度值,Std 为标准差,加粗的实验数据为最佳结果。在求解1~7 单峰测试函数中,HSMAAOA 能够在1~4 测试中达到理论最优值,方差最小。对于5,HSMAAOA 虽然没有收敛到全局最优值,但求解精度仅次于HHO 与SMA,位居第三。在6 中,寻优能力仅次于HHO,且超过其他算法。对于7,HSMAAOA 能够达到全局最优值,且方差最小。由此可知,HSMAAOA 在局部开发阶段引入乘除算子更新公式与随机反向学习带来优越的开发能力,提高算法收敛精度,且具有一定的稳定性。在多峰测试函数中,HSMAAOA 也能取得不错的效果。对于8、9、11,HSMAAOA达到理论最优值,对于12、13,算法效果仅次于HHO,超过了原始SMA 算法与AOA 算法。在10中,HSMAAOA 与SMA、AOA 和HHO 均达到了全局最优值。从中可知,HSMAAOA 的探索能力和避免局部最优能力均强于原始SMA 和AOA 算法,仅有个别测试函数效果弱于HHO,但整体的效果仍是最优。在固定维度多峰测试函数中,对于14、17、21 与22,HSMAAOA 平均适应度极度靠近理论最优值,方差最小。在15 中,效果不及HHO。针对16、18、23 测试函数,HSMAAOA 能够达到理论最优值。对于19,虽然达到了全局最优值,但标准差不如SSA。对于20,HSMAAOA 平均值与PSO 相同,次于GWO,标准差不及SSA,但超越了其余算法。对于大多数固定维度多峰测试函数,HSMAAOA 的统计结果都是最优,结合测试函数的复杂性,证实了HSMAAOA 在避免早熟收敛方面具有优秀的性能,且平衡探索阶段和局部阶段的能力得到了增强。

表2 各算法标准函数测试结果Table 2 Test results of benchmark functions of each algorithm

5.3 收敛曲线分析

为了更直观地展示各算法的收敛速度及跳出局部最优能力,图4 为部分测试函数的收敛曲线。对于1 和3 函数,PSO、SSA、WOA、GWO 收敛精度较低,HHO、AOA 收敛效果稍强于上述算法,SMA 收敛精度高,但收敛速度过慢,迭代450 次后才能达到理论最优值,而HSMAAOA 从迭代开始收敛曲线明显下降且收敛速度快,仅需要80 次迭代即可达到理论最优值,收敛速度快。对于5 函数,HSMAAOA 虽然没有收敛到全局最优值,但能快速跳出局部最优值,并且收敛精度更接近全局最小值,证明了此算法引入AOA 位置更新公式与随机反向学习策略所带来卓越的跳出局部最优能力。对于多峰测试函数8和10,HSMAAOA 收敛速度快于SMA 与AOA,在迭代初期达到全局最优解,体现出优秀的全局探索能力。对于固定维多峰测试函数(15、20 与23),HSMAAOA 出现多次分界点,停滞的次数少于其他算法,证明了算法的探索与开发能力得到较好的平衡。

图4 各种算法收敛曲线Fig.4 Convergence curves of various algorithms

5.4 Wilcoxon 秩和检验

仅通过平均值与方差无法精确分析每次运行的结果,因此本文采用Wilcoxon 秩和检验来验证整体结果的显著性差别。秩和检验在5%的显著性水平下进行,当<0.05 时,可以证明两种算法性能存在显著差异,否则说明两种算法的寻优性能相差不大。因此,本文将8 种算法作为样本,各算法独立求解30次,种群规模=30,空间维度=30 的环境下求解23 个标准测试函数来判断HSMAAOA 所得结果与7种对比算法所得结果的显著性区别。Wilcoxon 统计检验值结果如表3 所示,因为算法无法与自身对比,故表中不再列出HSMAAOA 的值。表中N/A表示数据无效,即实验样本数据相同,算法性能相当,当值小于0.05 时,说明两种对比算法具有显著性差异。

由表3 可知,大部分值均小于5%,表明算法HSMAAOA 与其余7 种对比算法之间存在显著性差异。对于函数9 与11,HSMAAOA 与对比算法之间的显著性差异不明显,算法的性能相当。

通过分析表2、表3 以及图4,可以得出结论:融合随机反向学习策略的黏菌与算术混合优化算法(HSMAAOA)全局与局部能力均得到加强,优于原始SMA、AOA 及其他5 种优化算法,表现出更优秀的收敛精度、收敛速度以及稳定性。

表3 各算法Wilcoxon 秩和检验结果Table 3 Wilcoxon rank sum test results of each algorithm

6 工程设计问题

为了验证HSMAAOA 算法在解决工程问题上的性能与可行性,选用焊接梁设计问题与压力容器问题进行测试。在本次实验中,设置种群规模=30,维度=30,最大迭代次数=500。

6.1 焊接梁设计问题

该问题的目标是使焊接梁设计的总成本最小化。如图5 所示,需要优化的变量有4 个:焊缝宽度,连接梁厚度,连接梁长度与梁高度。该问题的目标函数、自变量范围和约束条件如下所示:

图5 焊接梁设计问题Fig.5 Welded beam design problem

表4 列出了HSMAAOA 与对比算法求解焊接梁设计问题实验结果,其中加粗表示较好结果。可以看出,SMAAOA 在=0.202 6,=3.319 7,=9.034 5,=0.205 8 处得到的最小代价为1.699 9,不仅优于原始SMA 与AOA 算法,且小于其余对比算法,说明本文算法对于求解这类工程问题具有良好的性能。

表4 各算法应用焊接梁设计问题优化结果Table 4 Optimization results of each algorithm applied to welded beam design problem

6.2 压力容器设计问题

压力容器设计问题是一个常用的工程设计问题。如图6 所示,该问题试图使圆柱形压力容器的总成本最小化,以满足压力要求。需要优化4 个变量:容器壁厚度T、顶盖壁厚度T、内径、容器管身长度。目标函数、自变量范围和约束条件如下所示:

图6 压力容器设计问题Fig.6 Pressure vessel design problem

表5 统计了8 种算法在求解压力容器问题时得到的实验数据。可以看出8 种算法均能求出较好值,但HSMAAOA 算法求解出的最优值仍是最小结果,表现出对压力容器设计问题优良可信的求解能力。

表5 各算法应用压力容器设计问题优化结果Table 5 Optimization results of each algorithm applied to pressure vessel design problem

通过对上述两种著名工程设计问题的测试,可以看出基本SMA 与AOA 算法因自身机制局限性导致容易陷入局部最优值,而本文算法HSMAAOA 混合了SMA 与AOA 的优势特性,结合随机反向学习策略提高了算法的寻优性能。在求解工程优化设计问题能够找到更优的解,充分说明了HSMAAOA 在处理不同复杂程度工程设计问题具有较好的应用潜力,能够提供优秀的解决方案。

7 结束语

本文充分综合考虑SMA 和AOA 两种优化算法的优势和不足,提出了一种新型黏菌与算术混合优化算法。HSMAAOA 融合两种算法的全局搜索策略,极大地提高了算法的随机性和全局搜索能力,有效避免了局部最优停滞。引入ROBL 策略有效增强种群多样性,提高算法避免早熟收敛能力,保持较快的收敛速度。HSMAAOA 有效地增强并平衡了全局探索和局部开发过程,23 个标准函数测试结果表明,不论对于单峰函数还是多峰函数,均具有更佳的收敛速度和精度。最后选择验证的两个工程设计问题测试表明,HSMAAOA 可用于解决实际问题并具有良好的工程应用前景。本文仅是对两种新近提出的优化算法混合改进的尝试,未来将进一步融合不同的改进策略,并结合实际工程的解决需求,以期改进出更为有效的智能优化算法。

猜你喜欢
测试函数适应度全局
改进的自适应复制、交叉和突变遗传算法
基于改进空间通道信息的全局烟雾注意网络
领导者的全局观
解信赖域子问题的多折线算法
一种基于精英选择和反向学习的分布估计算法
基于自适应调整权重和搜索策略的鲸鱼优化算法
二分搜索算法在全局频繁项目集求解中的应用
落子山东,意在全局
具有收缩因子的自适应鸽群算法用于函数优化问题
启发式搜索算法进行乐曲编辑的基本原理分析