1.摘要
元启发式算法的搜索域总是在不断变化,这使得适应多样化的优化问题变得困难。为了克服上述问题,提出了一种称为记忆回溯策略(Memory Backtracking Strategy,MBS)的进化更新机制,该机制包括思考阶段、回忆阶段和记忆阶段。总体而言,MBS的采用通过引入群体记忆、线索回忆和记忆遗忘机制,提升了元启发式算法的效率。这些策略提高了算法探索搜索空间、优化搜索过程以及逃避局部最优解的能力。
2.MBS策略
生命特征帮助人类从婴儿期就能区分生物和非生物,这种能力从进化的视角看是关键的生存工具。人类的感知系统优先处理生命信息,有助于适应环境。记忆在这个过程中扮演核心角色,包括自由回忆、识别和线索回忆。遗忘被视为记忆的一种功能,有助于适应不断变化的环境。
MBS将生物记忆机制应用于算法优化的方法,通过比较个体和事件、将适应性值与事件结果关联,以及将个体各维度值与条件相匹配。使用记忆周期的概念,通过限制记忆周期的数量来扩大单个周期的记忆容量,以提高回忆效率但增加回忆时间。MBS还模拟生物遗忘过程,优先遗忘不良记忆,从而更快适应新环境。
思维阶段
MBS模型首先通过回忆阶段确定是否有先前的经验。若无先前经验,直接计算适应性值并进入记忆阶段;若有,利用记忆结果作为新方法的结果,并尝试新的方法,再次经历回忆阶段以验证经验。算法在记忆内容有限的早期阶段不会执行记忆导向机制,而是执行记忆混淆机制,并在发现过去的经验后模拟生物行为,部分改变过程。h代表需要改变的过程数量,j代表需要改变的过程。
j = { w 1 , w 2 , . . . , w h } w = r a n d p e r m ( dim ) h = c e i l ( dim / 5 ) p o p n e w = p o p ( i , : ) j=\{w_1,w_2,...,w_h\}\\ w=randperm(\dim)\\ h=ceil(\dim/5)\\ popnew=pop(i,:) j={w1,w2,...,wh}w=randperm(dim)h=ceil(dim/5)popnew=pop(i,:)
其中,j 是 h 维中不重复的下标索引,取 w 的前 h 个值。popnew 是第 i 个个体的新位置,其初始值与第 i 个个体 pop(i,:) 一致。
为了模拟生物体渴望获得更好的结果并试图改变已知过程的行为,采用了记忆混淆机制。当个体回忆成功且a≤r1时:
p
o
p
n
e
w
(
j
)
=
p
o
p
(
i
,
j
)
+
s
t
e
p
(
j
)
,
a
≤
r
1
s
t
e
p
(
j
)
=
tan
(
π
∗
(
r
2
−
0.5
)
)
∗
(
u
b
(
j
)
−
l
b
(
j
)
)
/
log
2
(
F
E
s
)
\begin{aligned}&popnew(j)=pop(i,j)+step(j),a\leq r_{1}\\&step(j)=\tan(\pi*(r_{2}-0.5))*(ub(j)-lb(j)) /\log_{2}(FEs)\end{aligned}
popnew(j)=pop(i,j)+step(j),a≤r1step(j)=tan(π∗(r2−0.5))∗(ub(j)−lb(j))/log2(FEs)
为了模拟生物体渴望获得更好的结果并试图接近记忆中更好的位置的行为,引入了一种面向记忆的机制。当个体如此成功地回忆且a>r1时:
p
o
p
n
e
w
(
j
)
=
∑
m
i
=
M
M
m
a
x
M
e
m
o
r
y
(
m
i
,
j
)
/
(
M
m
a
x
−
M
+
1
)
,
a
>
r
1
M
=
M
max
−
c
e
i
l
(
dim
∗
(
3
/
2
−
r
3
)
)
popnew(j)=\sum_{mi=M}^{M\mathrm{max}}Memory(mi,j) / (M\mathrm{max}-M+1),a>r_1\\ M=M\text{max}-ceil(\text{dim}*(3 / 2-r_3))
popnew(j)=mi=M∑MmaxMemory(mi,j)/(Mmax−M+1),a>r1M=Mmax−ceil(dim∗(3/2−r3))
其中 Mmax 是记忆大小的上限,其值为评估次数最大值的5%,Memory 是记忆中个体的位置。
回忆阶段
在回忆阶段,通过逐渐根据线索进行回忆,如果线索中断,则判断为无匹配经验。此过程通过模拟图示,用绿色虚线表示相等的值,红色虚线表示不等。特定的记忆索引和当前回忆维度用于筛选与输入数据匹配的记忆数据。若最终记忆索引缩减至单一值,则直接比较该记忆数据与输入数据的所有维度,以确认是否存在匹配结果。
记忆阶段
在记忆阶段,记忆位置索引(Mw)会在超过最大记忆容量(Mmax)时重置为起始位置。此阶段中,基于每个记忆周期的回忆和思考过程,系统会优先遗忘表现较差的记忆,并在之后遗忘表现较好的记忆。所有记忆会根据适应性值进行排序,适应性较低的记忆将被放在前面以便优先覆盖,从而有效管理记忆资源。
流程图
MBS改进算法与基本算法区别
3.结果展示
作者上传的Github链接已撤销,故复现一下MBS改进策略,应用到海洋捕食者算法MPA。
4.参考文献
[1] Jia H, Lu C, Xing Z. Memory backtracking strategy: An evolutionary updating mechanism for meta-heuristic algorithms[J]. Swarm and Evolutionary Computation, 2024, 84: 101456.