基于惯性权重的萤火虫算法(IWFA)是在标准萤火虫算法的基础上引入线性递减权重函数的一种改进算法。
一、算法背景与原理
萤火虫算法是一种启发式算法,其灵感来源于萤火虫闪烁的行为。萤火虫通过闪光来吸引其他萤火虫,而吸引力与它们的亮度成正比。亮度又随着距离的增加而减少,因此萤火虫会向更亮的萤火虫移动。基于这一原理,萤火虫算法被用于优化问题,其中亮度与目标函数值相关联,萤火虫通过移动来寻找最优解。
然而,标准萤火虫算法在迭代后期存在一些问题,如萤火虫之间的距离逐渐缩小,导致吸引度逐渐增大,进而使萤火虫个体的移动距离过大,无法到达或错过最优位置,造成在极值点附近震荡的问题。为了解决这一问题,引入了惯性权重。
前面已经讨论了四种萤火虫算法变种,主要是从不同的应用角度出发:
(1)离散萤火虫算法(DFA):在离散空间中,萤火虫的亮度代表解的优劣,较亮的萤火虫吸引较暗的萤火虫向其移动,从而逐步找到更优的解。详情可以看我的文章:改进萤火虫算法之一:离散萤火虫算法(Discrete Firefly Algorithm, DFA)-CSDN博客
(2)多目标萤火虫算法(MOFA):在多目标优化问题中,根据综合目标函数或Pareto支配关系计算每只萤火虫的亮度。并使用MOFA算法来寻找Pareto最优解集,实现多目标的均衡。详情可以看我的文章:改进萤火虫算法之二:多目标萤火虫算法(Multi-Objective Firefly Algorithm,MOFA)-CSDN博客
(3)混沌萤火虫算法(Chaos Firefly Algorithm,CFA):根据混沌映射函数生成混沌序列,在各计算步骤过程中,使得算法具有更高的搜索多样性,有助于避免算法陷入局部最优解,能够更好地找到全局最优解。详情可以看我的文章:改进萤火虫算法之三:混沌萤火虫算法(Chaos Firefly Algorithm,CFA)-CSDN博客
(4)拉格朗日萤火虫算法(Lagrange Firefly Algorithm,LFA):结合了萤火虫算法与拉格朗日乘子法,主要用于解决具有复杂约束条件的优化问题。详情可以看我的文章:改进萤火虫算法之四:拉格朗日萤火虫算法(Lagrange Firefly Algorithm,LFA)-CSDN博客
二、惯性权重的引入与作用
在基于惯性权重的萤火虫算法中,通过引入线性递减权重函数来控制萤火虫以前位置信息对当前位置的影响。权重的大小决定了萤火虫移动的距离,并加强了萤火虫算法的全局寻优和局部搜索能力。
具体来说,惯性权重分为最大权重和最小权重,以及当前迭代步数和最大迭代步数MaxGeneration。位置更新公式变为:
其中,表示萤火虫的当前位置,表示萤火虫的位置(为比更亮的萤火虫),为吸引度系数,为随机项系数,为[0,1]之间的随机数。为惯性权重,其计算公式为:
随着迭代的进行,惯性权重从最大权重逐渐减小到最小权重。当权值取值较大时,萤火虫当前的位置会对下一步要移动的位置有较大的影响,萤火虫间的吸引度影响相对较小,全局寻优能力增强,局部搜索能力相对减弱。反之,萤火虫当前的位置会对下一步要移动的位置影响较小,萤火虫间的吸引度影响相对较大,全局寻优能力减弱,局部搜索能力相对增强。
三、算法的数学表达
1.基本数学表达
萤火虫算法的基本思想是通过模拟萤火虫之间的相互作用来寻找最优解。在IWFA中,萤火虫的位置更新公式为:
标签:Firefly,IWFA,Algorithm,权重,惯性,算法,萤火虫 From: https://blog.csdn.net/lzm12278828/article/details/145031159