X⁃FA:一种基于进化因子与可解释的改进萤火虫算法

彭泓淞 ,  关东海 ,  袁伟伟

南京大学学报(自然科学) ›› 2025, Vol. 61 ›› Issue (06) : 999 -1007.

PDF (976KB)
南京大学学报(自然科学) ›› 2025, Vol. 61 ›› Issue (06) : 999 -1007. DOI: 10.13232/j.cnki.jnju.2025.06.010

X⁃FA:一种基于进化因子与可解释的改进萤火虫算法

作者信息 +

X⁃FA: An improved firefly algorithm based on evolutionary factors and interpretability

Author information +
文章历史 +
PDF (998K)

摘要

萤火虫算法(Firefly Algorithm,FA)是一种用于求解优化问题的启发式算法.由于FA有后期收敛速度慢、寻优精度较低等问题,且寻优过程不具备指导性,因此,结合进化因子与可解释方法,提出了一种改进的萤火虫算法X⁃FA.X⁃FA引入进化因子,将整个寻优过程划分为四个阶段,并在不同的阶段动态计算移动步长,使萤火虫能够在优化初始时尽可能地搜索整个搜索空间,在收敛阶段能够更快地向最优解收敛.同时,引入可解释方法,使萤火虫的随机移动具有指导性.最后,在六个测试函数上进行实验分析,实验结果表明,X⁃FA具有较高的寻优精度和较快的收敛速度.

Abstract

Firefly Algorithm (FA) is a heuristic algorithm used for solving optimization problems. However,FA has issues such as slow convergence speed in later stages and lower optimization accuracy,along with a lack of guidance in the optimization process. This paper proposes an improved Firefly Algorithm,X⁃FA,by integrating evolutionary factors and interpretability. X⁃FA introduces evolutionary factors to divide the entire optimization process into four stages,dynamically calculating the movement step size at different stages. This allows fireflies to search the entire search space more effectively in the initial optimization phase and converge more quickly to the optimal solution during the convergence phase. Additionally,the incorporation of interpretability methods provides guidance to the random movements of the fireflies. Finally,experimental analysis is conducted on six test functions,and the results indicate that X⁃FA achieves higher optimization accuracy and faster convergence speed.

Graphical abstract

关键词

群体智能算法 / 萤火虫算法 / 可解释算法 / 进化因子

Key words

swarm intelligence algorithms / firefly algorithm / interpretable algorithms / evolutionary factor

引用本文

引用格式 ▾
彭泓淞,关东海,袁伟伟. X⁃FA:一种基于进化因子与可解释的改进萤火虫算法[J]. 南京大学学报(自然科学), 2025, 61(06): 999-1007 DOI:10.13232/j.cnki.jnju.2025.06.010

登录浏览全文

4963

注册一个新账户 忘记密码

萤火虫算法(Firefly Algorithm,FA)是Yang1受萤火虫通过荧光引诱配偶和猎物的启发而提出的一种启发式算法.FA中,假设种群中的所有萤火虫都是雌雄同体的,萤火虫之间相互吸引,萤火虫种群向更亮、更有吸引力的萤火虫位置移动并获得有效的最优解.由于FA参数调整少,易于实现,被大量应用在实际寻优问题中,如机器人路径规划问题2、多能源系统联合优化调度3、无人驾驶车辆路径优化问题4等.
但是,与其他启发式算法相似,FA也存在收敛速度慢、容易陷入局部最优等问题,极大地限制了其解决复杂优化问题的性能.为了解决这一问题,研究人员从多个方面做出了努力.Feng et al5将立方映射产生的混沌序列引入FA,提出一种基于混沌理论的动态种群萤火虫算法,减少了萤火虫的无效运动,提高了算法精度.Fu et al6分析了FA的进化计算机制,提出一种基于新型进化计算模式的改进型萤火虫优化算法(IEFA).Fister et al7提出MFA (Memetic Firefly Algorithm),根据电流动态调整步长参数α.Gandomi et al8使用12种不同的混沌映射来更新αβ.Yu et al9随着迭代次数的增加来动态地调整参数α.Huang et al10用模式开关调节参数α,让FA从勘探开关到开发.李肇基等11随着迭代次数的增加动态调整参数α的同时,引入逻辑自映射混沌模型来提高种群多样性.总体上,当前研究已经取得了很好的成绩,但还有提升空间,缺少通过可解释方法来改进优化算法的研究.
本文对萤火虫的移动策略进行了改进.首先引入进化因子,将整个算法寻优阶段分为四个进化状态,并根据当前进化状态动态地调整步长参数α.其次,引入可解释方法,在运行萤火虫优化算法前先对使用的适应度函数进行解释,通过解释获得适应度函数中各特征的重要性权重,再使用这个权重指导萤火虫的随机移动,使萤火虫能够更快更准地向最优位置移动.

1 相关工作

FA受萤火虫利用光交流的启发,总结了三个简化规则.

Rule 1.所有萤火虫都是雌雄同体,它们都向着更亮的萤火虫移动,最亮的萤火虫随机移动.

Rule 2.萤火虫之间的相对吸引力与萤火虫的亮度成正比,与距离成反比.

Rule 3.萤火虫的亮度由目标问题的适应度函数值决定.亮度越高,表示目标函数值越优.

FA有两个非常重要的部分:亮度和吸引力.亮度的高低决定当前解的优劣程度以及对其他个体的吸引程度,萤火虫通过相对亮度的比较进行移动.萤火虫i相对萤火虫j的荧光亮度为:

Iijrij=Iie-γrij

其中,Ii是萤火虫i的绝对亮度,对应萤火虫i所在位置的适应度函数的值.γ为光强吸收系数,因为荧光会随着距离的增加和传播媒介的吸收而逐渐减弱,所以γ0,,通常设置为1.rij为萤火虫i与萤火虫j之间的距离,通常用欧氏距离来计算:

rij=xi-xj=k=1dxi,k-xj,k2

其中,d为解空间的维度,xi,xj表示两个萤火虫在解空间中的位置.当Iijrij>Ij时,萤火虫j被萤火虫i吸引.萤火虫j向萤火虫i移动来更新原有位置,位置的更新为:

xjt+1=xjt+βijrijxit-xjt+αrand-12

其中,t为算法的迭代次数;xjt+1为萤火虫j在第t+1次迭代的位置;α为随机移动步长,α[0,1]为常数;rand0,1上服从均匀分布的d维随机因子;βijrij表示萤火虫i对萤火虫j的吸引力.吸引力的计算如下:

βijrij=β0×e-γrij2

其中,β0为最大吸引力因子,表示光源处r=0萤火虫的吸引力,通常为1.当萤火虫位置超出了位置边界时对其进行越界处理,处理方法为:

xi=xminxi<xminxmaxxi<xmax

其中,xmaxxmin为搜索空间的最大值和最小值.

FA的主要步骤如下.

Step 1.随机生成初始萤火虫种群xii=1,,nn为种群大小.

Step 2.计算每只萤火虫的亮度.

Step 3.每一只萤火虫都与种群中其他萤火虫进行亮度比较,找到比自身亮度更高的萤火虫并根据式(3)进行位置移动.对于越界的萤火虫则根据式(5)进行越界处理.

Step 4.为移动过的萤火虫重新计算亮度.

Step 5.如果迭代结束返回最优的萤火虫,否则跳转Step 3.

尽管FA在多个优化问题中表现出色,但仍然存在一些局限性.为了解决这些问题,许多研究者提出了不同的改进策略,主要分为三类:一是自适应参数调整策略,二是改进的吸引模型,三是将FA与其他算法进行融合.

第一类中,Fister et al12提出一种方法,其中每代的步长因子等于初始步长因子与一个位于0,1的数字的若干次乘积,还引入吸引力的最小值并对吸引力的计算进行调整,不仅能确保个体保持吸引力,也能防止吸引力过大而导致的振荡现象.Yu et al13提出一种步长因子调整机制,利用当前的最大、最小和平均适应度作为反馈依据.第二类中,Xu et al14提出一种平均条件部分吸引模型,规定仅当萤火虫的亮度高于平均亮度时才能向其他个体进行学习.第三类中,Long et al15提出一种混合萤火虫算法,将动态随机局部搜索算法与FA相结合.

2 提出的方法

实际问题中很多待优化函数具有多峰、高维等属性,函数中每一维的重要性也不相同,传统FA在优化这类问题时容易陷入局部最优,寻优精度难以提升.造成这种现象的原因有很多,在固定步长内随机地进行移动是其中之一.固定步长内的随机移动不能很好地适应FA在求解优化问题过程中的各个阶段,并且随机移动全凭运气,缺乏指导性.本文结合进化因子和可解释方法提出一种新的萤火虫方法X⁃FA,解决了传统FA随机移动无目的性的问题,并动态调整步长以适应优化的不同阶段.

2.1 基于进化因子的动态步长规划

受Zhan et al16的进化状态估计(ESE)技术中进化因子的启发,将整个算法求解过程分为四个阶段(探索,开发,收敛,跳出).各阶段的估计方法为:

Step 1.计算每只萤火虫与其他萤火虫的平均距离:

di=1n-1j=1,ijnrij

Step 2.将最亮的萤火虫与其他萤火虫之间的平均距离记为dg.通过比较所有的平均距离,获得最大平均距离dmax和最小平均距离dmin.利用获得的平均距离计算进化因子f,计算如下:

f=dg-dmindmax-dmin0,1

Step 3.通过进化因子f分别计算当前阶段为四个阶段中某个阶段的概率,选取概率最大的阶段作为当前进化阶段.各阶段概率的计算如下:

uS1f=5×f-20.4<f0.61 0.6<f0.7-10×f+80.7<f0.80else
uS2f=10×f-20.2<f0.31 0.3<f0.4-5×f+30.4<f0.60else
uS3f=10f0.1-5×f+1.50.1<f0.300.3<f1
uS4f=00f0.75×f-3.50.7<f0.910.9<f1

根据当前萤火虫所处的不同阶段给予不同的步长.在探索阶段增大步长,使每只萤火虫尽可能地找到自身周围的最优位置.在开发阶段逐渐降低步长,使萤火虫在自身随机探索的同时,向最亮的萤火虫靠近.在收敛阶段将步长降到最小,使萤火虫更多地受到最亮萤火虫吸引,达到更快地找到当前区域局部最优解的目的.在跳出阶段,该阶段出现的原因是最优解的位置发生改变,此时增大步长使萤火虫更快地随机移动,以达到快速找到新的最优解位置的目的.具体的动态步长的调整如下:

αS1t=u1×t-tS1+0.3tS1ttS1+0.2u10.5else
αS2t=0.3-u2×t-tS2tS2ttS2+0.1u10.2else
αS3t=0.2-u1×t-tS3tS3ttS3+0.1u20.1else
αS4t=u3×t-tS4+0.5tS4ttS4+0.2u30.7else

其中ts1,ts2,ts3,ts4分别表示探索阶段、开发阶段、收敛阶段、跳出阶段开始的时候;u1,u2,u3为步长变化因子,满足条件u2<u1<u3.每次迭代的随机步长值为:

αt=αS1t        探索阶段αS2t        开发阶段αS3t        收敛阶段αS4t        跳出阶段

2.2 基于可解释的随机移动

传统FA随机移动无目的性,受当前可解释研究的启发,将可解释与FA相结合.在算法进行求解前,先使用可解释方法对适应度函数进行解释,获得适应度函数各维的重要性权重,使用这一权重指导萤火虫随机移动.本文使用的可解释方法为SHAP(Shapley Additive Explanation),SHAP是Lunderg在2017年受合作博弈论的启发,构建的一种加性解释模型,其核心功能便是计算每个特征的SHAP value.将所有的特征都视为“贡献者”,对于每个预测样本模型都产生一个预测值,SHAP value就是该样本中每个特征所分配到的数值,反映了各特征对于整个模型的预测能力贡献度.SHAP将模型的预测结果解释为每个输入特征的归因值(SHAP value)之和,即:

y^=ϑ0+i=1Mϑi

其中,y^是模型的预测结果,ϑi是每一维的归因值,ϑ0是所有训练样本的预测均值.这种解释模型消除了各个模型间的结构差异带来的解释性差异,所有样本的每维平均绝对归因值就是该维的贡献度.使用SHAP对适应度函数进行解释,获得该函数中每一维贡献度.令适应度函数中每一维的贡献度为wshap,其反映了每一维在函数中的重要性.各维归因值(SHAP values)的大小受模型值域大小的影响,需要对每一维的贡献度进行归一化处理.归一化后的贡献度记为wshap_normalized

wshap_normalized=wshap-minwshapmaxwshap-minwshap

归一化后的贡献度中至少有一维为0,所以需要再加上一个初始权重dx,使萤火虫在每一维上都能随机移动.实验发现,dx设置为0.6~0.8为宜.令加上初始权重后的贡献度为重要性权重,记为wx

wx=wshap+dx

2.3 改进萤火虫算法X⁃FA

结合上文的动态步长规划与基于可解释方法的随机移动,提出一种改进的进化因子和可解释的萤火虫算法X⁃FA.该方法修改了传统的萤火虫位置更新公式,改进萤火虫的更新公式如下:

xjt+1=xjt+βijrijxit-xjt+αtwxrand-12

其中,αt,wx分别为动态步长与重要性权重,由式(10)式(13)计算得出.

X⁃FA的执行步骤如下.

Step 1.初始化参数.萤火虫的数量为n,问题的维度为d,光强吸收系数为γ,最大吸收力因子为β0,最大迭代次数为K,初始重要性权重为dx,步长变化因子为u1,u2,u3.

Step 2.获取重要性权重.使用SHAP对适应度函数进行解释,获得每一维的平均贡献度wshap,并用式(12)式(13)计算重要性权重wx.

Step 3.初始化种群.随机在搜索空间中生成萤火虫种群的初始位置xii=1,,n.通过个体初始位置计算萤火虫的适应度函数值,并作为萤火虫各自的最大荧光亮度I0,同时找出当前适应度函数值中的最优值,记为fbest.

Step 4.动态步长计算.通过式(6)式(7)计算当前的进化因子,并根据式(8)计算当前阶段的各状态概率,选取概率最大的状态作为当前阶段状态.根据当前阶段状态,通过式(10)计算当前步长.

Step 5.位置更新.遍历种群中的每只萤火虫,通过式(1)计算其他萤火虫对它的相对荧光亮度Iijrij,并与自身的最大荧光亮度Ij相比较.如果Iijrij<Ij,萤火虫被吸引,根据式(14)更新萤火虫位置并重新记录当前最优适应度函数值fbest.

Step 6.边界处理.对于越界的萤火虫位置,使用式(5)进行越界处理.

Step 7.当满足收敛条件或者达到最大迭代次数,跳转到Step 8,否则跳转到Step 4.

Step 8.算法迭代完成,输出当前最优适应度函数值fbest.

3 实验

在六个测试函数上分析和验证X⁃FA的收敛速度与寻优能力,并与FAEC11,WSSFA13,VS⁃SFA17,LVFA18以及传统FA进行对比测试.

3.1 测试函数

因X⁃FA在寻优过程中用到了每一维在测试函数中的重要程度,实际寻优问题中每一维的重要性也往往不同,但一些常用的测试函数每一维的重要性是相同的,所以对其进行了改造.实验中使用的测试函数如下.

(1)改造Sphere:

f1X=i=1Di×xi2

搜索维度D=10理论最优值为0,搜索空间为-100,100D.

(2)改造Rastrigin:

f2X=i=1Di×xi2-10×cos2πxi+10

搜索维度D=10,理论最优值为0,搜索空间为-5.12,5.12D.

(3)改造Step:

f3X=i=1Di×xi+0.52

搜索维度D=10,理论最优值为0,搜索空间为-100,100D.

(4)改造Schwefel 2.21:

f4X=max1×x1,2×x2,3×x3,,D×xD

搜索维度D=10,理论最优值为0,搜索空间为-5.12,5.12D.

(5) Rosenbrock:

f5X=i=1D-1100xi+1-xi22+xi-12

搜索维度D=10,理论最优值为0,搜索空间为-10,10D.

(6) Penalized 1:

f6X=πD10sin2πy1)+i=1D-1yi-121+sin2πyi+1+i=1Duxi,10,100,4
yi=1+xi+14
uxi,a,k,m=kxi-am,                xi>a    0,                          -axiak-xi-am,          xi<-a  

搜索维度D=10,理论最优值为0,搜索空间为-10,10D.

3.2 计算适应度函数可解释权重

SHAP可解释方法在解释测试函数时有两个难点.

(1) SHAP在解释模型时需要样本的参与才能运行.本文以空间坐标为样本特征,将通过测试函数与坐标计算出来的函数值为样本标签,分别在六个测试函数的搜索空间范围内随机生成1000个数据样本.

(2) SHAP解释的模型必须能批量预测.本文对测试函数进行包装,使其成为一个输入一批样本特征返回一批样本标签的测试函数模型.

根据生成的样本和测试函数模型,使用SHAP进行特征解释,通过解释获得的各特征平均贡献度如图1所示.

3.3 寻优精度分析

对六个测试函数分别使用X⁃FA,FAEC,WSSFA,VSSFA,LVFA和传统FA进行寻优求导解.因为寻优效果与初始随机生成的萤火虫种群位置相关,为了避免结果的随机性,分别对六个算法与六个测试函数进行了30次寻优实验.寻优实验中六个算法的参数设置如表1所示.

实验中函数f1~f6的维数设置为10.根据测试函数寻优难度的不同,设置不同的最大迭代次数,f1~f4的最大迭代次数为300,f5,f6的最大迭代次数为500.平均测试结果如表2所示,表中黑体字表示结果最优.

由表可见,对于简单测试函数f3,六个算法都能找到理论最优值.在f1,f2f6中,X⁃FA的测试结果最优;在f4中,X⁃FA获得了次优的测试结果.因此,与现有方法相比,X⁃FA具有较高的寻优精度.从表2中也可以看出,当测试函数中每一维的重要性差异较大时,X⁃FA能够有更好的表现.

3.4 寻优速度分析

针对以上六个测试函数进行寻优分析,各算法的参数设置与3.3一样.

图2展示了六种寻优方法在六个测试函数上的寻优曲线.由图可见,在六个测试函数上,X⁃FA都能在最少的迭代次数下搜索到全局最优解.从图2a、图2b和图2d可以直观地看出,在每一维重要性差异比较大时,寻优速度都能最快地收敛并趋于稳定;在图2c、图2e和图2f中也能较快地收敛,但因每一维的重要性差异不大,所以在图像中并不是特别明显.总体上,X⁃FA在寻优问题的每一维差异性较大时拥有较快的寻优速度和较高的寻优精度,对于差异性不大的寻优问题,也能保持一个比较好的效果.

4 结论

本文针对FA后期收敛速度慢、寻优精度较低,且萤火虫随机移动无目的性的问题,提出一种基于进化因子与可解释方法的改进萤火虫算法(X⁃FA).为了解决后期收敛速度慢、寻优精度较低的问题,引入了进化因子,将整个寻优过程划分为四个阶段,并在不同的阶段动态计算移动步长,使萤火虫能够在优化初始时尽可能地搜索整个搜索空间,在收敛阶段能更快地向最优解收敛.为了解决萤火虫随机移动无目的性的问题,引入可解释方法SHAP,使萤火虫的随机移动具有指导性.实验结果证明了X⁃FA的有效性和优越性.今后的主要侧重点是将可解释方法与其他启发式算法相结合,并将X⁃FA的理论在实际问题中进行应用研究.

参考文献

[1]

Yang X S. Firefly algorithms for multimodal optimization∥Stochastic Algorithms:Foundations and Applications. Sapporo:Springer,2009.

[2]

Yu F ZPan D Z. Multi⁃population firefly algorithm for robot path planning. Control Engineering202229(8):1370-1378.

[3]

Zhang R QLI G QBU S Qet al. Multi⁃energy system joint optimization scheduling based on adaptive learning rate firefly algorithm. Integrated Intelligent Energy202244(7):49-57.

[4]

Altabeeb A MMohsen A MAbualigah Let al. Solving capacitated vehicle routing problem using cooperative firefly algorithm. Applied Soft Computing2021,108:107403.

[5]

Feng Y HLiu J QHe Y C. Dynamic population firefly algorithm based on chaos theory. Journal of Computer Applications201333(3):796-799,805.

[6]

Fu QTong NZhong C Met al. Based on improved evolutionary mechanism of firefly optimization algo⁃rithm. Computer Science201441(3):228-231.

[7]

Fister IYang X S, Fister I,et al. Memetic firefly algorithm for combinatorial optimization∥Bioinspired Optimization Methods and Their Applications. Ljubljana,The Republic of Slovenia:Jozef Stefan Institute,2012:1-14.

[8]

Gandomi A HYang X STalatahari S. Firefly algorithm with chaos.Communications in nonlinear science and numerical simulation201318(1):89-98.

[9]

Yu S HSu S BHuang L. A simple diversity guided firefly algorithm. Kybernetes201544(1):43-56.

[10]

Huang JChen X CWu D R. A switch⁃mode firefly algorithm for global optimization. IEEE Access2018,6:54177-54184.

[11]

李肇基,程科,王万耀,. 一种改进的进化模型和混沌优化的萤火虫算法. 计算机与数字工程201947(7):1605-1612.

[12]

Fister IYang X SFister Iet al. Memetic firefly algorithm for combinatorial optimization. https://arxiv.org/abs/1204.5165,2012-05-10.

[13]

Yu S HSu S BLu Q Pet al. A novel wise step strategy for firefly algorithm. International Journal of Computer Mathematics201491(12):2507-2513.

[14]

Xu G HZhang T WLai Q. A new firefly algorithm with mean condition partialattraction. Applied Intelligence202252(4):4418-4431.

[15]

Long WCai SJiao Jet al. Firefly algorithm for solving constrainedoptimization problems and engineering applications. Journal of Central South University (Science and Technology)201546(4):1212-1260.

[16]

Zhan Z HZhang JLi Y.Adaptive particle swarm optimization. IEEE Transactions on Systems,Man,and Cybernetics,Part B (Cybernetics),200939(6):1362-1381.

[17]

Zhao JChen W PYe J,et al. Firefly algorithm based on level⁃based attracting and variable step size. IEEE Access2020,8:58700-58716.

[18]

Yu S HZhu S LMa Yet al. A variable step size firefly algorithm for numerical optimization. Applied Mathematics and Computation2015,263:214-220.

基金资助

国家自然科学基金(62472220)

南京大学计算机软件新技术全国重点实验室开放课题(KFKT2025B57)

AI Summary AI Mindmap
PDF (976KB)

34

访问

0

被引

详细

导航
相关文章

AI思维导图

/