An evolutionary Nelder–Mead slime mould algorithm with random learning
一、Introduction:
1、SMA的不足:
- 后期迭代震荡作用较弱,易陷入局部最优;收缩机制不强,收敛速度较慢;初始种群质量低,探索和开发过程难以平衡。
2.改进算法ISMA:
-
NMs机制:构造更好的候选解,引导个体不断向最优解收敛,从而增强SMA的利用能力。NMs可以进一步扫描局部区域的高质量解,提高算法的解的准确性和局部搜索能力。
-
设置监控机制,集成随机学习机制:使陷入局部最优的个体再次跳出。利用随机学习机制的全局搜索能力来丰富SMA的多样性,防止整个种群的停滞。
-
这两种机制的应用增强了SMA的勘探和开发能力。与此同时,两者之间的平衡再次得到维持。
二、 The proposed algorithm
1、 Nelder–Mead simplex (NMs)
- NMS是一种具有强局部搜索能力和无梯度优化解的迭代算法,因此被广泛应用于优化问题。
- 在迭代过程中,NMs可以确保下一次迭代的结果优于上一次迭代。其原理是通过在D维搜索域中选择D+1个顶点来构造一个单纯形,从而形成一个多面体。它的适应度值对这个单纯形的每个顶点进行排序,找到最差的一个,对其进行反射、延伸和收缩,从而形成一个新的单纯形多面体。
具体过程如下所示:
-
准备阶段:首先,确定了可用于计算的几个系数,包括反射系数r、膨胀系数φ、压缩系数β和收缩系数δ。
-
计算每个单位适应度值后,将其按顶点适应度值的递增顺序排序,以获得f(x1)≤ f(x2)≤ f(x3)≤ · · · ≤ f(xg)≤ f(xp)。然后找到适应度排名前两位的顶点位置Xg和Xp。最后,根据公式(17)计算其中心点的位置。
-
基于反射系数r 和等式(18),计算反射点位置Xr,以获得适应度函数值f(Xr)。
-
**扩展阶段:**如果Xr的适应度函数值小于Xg,即f(Xr)<f(Xg),表示反射方向正确。此时进入展开阶段,我们可以使用公式(19)获得展开点Xy。然后比较Xy和Xg的适应度函数值。如果Xy的适应度函数值较小,则Xw=Xy。相反,Xw=Xr。
-
**压缩阶段:**如果Xr小于Xw的适应度函数值,则表示反射方向不正确。此时进入压缩阶段。有必要匹配压缩系数β,并使用公式(20)获得压缩点Xic。如果Xic小于Xw的适应度函数的值,那么Xw=Xic。
-
**收缩阶段:**如果Xw的适应度函数值在Xr和Xp之间,即f(Xr)>f(Xw)>f(Xp)。此时,进入收缩阶段。有必要通过将收缩系数δ与公式(21)匹配来获得收缩点Xoc。如果Xoc小于Xw的适应度函数的值,那么Xw=Xoc。相反,Xw=Xr。
Xoc = Xr + δ(Xic - Xr) (21)
-
用Xw替换最差的解Xg
2、 Random learning mechanism (RLM)
- 任何随机传播模型都可以为我们带来更多的有前途的区域,因此,可以实现更高的可靠性和稳定性。因此,我们加入了一种随机学习机(RLM),以提高原始SMA远离局部最优的能力。通过随机选择人群中的三个不同个体,使用这三个不同的个体更新人群。
具体的数学公式如下所示:
-
图4示出了RLM的原理,其中可以通过公式看出Xnew是从xbest、xti、xtk1、xtk2、xtk3获得的.我们将它们量化为一个向量,并将它们之间的加法和减法运算视为个体对个体的交换;最后,xbest的收缩向量乘以随机数生成新的子代。 -
RLM机制可以极大地增强SMA逃避局部优化的能力。RLM可以有效地促进个体之间的交互,探索更多有前途的搜索领域,增强SMA的全局搜索能力。
3、The proposed SMA-based algorithm
-
在本研究中,SMA将NMS和RLM结合起来,以提高勘探和开发能力。在传统的SMA中,扩展能力有限,导致收敛缓慢。相比之下,NMs开发策略可以进一步扫描更多有前途的搜索空间,从而挖掘高质量的个体和突破原有SMA的开发能力。
此外,建立监控机制,有效避免SMA陷入局部最优,引入随机学习机制,丰富SMA的多样性。
-
ISMA的主要思想可分为四个部分:初始化、种群更新、NMs本地搜索和监控处理。
简要过程如下:
-
**第一步:初始化。**SMA通过公式(23)随机生成初始种群。
其中popsize表示人口规模,X new表示群体中的第i个个体。rand是[0,1]中的一个随机数。UB和LB表示上限和下限。
-
**第二步:种群更新。**X(t+1)种群的位置根据食物来源的浓度进行调,参数a、p、vb、vc不断更新。
-
**第三步:NMs本地搜索。**为了找到最优解的位置,NMs被用来进一步扫描具有高质量解集的局部区域。NMS以最优位置为初始值,在D维搜索空间中选择D+1个顶点,形成主单纯形,从而形成单纯形。
然后,通过对这些D+1顶点的适应度值进行排序来选择最差的一个,并通过反射、延伸、压缩和收缩来更新其位置,以获得更好的解,然后根据μ迭代的NMs单纯形机制更新单纯形,从而生成一个新的单纯形,如式(17)– 式(21)所示。
-
**第四步:监控处理。**在SMA更新后,使用监控机制帮助算法避免陷入局部最优,从而避免陷入局部最优。
具体来说,如果每次生成INV后当前最佳值保持不变,我们将执行RLM,用三个随机生成的个体更新整个儿种群,其中INV设置为3。
-
**第五步:重复步骤2–4,**直到满足终止条件并输出最佳解决方案。
伪代码如下:
-
流程图如下:
三、 参考文献链接
https://www.webofscience.com/wos/alldb/full-record/WOS:000727748600006