1.摘要
元启发式算法(MH)是一种受自然启发的全局优化算法。这些算法通常相对简单,能在短时间内解决问题,带来一定的益处。然而,随着问题复杂度的增加,算法能够获得的解通常不是问题的最优解,这限制了它的应用场景。因此,提高现有算法的性能和解决精度对于扩大它们的应用能力至关重要。在传统优化算法中,通常有两个概念,即探索和开发。探索指的是广泛的离散搜索,用于避免陷入局部最优;开发则指的是小范围的集中探索,用于提高算法精度。如何平衡探索与开发是提升算法性能和问题适应性的关键。本文提出了一个全新的策略,名为引导学习策略(GLS),以解决上述问题。GLS通过计算近几代个体历史位置的标准差来获得种群的离散度,并推断算法当前需要什么指导。当算法倾向于探索时,它将指导算法进行开发;否则,它将指导算法进行探索。
2.GLS策略
算法需要通过动态平衡探索和开发来有效解决问题,这类似于教学中的反馈机制。文中提出了一种用于分析和指导算法的机制,其中包括定义反馈结果Vo和参数α,以及设置经验上限Cmax来调整指导的频率和持续时间。算法的当前需求通过计算历史个体(学习经验)的离散度来评估,离散度高表示算法正在探索,而集中则表示正在开发。最后,反馈结果通过标准化处理,使得不同情况下都能使用同一套评价标准。
V o = s t d ( S t ) ∗ B B = 200 / ( u b − l b ) (1) \begin{array}{l}Vo=std(St)*B\\\\B=200/(ub-lb)\end{array}\tag{1} Vo=std(St)∗BB=200/(ub−lb)(1)
St代表学习经验,存储历史中最近的Cmax个个体X,B用于标准化Vo以防止其受到问题上下界变化的影响。位置更新:
X
n
e
w
=
{
X
b
e
s
t
+
tan
(
R
∗
π
)
∗
(
u
b
−
l
b
)
/
V
o
,
V
o
>
α
R
∗
(
u
b
−
l
b
)
,
V
o
≤
α
(2)
Xnew=\left\{\begin{array}{l}Xbest+\tan(R*\pi)*(ub-lb)/Vo,Vo>\alpha\\R*(ub-lb),Vo\leq\alpha\end{array}\right.\tag{2}
Xnew={Xbest+tan(R∗π)∗(ub−lb)/Vo,Vo>αR∗(ub−lb),Vo≤α(2)
在指导阶段,算法将被引导以获得指导结果Xnew。当检测到算法当前的需求是开发(Vo > α)时,将指导算法并利用历史上的最优个体。当检测到算法当前的需求是探索(Vo ≤ α)时,将指导算法并探索全局空间。
伪代码
流程图
3.结果展示
作者上传的Github链接已撤销,故复现一下GLS改进策略,应用到海洋捕食者算法MPA。
4.参考文献
[1] Jia H, Lu C. Guided learning strategy: A novel update mechanism for metaheuristic algorithms design and improvement[J]. Knowledge-Based Systems, 2024, 286: 111402.