APP下载

多策略改进的蜜獾优化算法

2024-02-27董红伟李爱莲解韶峰崔桂梅

小型微型计算机系统 2024年2期
关键词:莱维测试函数全局

董红伟,李爱莲,解韶峰,崔桂梅

1(内蒙古科技大学 信息工程学院,内蒙古 包头 014010)

2(内蒙古科技大学 基建处,内蒙古 包头 014010)

0 引 言

群体智能优化算法具有良好的并行性和自主探索性,近年来快速发展并被广泛应用到复杂工程问题中,比较新型的群体智能优化算法包括鲸鱼算法(Whale Optimization Algorithm,WOA)[1]、灰狼算法(Grey Wolf Optimizer,GWO)[2]、麻雀搜索算法(Sparrow Search Algorithm,SSA)[3]等.李爱莲等人[4]基于混合策略优化的鲸鱼算法,对转炉终点锰含量进行预测,提高了预测精度;张帅等人[5]基于灰狼优化算法,对热轧带钢卷取温度进行预测,提高了预测卷取温度的命中率;胡松等人[6]基于鲸鱼算法对短时交通流量进行预测,提高了短时交通流量的预测精度.

蜜獾算法(Honey Badger Algorithm,HBA)[7]是由Fatma A、Hashima等人在2021年提出的一种新型群体智能算法,主要是通过模拟蜜獾的觅食行为特征进行数学建模,具有结构简单、控制参数少、寻优能力强、收敛速度快等特点,与大多数的群体智能优化算法相比较,HBA在寻优能力以及收敛速度方面具有一定的优势,但是该算法在搜索能力、收敛精度、易陷入局部最优值等方面还有一定的改进空间.

针对群体智能优化算法存在种群多样性、收敛速度得不到保证等问题,众多学者针对群体智能算法进行了大量的改进研究.全凌翔等人[8]为解决麻雀算法早期寻优、后期出现能力不足等问题,提出了融合正余弦策略和柯西变异的麻雀搜索算法;张铸等人[9]为解决樽海鞘群算法在求解复合问题时存在收敛速度慢和容易陷入局部最优等缺点,提出一种结合引力搜索技术与正态云发生器的樽海鞘群算法,改进后提高了算法迭代后期的收敛精度;何庆等人[10]为解决蝗虫优化算法易陷入局部最优以及早熟收敛等问题,提出一种混合柯西变异和均匀分布的蝗虫优化算法,在收敛精度和收敛速度等方面都得到极大的改进.HBA提出时间较短,针对HBA的改进策略相对较少,以上算法研究将为HBA的改进策略提供理论支撑.针对标准HBA算法存在的不足,本文提出一种多策略改进的蜜獾算法(Improved Honey Badger Algorithm,IHBA).首先在种群初始化阶段,通过Chebyshev混沌映射来提高算法的全局搜索能力以及种群分布的优越性.其次,在局部挖掘阶段融入莱维飞行,提高算法全局搜索能力和局部寻优搜索能力.最后在最优个体确定阶段引入最优个体自适应变异策略,以提高算法的寻优精度和收敛精度等.

1 标准蜜獾算法

蜜獾算法来源于蜜獾寻找食物源所采取的两种行为.一种行为是蜜獾使用嗅觉来定位到食物源位置,当到达食物源周围,蜜獾会选择合适的地点挖掘食物,该行为称为挖掘模式;另一种行为是蜜獾在导蜜鸟的引导下定位到食物源,该行为称为采蜜模式;Fatma A等基于蜜獾寻找食物源的行为建立了标准蜜獾算法模型.

1.1 种群初始化阶段

种群初始化在所设定的边界范围内随机初始化蜜獾的数量(种群规模)和个体位置,具体如公式(1)所示:

xi=lbi+r1×(ubi+lbi)

(1)

其中,ri为(0,1)内的随机数;xi为N个候选个体的第i个个体的位置;ubi和lbi分别为搜索空间的下界和上界.

1.2 定义强度I

强度和猎物的集中力以及和蜜獾之间的距离相关.Ii是猎物的气味强度,嗅觉强度越大,则蜜獾运动速度越快,反之亦然.具体如公式(2)所示:

(2)

其中,s是源强度或集中强度;di表示猎物与当前蜜獾个体的距离,r2为(0,1)内的随机数.

1.3 更新密度因子

密度因子α确保从勘探到开采的平稳过渡.递减因子α会随着迭代次数的增加而减少,使用公式(3)中的方法进行更新,以减少模拟蜜獾觅食过程中随时间变化带来的不确定性.

(3)

其中,tmax为最大迭代次数;C≥1(一般默认为2).

1.4 挖掘阶段

在挖掘阶段,蜜獾执行类似于心脏线形状的动作.心形运动可以通过公式(4)进行模拟:

xnew=xprey+F×β×I×xprey+F×r3×α×di×|cos(2πr4)×[1-cos(2πr5)]|

(4)

其中,xprey是当前状态下的全局最优位置;β≥1(一般默认为6)是蜜獾获取食物的能力,di为猎物与当前蜜獾个体的距离;r3、r4、r5是(0,1)之间的3个不同的随机数;F为改变搜索方向的标志,使用公式(5)确定:

(5)

在挖掘阶段,蜜獾严重依赖于猎物的气味强度、与猎物之间的距离以及时变搜索影响因子α.此外,在挖掘活动中,蜜獾可能会受到各种干扰,从而使其无法找到更好的猎物位置.

1.5 采蜜阶段

蜜獾跟随导蜜鸟到达蜂巢的情况可用公式(6)模拟:

xnew=xprey+F×r7×α×di

(6)

其中,xnew为更新后的蜜獾个体位置;xprey为猎物位置;F和α分别由公式(5)和公式(3)确定;r7为(0,1)之间的随机数.从公式(6)可以看出,根据距离信息di,蜜獾在猎物位置xprey附近进行搜索.

2 改进蜜獾算法

标准蜜獾算法采用随机方法初始化种群,导致搜索过程无法稳定获取目标精度和收敛速度;采蜜阶段,蜜獾群以食物源为牵引进行深度开发,可加速算法收敛、提高运行效率,然而当食物源陷入局部最优时,以食物源为导向的更新机制会导致算法陷入局部最优,从而降低整体解的质量.为避免局部收敛和个体早熟等问题对蜜獾算法的寻优精度造成影响,本文引入Chebyshev混沌种群机制、莱维飞行种群更新机制以及最优个体自适应变异机制等策略对标准蜜獾算法进行联合改进,进一步增强种群多样性,从而增强算法抵抗局部最优风险的能力.

2.1 基于Chebyshev混沌映射的种群初始化

种群初始化作为群体智能算法的重要环节,在一定程度上影响求解的质量和效率.大多数元启发式优化算法采用随机方法初始化种群位置,并且对初始条件高度依赖,使得搜索过程无法稳定地获得目标精度和收敛速度.混沌映射具有随机性、遍历性、规律性等特点,在处理初始种群问题时能有效保持种群的多样性,避免算法过早收敛.与Tent混沌映射相比,Chebyshev混沌映射[11]具有更简单的数学表达式,且初值敏感性相对不高,鲁棒性强,定义式如下所示:

pi+1=cos(icos-1(pi))

(7)

上式中,p为区间[-1,1]的随机数,i为阶次.Chebyshev映射初始化蜜獾种群的步骤如下:

a)初始化蜜獾种群数目N,在D维空间中初始化第1个个体的空间位置,Z1={z1,z2,…,zi,…,zD},zi∈[-1,1],i∈[1,D];

b)采用式(7)对个体X的每一维xi进行逐代更新,直至生成剩余的N-1个蜜獾个体;

c)结合上述混沌序列,进一步映射成搜索空间内的蜜獾个体初始位置:

(8)

其中,ub和lb为搜索空间的上界和下界,j∈[1,N].

2.2 基于莱维飞行的蜜獾更新机制

在标准蜜獾算法的采蜜阶段,蜜獾个体以自适应步长向食物源靠近.以食物源为牵引的搜索方式虽能加快算法收敛,但存在遍历不充分、全局勘探不足等问题,同时易导致算法在迭代中后期易陷入局部最优.莱维分布[12]是法国学者莱维于20世纪30年代提的一种概率分布,莱维飞行是一种融合大步长与小步长并服从莱维分布的随机数组,应用于智能算法时可增加种群多样性并扩大搜索范围.本文引入莱维飞行对采蜜阶段的蜜獾位置进行更新,当其以极大的概率在食物源附近进行小范围游走时更有助于算法完成局部开发过程,而极小概率产生的大步长有利于算法跳出局部最优,进一步增强新生解的质量.

改进后蜜獾个体在采蜜阶段的位置更新公式如下:

(9)

上式中,Xprey为食物源位置,Xnew为经莱维飞行变异后的蜜獾新个体,a为步长控制量,⊕为点对点乘法,Levy(λ)表示随机搜索路径,并满足Levy~u=t-λ(1<λ≤3)Levy~u.由于莱维分布情况十分复杂,常用Mantegna算法进行模拟.步长s公式如下:

(10)

(11)

2.3 引入最优个体自适应变异策略

标准蜜獾优化算法依赖于挖掘阶段与采蜜阶段的相互配合,前一阶段有利于算法在迭代前中期广泛地进行全局搜索,进而为采蜜阶段积累丰富的先验知识;在采蜜阶段,蜜獾群体始终以食物源为导向进行位置更新,有助于深度挖掘最优解.上述阶段贯穿搜索过程始末,保证了蜜獾算法以均衡的方式协调蜜獾个体完成全局勘探和局部开发过程.然而,领导者以食物源为牵引的搜索方式虽能加快算法收敛,但存在遍历不充分、全局勘探不足等问题.一旦食物源陷入局部最优,围绕食物源所展开的精细化搜索将导致搜索无法跳出局部最优.针对上述问题,采用以迭代次数t为系统参量的变异因子对算法当前找到的最优解进行自适应变异,基于贪婪选择算法推选出质量更高的食物源并参与下轮迭代.自适应t分布是融合高斯分布与柯西分布优点随机参数组,当其作为变异因子对可行解进行扰动时,可使算法具有一定的局部随机搜索能力以避免陷入局部最优.食物源的自适应变异过程如下公式所示:

(12)

(13)

2.4 改进算法伪代码

IHBA的伪代码如下所示:

IHBA算法:

初始化最大种群N,最大迭代次数T,优化维度D,搜索空间下界lb和上边界ub;

计算每个蜜獾个体的适应度f(*),根据适应度大小对种群进行排序,找出食物源位置;

While(t

fori=1,2,…,N,do

ifr<0.5,then

根据式(4)~式(6)完成全局开发过程;

else

根据式(9)~式(11)对蜜獾个体进行莱维飞行变异;

end

end

计算新蜜獾个体的适应度f(*)并排序;

更新食物源位置及其适应度;

把算法当前找到的最优解进行自适应变异,以避免算法陷入局部最优;

t=t+1;

End

输出全局最优个体适应度值及位置

2.5 IHBA算法流程图(图1)

图1 IHBA算法流程图Fig.1 IHBA algorithm flow chart

3 仿真实验与结果分析

为了验证IHBA算法的效果,将IHBA与PSO[13]、SSA、CASSSA[14]、SMA、GWO[15]、SCA[16]、FPA、WOA[17]和HBA 9个对比算法在8个单峰和多峰标准测试函数中通过平均值和标准差两个指标进行对比分析,将10个固定维度的测试函数与标准蜜獾算法进行比较,分析其最优值、平均值、最差值以及标准差.各算法的主要参数设置如表1所示.本文仿真实验基于Intel i7-12700H 2.3GHz,16GB内存配置平台,以及Windows11操作系统,仿真软件为MATLAB R2021a.为保证仿真实验控制变量原则,本文使用的所有算法种群数设置为30,最大迭代数为500,各算法对每个标准测试函数均独立运行100次,单峰和多峰函数dim=30/50/100/200.

表1 算法参数设置Table 1 Algorithm parameter settings

3.1 测试函数结果分析

在18个标准测试函数中,F1~F5为单峰函数,侧重测试算法的局部开发能力;F6~F8为多峰函数,侧重测试算法的全局寻优能力;F9~F18为固定维度函数,侧重测试算法的全局搜索和局部开发的均衡水平.表2为测试函数基本信息.

表2 测试函数Table 2 Test functions

将IHBA算法和对比算法在dim=30/50/100/200下测试结果进行对比,从表3可以得到,在对单峰函数F1~F4求解时,IHBA算法测试结果均优于对比算法,仅在F5测试函数平均值和标准差略差于CASSA算法,且在F1和F3上均取得了理论最优值,在F2和F4上均值相较于对比算法均提高了上百个数量级,F1~F4的标准差均达到了0.00e+00.随着测试函数的维度的增加,当dim=200时,算法寻找最优解求解难度大幅度提升,算法的收敛精度相对于低维度均有不同程度的下降,但是可以看出IHBA仍普遍优于对比算法,在F2和F4上的寻优精度相较HBA均提高200个数量级以上,证明IHBA在高维标准测试函数上表现出较强的鲁棒性.在多峰函数F6和F8IHBA均取得了理论最优值.对于F1~F8测试结果IHBA基本上优于对比算法,证明改进后的IHBA具有更高的寻优精度以及寻优能力.

表3 单峰、多峰测试函数结果对比(dim=30/50/100/200)Table 3 Comparison of single peak and multi peak test function results(dim=30/50/100/200)

固定维度函数F9~F18,主要是测试算法的全局搜索和局部开发的均衡能力,通过表4对比固定维度测试结果,HBA在10个固定维度函数上虽然都搜索到测试函数的理论最优值附近,但HBA标准差、平均值等指标较差,说明HBA在稳定性以及全局搜索能力还有改进空间,IHBA对于固定维度的测试结果均接近或找到函数理论最优值,实验表明IHBA算法在鲁棒性、全局搜索和局部开发的均衡性上对比HBA算法均有所提高.综上所述,IHBA在测试函数中得到的测试结果整体优于HBA,证明了在对HBA改进策略的可行性及有效性.

表4 固定维度的测试函数结果对比Table 4 Comparison of test function results with fixed dimensions

3.2 收敛曲线分析

收敛曲线图可以对算法的收敛性进行详细的描述.为保证对比实验的公平性,设置10种算法的种群数量为30,dim=30,最大迭代次数为500,每个算法独立运行100次后得到以下收敛曲线.图2中随着迭代次数的增加曲线不再显示,该情况表明算法已经寻找到理论最优值.

图2 测试函数收敛曲线图Fig.2 Convergence curve of test function

由图2中的(a)、(b)、(c)、(d)单峰收敛曲线可知,IHBA无论在收敛速度还是收敛精度上都优于对比算法,这也验证了IHBA的局部开发能力有所提升.在(f)、(g)、(h)多峰收敛曲线证明了IHBA的收敛速度优于其他9种对比算法,证明了HBA加入改进策略后,收敛精度以及收敛速度均有明显增强.

3.3 算法统计检验

单纯依靠以上指标来评价算法的性能往往过于片面,因此本文加入Wilcoxon秩和检验验证IHBA与其它算法的显著性差异,增加测试结果的全面性.每次运行结果在P=0.05的显著性水平下对算法之间进行显著性差异比较,当p值小于0.05时,认为拒绝H0假设,说明两种算法的差异性显著,否则就是接受H0假设,说明两种算法差异性不显著,寻优能力均衡.

表5为IHBA与对比算法在dim=30和显著性水平p=0.05下的比较结果.其中:“NaN”表示无法进行显著性差异判断,“r”表示算法显著性差异判别,“+/=/-”表示IHBA算法和对比算法之间性能的“优于/相当/劣于”.由表5、表6可得,绝大多数的p都远远小于0.05,可以证明IHBA改进策略的有效性及与对比算法之间存在显著性差异的统计学意义.

表5 单峰、多峰测试函数Wilcoxon秩和检验结果Table 5 Wilcoxon rank sum test results of unimodal and multimodal test functions

表6 固定维度测试函数Wilcoxon秩和检验结果Table 6 Wilcoxon rank sum test results of fixed dimension test function

3.4 实际工程应用

为验证IHBA在实际工程应用中的性能,选取了压力容器设计优化问题和槽形舱壁设计问题两种经典的工程优化问题,并且与其他9种算法对比,来体现IHBA在实际工程应用的优越性以及前景.

压力容器设计问题是经典的工程优化问题,通过降低压力容器的耗材来降低控制工程成本,其中4个设计变量分别为:外壳厚度TS(x3)、封头厚度Th(x4)、内半径R(x1)以及容器长度L(x2,不包括头部),其中TS和Th为0.625的整数倍,R和L为连续变量.具体数学模型如下,不同算法求解压力容器设计问题的对比结果如表7所示.

表7 不同算法求解压力容器设计问题的对比结果Table 7 Comparison results of different algorithms for solving pressure vessel design problems

目标函数:

(14)

约束条件:

(15)

边界约束:

0≤x1≤99,0≤x2≤99

10≤x3≤200,10≤x4≤200

槽形舱壁设计问题目的是将化学品罐车波槽形舱壁的重量最小化,其设计变量为宽度(x1)、深度(x2)、长度(x3)、和板厚(x4).该优化问题数学模型如下所示,不同算法求解槽形舱壁设计问题的对比结果如表8所示.

(16)

表8 不同算法求解槽形舱壁设计问题的对比结果Table 8 Comparison results of different algorithms for solving trough bulkhead design problems

约束条件:

(17)

边界约束:

0≤x1,x2,x3≤100,0≤x4≤5

4 结束语

本文提出的多策略改进蜜獾算法,在种群初始化中加入Chebyshev混沌映射,用于解决在种群个体随机性和均衡性冲突的问题,保证种群分布的优越性,避免算法过早收敛;添加莱维飞行有助于增强局部开发过程,其步长特点将有利于算法跳出局部最优,提高目标精度;最优个体自适应变异策略进一步降低算法陷入局部最优的可能,提高算法的收敛速度,增强算法的鲁棒性.通过18个经典测试函数进行检验,并与8个对比算法和标准蜜獾算法进行比较,仿真测试结果表明,IHBA在求解复杂函数问题上具有收敛速度快、收敛精度高以及鲁棒性强等优势.Wilcoxon秩和检验结果说明IHBA算法与对比算法存在显著性差异,在实际工程应用方面表现出较好的寻优能力,证明IHBA在工程应用的前景广泛,为后续将IHBA深入应用到转炉炼钢终点控制领域中奠定算法基础.

猜你喜欢

莱维测试函数全局
Open Basic Science Needed for Significant and Fundamental Discoveries
Cahn-Hilliard-Brinkman系统的全局吸引子
量子Navier-Stokes方程弱解的全局存在性
基于莱维飞行蜉蝣优化算法的光伏阵列最大功率点跟踪研究
落子山东,意在全局
具有收缩因子的自适应鸽群算法用于函数优化问题
创意“入侵”
带势函数的双调和不等式组的整体解的不存在性
约束二进制二次规划测试函数的一个构造方法
新思路:牵一发动全局