【智能算法改进】基于记忆、进化算子和局部搜索的改进灰狼优化算法
优化多模态函数对于进化算法和群智能算法来说是一项挑战,因为这需要有效的探索以找到搜索空间中的潜力区域,以及有效的开发以精确地找到全局最优解。灰狼优化算法(GWO)是一种启发式算法,其灵感来自自然,且调整参数相对较少。然而,GWO及其大多数改进算法可能会有种群多样性不足、早熟收敛和无法在探索与开发行为之间保持良好平衡等问题。本文提出了一种新的GWO改进算法,结合了记忆、进化算子和随机局部搜索技术。此

1.摘要
优化多模态函数对于进化算法和群智能算法来说是一项挑战,因为这需要有效的探索以找到搜索空间中的潜力区域,以及有效的开发以精确地找到全局最优解。灰狼优化算法(GWO)是一种启发式算法,其灵感来自自然,且调整参数相对较少。然而,GWO及其大多数改进算法可能会有种群多样性不足、早熟收敛和无法在探索与开发行为之间保持良好平衡等问题。本文提出了一种新的GWO改进算法,结合了记忆、进化算子和随机局部搜索技术。此外,还集成了线性种群大小缩减技术(LPSR)。
2.灰狼优化算法 GWO
3.改进灰狼优化算法 MELGWO
尽管已经提出了许多GWO的改进算法,但在解决多模态优化问题时,GWO仍然存在收敛慢和陷入局部最优等问题。为了克服这些问题,本文提出了一个新的GWO改进算法(MELGWO),其融合了记忆功能、进化算子、随机局部搜索技术,以及线性种群大小缩减技术(LPSR),旨在提高算法在开发和探索方面的能力,并保持这两者之间的平衡。
记忆功能
GWO中的狼群通过更新位置来寻找最优解,但在原始GWO中,没有设置记忆功能来保存迭代过程中发现的较好解决方案。为了改善这一点,引入了记忆狼群,以存储迭代过程中的较好解。记忆狼群的大小与探索者狼群相同,算法初始化后,计算每只狼的适应度值。将探索者狼群中的狼的当前位置和成本函数存储在记忆狼群中,保留初始的最佳解决方案。每次迭代时,会更新探索者狼群,从中选择更优的狼更新记忆狼群,执行随机局部搜索,并通过线性人口规模减少技术删除适应度较差的个体。
PS:思想类似于PSO中个体最优解
进化算子
自然进程中,生物体通过遗传、选择和突变不断地从低级向高级进化。GWO也引入了进化算子来模拟这一进化过程,以增强算法的搜索效率。在各种基于进化的算法中,差分进化(DE)因其原理简单、参数少且易于执行而被广泛应用。DE策略被采用为GWO的进化方法,其核心在于利用个体间的差异重新排列种群,通过父子个体间的竞争产生新一代,从而实现算法的优化。DE变异算子定义为:
V j ( t + 1 ) = X 3 + F × ( X 2 − X 1 ) V_j^{(t+1)}=X_3+F\times(X_2-X_1) Vj(t+1)=X3+F×(X2−X1)
本文对变异算子进行修正:
V j ( t + 1 ) = X j + F × ( X a l p h a − X j ) V_j^{(t+1)}=X_j+F\times\left(X_{alpha}-X_j\right) Vj(t+1)=Xj+F×(Xalpha−Xj)
其中,比例参数F定义为:
F = f m i n + ( f m a x − f m i n ) × Махі t − ( i t − 1 ) Махі t F=f_{min}+(f_{max}-f_{min})\times\frac{\text{Махі}t-(it-1)}{\text{Махі}t} F=fmin+(fmax−fmin)×МахіtМахіt−(it−1)
将目标个体与变异个体进行交叉,交叉算子定义为:
U j t + 1 = V j t + 1 i f r a n d ( j ) ≤ P c , E l s e U j t + 1 = X j U_j^{t+1}=V_j^{t+1}\quad\mathrm{~if~}rand\left(j\right)\leq Pc,\quad\mathrm{~Else~}U_j^{t+1}=X_j Ujt+1=Vjt+1 if rand(j)≤Pc, Else Ujt+1=Xj
随机局部搜索
在对记忆狼群进行更新后,进行了对随机选择的一半狼群附近的随机局部搜索。通过对记忆狼群的25%、50%和100%执行局部搜索的模拟实验表明,对记忆狼群中前50%的狼进行局部搜索效果最好。局部搜索的具体步骤包括:找出记忆狼群中某只狼的最近邻居(欧式距离);随机生成一个局部狼。
X t , j = X i , j + с 1 × r a n d ( 0 , 1 ) × ( X n , j − X i , j ) X_{t,j}=X_{i,j}+\text{с}1\times rand(0,1)\times(X_{n,j}-X_{i,j}) Xt,j=Xi,j+с1×rand(0,1)×(Xn,j−Xi,j)
评估生成的局部狼的适应度,如果该值低于当前狼的成本函数值,则局部狼替换当前狼在记忆狼群中的位置;如果高于当前狼,则丢弃该局部狼。
线性种群大小缩减技术LPSR
为了提升差分进化算法中基于成功历史的参数适应(SHADE)的效果,研究者引入了线性人口规模减少(LPSR)技术,这是一种确定性方法,用于按线性函数逐步减少算法的人口规模。LPSR是简单可变人口规模(SVPS)技术的简化和改进版本,相较于SVPS和动态人口规模减少(DPSR),LPSR仅需调整一个参数,从而提高了效率。
LPSR根据一个依赖于适应度评估次数(NFEs)的函数线性减少狼群的规模,从初始规模Pint递减至最小规模Pmin:
N G + 1 = r o u n d [ P min P i n t M a x N F E s ] × N F E + P i n t N_{G+1}=round\left[\frac{P_{\min}P_{int}}{MaxNFEs}\right]\times NFE+P_{int} NG+1=round[MaxNFEsPminPint]×NFE+Pint
流程图

伪代码

4.结果展示
CEC2005










5.参考文献
[1] Ahmed R, Rangaiah G P, Mahadzir S, et al. Memory, evolutionary operator, and local search based improved Grey Wolf Optimizer with linear population size reduction technique[J]. Knowledge-Based Systems, 2023, 264: 110297.
6.代码获取
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)