Slime mould algorithm: A new method for stochastic optimization
Abstract:
本文基于黏菌在自然界中的振荡模式,提出了一种新的随机优化算法——黏菌算法(SMA)。提出的SMA具有几个新的特点,1)具有独特的数学模型:利用自适应权值模拟基于生物振荡器的黏菌传播波产生正负反馈过程,形成最优的连接食物路径;2)具有优秀的探索能力和开发倾向。
http://www.alimirjalili.com/SMA.html(源代码)
1. Introduction
近几十年来,元启发式算法(MAs)由于在各种优化问题中比确定性算法具有更高的性能和更低的计算能力和时间要求,在许多应用学科中得到广泛应用。要达到良好的效果,需要简单的概念,并且容易移植到不同的学科。一些确定性算法后期缺乏随机性,容易陷入局部最优,而MAs中的随机因素可以使算法搜索搜索空间中的所有最优解,从而有效地避免了局部最优。在线性问题中,一些梯度下降算法,如在[5]中,在利用梯度信息方面比随机算法更有效。MAs的收敛速度低于梯度下降算法,这可以被认为是一种缺点。然而,在非线性问题中,MAs通常从随机生成的解开始优化过程,不需要梯度信息,这使得该算法非常适合于导数信息未知的实际问题。在实际工程中,许多问题的解空间通常是不确定或无限的。在当前情况下,通过遍历解空间来寻找最优解可能是不可行的。MAs通过对巨大的解空间进行随机抽样,以一定的方式检测问题的近似最优解,在有限的情况或计算能力下为优化问题找到或生成更好的解。
MAs通常受到现实世界现象的启发,通过模拟物理规则或生物现象来为优化问题找到更好的启发式解决方案。MAs可分为两大类:基于群的方法和进化技术。第一类主要模仿物理现象,应用数学规则或方法论,包括MVO,CSS,GSA,SCA,TLBO,CFO,TS。自然启发的方法主要包括两类:进化方法和智能群体技术。 进化算法(EA)的灵感来源于自然界生物的进化过程。与传统优化算法相比,它是一种鲁棒性和适用性较好的全局优化方法。
EA类中广泛应用的算法有遗传算法(GA)、遗传规划(GP)、进化策略(ES)、进化规划(EP)和差分进化(DE)。ES和EP以及群体智能方法在科学研究和实际问题中的应用也越来越广泛。群体智能(SI)包括一种集体或社会智能,它人工模拟自然界中生物集群的分散或自组织系统的集体行为。在这类算法中,灵感通常来自自然界中具有集体行为和智慧以达到某种目的的生物群体。这类算法包括:粒子群优化(PSO),蝙蝠启发算法(BA),灰狼优化(GWO),果蝇优化(FOA),飞蛾扑火优化(MFO),蚁群优化(ACO),哈里斯鹰优化(HHO)和人工蜂群(ABC)。进化方法和SI方法的分类示意图如图1所示。


不同的MAs虽然有一定的区别,但在搜索层次上都有两个相同的阶段:exploration和exploitation。Exploration阶段是指尽可能广泛、随机和全局地搜索解决方案空间的过程。Exploitation阶段是指算法在exploration阶段获得的区域内进行更精确搜索的能力,其随机性降低而精度提高。当算法的exploration能力占主导地位时,它可以更随机地搜索解空间,产生更多的差分解集来快速收敛。当算法的exploitation能力占主导地位时,它进行更局部的搜索,以提高解集的质量和精度。然而,当exploration设施得到改善时,exploitation能力就会降低,反之亦然。另一个挑战是,这两种能力的平衡对于不同的问题不一定是相同的。因此,要在这两个对所有优化问题都有效的阶段之间取得适当的平衡是比较具有挑战性的。
尽管传统和最新的MAs都取得了成功,但它们都不能保证找到所有优化问题的全局最优解。“没有免费午餐”(NFL)理论从逻辑上证明了这一点。这个定理激励了众多的研究人员设计一种新的算法,以更有效地解决新类型的问题。为了提出一种更通用和高效的算法,本文引入了一种新的元启发式算法: The slime mould algorithm (SMA)。该方法是由黏菌的扩散和觅食作用引起的。33个基准函数和4个制造设计问题,严格验证了SMA的有效性和鲁棒性。
2. Slime mould algorithm
2.1. Originality
在本文之前也有学者提出了类似的命名算法,但是算法是设计方式和使用情况与本文所提出的算法相当不同。Monismith和Mayfield [32]通过模拟amoeba Dictyostelium discoideum的五个生命周期:营养状态、聚集状态、堆状状态、段塞状态和分散状态,并使用ε-ANN构建初始的基于位置的网格,解决了单目标优化问题。Li等人[33]提出了一种利用两种黏菌管状网络来对应另种不同区域路由协议来构建无线传感器网络的方法。Qian等人[34]将绒袍菌网络和蚁群系统结合,提高了算法避免局部最优的能力以更好得解决商旅问题(TSP)。受到黏菌扩散的启发。Schmickland Crailsheim [35] 为群体机器人设计了一种仿生导航原理。Becker [36] 通过模拟黏菌多头绒泡菌的觅食过程,生成低成本且容错的图。从上面的讨论可以看出,大多数建模的黏菌算法都用于图论和生成网络。这种生命体也启发了优化领域的研究人员。用于优化的算法[32]模拟了amoeba Dictyostelium discoideum的五个生命周期,但文中实验和证明略少。
本文提出的SMA主要模拟黏菌绒泡菌(Physarum polycephalum)在觅食过程中的行为和形态变化,并没有模拟其完整的生命周期。同时,利用SMA中的权重来模拟黏菌在觅食过程中产生的正负反馈,从而形成三种不同的形态类型,是一个全新的思路。
2.2. Concepts
文中所提到的黏菌通常是指多头绒泡黏菌。由于它首先被归类为真菌,因此被命名为黏菌,其生命周期最早由Howard[38]在1931年发表的论文中描述。黏菌是一种生活在寒冷潮湿环境中的真核生物。主要研究黏菌的nutritional阶段:Plasmodium,是黏菌的活跃和动态阶段。在这一阶段,黏菌中的有机物寻找食物,包围食物,分泌酶消化食物。在迁移过程中,前端延伸成扇形,随后是一个相互连接的静脉网络,允许细胞质流入内部,如图2所示。由于它们独特的形态和特点,它们可以同时使用多个食物来源,形成一个连接它们的静脉网络。如果环境中存在足够多的食物源,黏菌可以长到900多平方厘米。
由于年菌易于在琼脂和燕麦片上培养[40],因此被广泛用作模式生物。Kamiya等人[41]率先研究了黏菌的细胞质流动过程。他们的工作对我们后续了解黏菌在环境中移动和链接食物的方式有很大帮助。当静脉接近食物源时,生物振荡器产生传播波,增加通过静脉的细胞质流量,细胞质流量越快,静脉越厚。通过这种正负反馈的组合,黏液可以以相对优越的方式建立起连接食物的最优路径。因此,对黏菌进行了数学建模,并将其应用于图论和路径网络中。
黏菌的静脉结构是随着收缩方式的相位差而发展的,因此静脉结构的形态变化与黏菌的收缩方式之间存在三种相关性:
1) 当收缩频率由外向内变化时,粗脉大致沿半径形成。
2) 当收缩模式不稳定时,各向异性开始出现。
3) 当黏菌的收缩形态不再随时间和空间有序时,静脉结构也就不复存在。
因此,黏菌的静脉结构与收缩模式之间的关系与自然形成的细胞形状是一致的。每条静脉的厚度是由绒泡菌求解器中细胞质的流动反馈决定的。细胞质流量的增加导致静脉直径的增加。当流量减少时,静脉收缩,因为直径减小。黏菌可以在食物浓度较高的地方建立更强的路径,从而确保它们获得最大浓度的营养。近年来的研究也表明,黏菌具有基于优化理论进行觅食安排的能力。当各种食物源的质量不同时,黏菌可以选择浓度最高的食物源。然而,黏菌在觅食过程中也需要权衡速度和风险。例如,黏菌需要更快地做出决定,以避免环境对它们造成损害。实验表明,决策速度越快,黏菌找到主要食物源的可能性越小。因此,在确定食物来源时,黏菌显然需要权衡速度和准确性。
黏菌在觅食时需要决定何时离开这个区域在另一个区域搜索。当缺乏完整的信息时,黏菌基于当前可用信息采用启发式或经验规则估计何时离开当前位置。实验发现,当黏菌遇到高质量的食物,其离开当前区域的可能性也会降低。然而,由于它独特的生物特征,黏菌可以同时利用多种食物源。因此,即使黏菌已经找到了较好的食物源,当发现更高质量的食物时,它仍然可以分割生物量的一部分来同时开发这两种资源。
黏菌还可以根据食品源质量动态调整其搜索模式。当食物源质量较高时,黏菌会使用区域限制搜索方法,从而将搜索重点放在已经发现的食物源上。如果最初发现的食物来源质量较低,黏菌就会离开食物来源,到该地区寻找其他可替代的食物来源。当不同质量的食物块分散在一个区域时,这种自适应搜索策略可以更好地体现出来。上面提到的黏液霉菌的一些机理和特性将在后面的章节中进行数学建模
2.3. Mathematical model
2.3.1. Approach food
黏菌可以根据空气中的气味接近食物。为了用数学公式表达其趋近行为,提出以下公式来模拟收缩模式:
其中
v
b
⃗
ϵ
[
−
a
,
a
]
\vec{vb}\epsilon\left[-a,a\right]
vbϵ[−a,a],
ν
c
⃗
\vec{\nu c}
νc从1到0线性递减,
t
t
t表示当前迭代次数,
X
b
⃗
\vec{X_b}
Xb 当前发现的气味浓度最高的个体位置,
X
⃗
\vec{X}
X表示当前个体位置,
X
A
⃗
,
X
B
⃗
\vec{X_A},\vec{X_B}
XA,XB表示黏菌中随机选出的两个个体,
W
⃗
\vec{W}
W黏菌权值。
p
p
p 如下:
p
=
tanh
(
S
(
i
)
−
D
F
)
(
2.2
)
p=\tanh{\left(S\left(i\right)-DF\right)}\quad \quad (2.2)
p=tanh(S(i)−DF)(2.2) 其中
i
∈
(
1
,
2
,
⋯
,
n
)
i\in\left(1,2,\cdots,n\right)
i∈(1,2,⋯,n),
S
(
i
)
S\left(i\right)
S(i)是
X
⃗
\vec{X}
X适应值,
D
F
DF
DF所有迭代中获得的最佳适应值。
v
b
⃗
\vec{vb}
vb 如下:
v
b
⃗
=
[
−
a
,
a
]
(
2.3
)
\vec{vb}=\left[-a,a\right]\quad\quad(2.3)
vb=[−a,a](2.3)
a
=
a
r
c
t
a
n
h
(
−
(
t
m
a
x
t
)
+
1
)
(
2.4
)
a=arctanh\left(-\left(\frac{t}{max_t}\right)+1\right)\quad\quad(2.4)
a=arctanh(−(maxtt)+1)(2.4)
W
⃗
\vec{W}
W公式为:
S
m
e
l
l
I
n
d
e
x
=
s
o
r
t
(
S
)
(
2.6
)
SmellIndex=sort(S)\quad\quad(2.6)
SmellIndex=sort(S)(2.6)其中
c
o
n
d
i
t
i
o
n
condition
condition表示种群
S
(
i
)
S\left(i\right)
S(i)排序前一半,
r
r
r表示随机值
r
∈
[
0
,
1
]
r\in\left[0,1\right]
r∈[0,1],
m
a
x
t
max_t
maxt表示最大迭代,
b
F
bF
bF表示当前迭代过程所获得的最优适应值,
ω
F
\omega F
ωF表示当前迭代过程得到的最坏适应值,
S
m
e
l
l
I
n
d
e
x
SmellIndex
SmellIndex表示排序的适应度值序列(在最小值问题中升序)。
图3给出了式(2.1)的可视化结果。当前个体的位置
X
⃗
\vec{X}
X 根据所得到的最佳位置
X
b
⃗
\vec{X_b}
Xb更新,并且参数
v
b
⃗
\vec{vb}
vb,
v
c
⃗
\vec{vc}
vc和
W
⃗
\vec{W}
W可以改变个体位置。图3 还被用来说明正在搜索的个体再三维空间的变化。公式中的Rand可以使个体在任意角度形成搜索向量,即任意方向搜索解空间,使算法具有找到最优解的可能性。因此,式(2.1)使搜索个体向最优解附近的所有可能方向搜索,从而模拟黏菌在接近食物时的圆形扇形结构。将这一概念扩展到超维空间也同样适用。
2.3.2. Wrap food
这部分对搜索时黏菌静脉组织结构的收缩方式进行了数学模拟。与静脉接触的食物浓度越高,生物振荡器产生的波越强,细胞质流动越快,静脉越厚。Eq.(2.5)数学模拟了黏菌脉宽与所探究的食物浓度之间的正负反馈关系。式(2.5)中的
r
r
r分量模拟了静脉收缩方式的不确定性。
l
o
g
log
log用来缓和数值的变化率,使收缩频率的值变化不大。
c
o
n
d
i
t
i
o
n
condition
condition模拟黏菌根据食物的质量调整它们的搜索模式。当食物浓度为含量时,靠近区域的权值较大;当食物浓度较低时,该区域的权重会降低,从而转向探索其他区域。图4为黏菌适应度值的评估过程。



其中 L B LB LB 和 U B UB UB表示搜索区域的上下界, r a n d rand rand和 r r r表示 [ 0 , 1 ] [0,1] [0,1]的随机数; z z z的设置在实验中讨论。
2.3.3. Oscillation
黏菌主要依靠生物振荡器产生的传播波来改变叶脉内的细胞质流动,使其趋向于较好的食物浓度位置。使用
W
⃗
\vec{W}
W,
v
b
⃗
\vec{vb}
vb,
v
c
⃗
\vec{vc}
vc模拟黏菌静脉宽度的变化。
W ⃗ \vec{W} W 对黏菌在不同食物浓度下接近1的振荡频率进行数学模拟,使黏菌在找到优质食物时能够更快地接近食物更快,而在个体位置食物浓度较低时接近食物更慢,从而提高黏菌选择最佳食物来源的效率。
v b ⃗ \vec{vb} vb的值在 [ − a , a ] [−a, a] [−a,a]之间随机振荡,随着迭代次数的增加逐渐趋于零。 v c ⃗ \vec{vc} vc在 [ − 1 , 1 ] [-1,1] [−1,1]随机振动,最终趋近于0。两个值的变化趋势如图5所示。 v b ⃗ \vec{vb} vb和 v c ⃗ \vec{vc} vc之间的协同作用模拟了黏菌的选择行为。为了找到更好的食物来源,即使黏菌已经找到了更好的食物来源,它仍然会分离一些有机物去探索其他区域,试图找到更高质量的食物来源,而不是把所有的有机物都投入到一个来源上。
此外, v b ⃗ \vec{vb} vb的振荡过程模拟了黏菌决定是接近食物源还是寻找其他食物源的状态。同时,探索食物的过程并不平滑。在此期间可能会遇到各种各样的障碍,例如限制黏菌传播的光照和干燥环境。然而,这也改善了黏菌找到更高质量食物的可能性,并避免了陷入局部最优的可能性。
SMA的伪代码如算法1所示。SMA直观详细的过程如图6所示。SMA的一般逻辑如图7所示。



算法中还可以添加许多机制,或者更全面地模拟黏菌的生命周期。但是,为了增强算法的可扩展性,我们简化了算法的过程和运算符,尽可能只留下最简单的算法。
2.3.4. Computational complexity analysis
SAM包括以下几个部分:初始化,适应值估计,分类,权值更新,和位置更新。
N
N
N 表示黏菌细胞数,
D
D
D表示函数维数,
T
T
T表示最大迭代次数。初始化的计算复杂度:
O
(
D
)
O\left(D\right)
O(D),适应值和分类复杂度:
O
(
N
+
N
log
N
)
O\left(N+N\log{N}\right)
O(N+NlogN),权值更新计算复杂度
O
(
N
×
D
)
O\left(N\times D\right)
O(N×D),位置更新过程的计算复杂度:
O
(
N
×
D
)
O\left(N\times D\right)
O(N×D)。SMA总复杂度:
O
(
D
+
T
∗
N
∗
(
1
+
l
o
g
N
+
D
)
)
O\left(D+T\ast N\ast\left(1+logN+D\right)\right)
O(D+T∗N∗(1+logN+D))。
3. Experimental results and analyses
图8给出了SMA处理单峰函数和多峰函数的定性分析结果,直观分析了黏菌在觅食过程中的位置和适应度变化。该图由四个相关指标组成:搜索历史、黏菌在一维内的运动轨迹、黏菌的平均适应度和收敛曲线。搜索历史记录代表了在迭代过程中黏菌的位置和分布。黏菌的运动轨迹揭示了黏液霉菌在一维第一部分位置变化的行为。平均适应度是指黏菌菌落的平均适应度随迭代过程的变化趋势。收敛曲线显示了迭代过程中黏菌的最佳适应度值。
从搜索历史子图中,不同基准函数中的黏菌在最佳值附近聚集了相似的交叉型搜索轨迹,从而在可靠的搜索区域中准确搜索并反映了快速收敛。同时,黏菌的分布主要集中在具有局部最优的多个区域,这表明了黏菌在多个局部最优之间的权衡。
第一个黏菌在第一维度上的轨迹可以作为黏菌其他部分的代表,揭示黏菌的主要探索行为。前期的快速振荡和后期的轻微振荡可以确保黏菌的快速收敛和在最优解附近的精确搜索[52]。从图中可以看出,黏菌的位置曲线在早期迭代过程中具有非常大的振幅,甚至高达勘探空间的50%。在后期迭代阶段,如果函数平滑,则黏菌位置的幅度开始减小;如果函数的幅度发生显著变化,则位置幅度也会发生很大变化。这反映了黏菌在不同功能中的高度适应性和鲁棒性。
通过观察平均适应值曲线,可以直观地观察黏菌适应度在迭代过程中的变化趋势。尽管黏菌的平均适应度曲线是振荡的,但平均适应度值趋于减小,振荡频率与迭代成反比,从而确保了黏菌在前期的快速收敛和后期的精确搜索。
收敛曲线揭示了黏菌搜索的最佳适应度值的平均适应度随迭代而变化。通过观察曲线的下降趋势,我们可以观察黏菌的收敛速度以及它在勘探和勘探等级之间切换的时间。
3.2. Benchmark function validation
本节,在由23个基本函数和CEC2014组成的函数集上对SMA进行了评估。这些函数包括单峰函数、多峰函数、混合函数和复合函数,如表1-3所示。CEC 2014的一些复合函数如图9所示。Dim表示函数的维度;Range表示函数定义域; f m i n f_{min} fmin表示函数最优值。用于比较的MAs包括:WOA,GWO,MFO,BA,SCA,FA,PSO,SSA,MVO,ALO,PBIL,DE;advanced MAs:AGA,BLPSO,CLPSO,CBA,RCBA,COLOBA,m_SCA,LWOA,CSSA。传统Mas的参数设置见表4。参数的选择是根据文章原作者使用的参数或各研究者广泛使用的参数进行的。
所有算法在相同的条件下进行,以达到比较实验的公平性。其中,种群设置为30,维数设置为30,迭代时间设置为1000。为了减少算法中随机因素对结果的影响,所有比较算法在每个函数中分别运行30次,并取平均值作为最终的运行结果。实验结果采用标准差(STD)、平均结果(AVG)和中位数(MED)进行评价。注意,最好的结果将加粗(在并置的情况下取一个)。


3.2.1. Exploitation competence analysis
表5中的数据表明,在求解F1-5、F7和F14时,SMA平均排名第一或并列第一。从图10中可以直观地看到F2和F5的收敛曲线,在所有比较函数中,SMA的收敛趋势最快。表6的数据表明,即使与修正后的MA相比,SMA仍然可以表现出显著的优势,例如在除F5和F14之外的其他单峰函数中排名第一。这些函数在基准中都是单峰函数,反映了SMA的高效探测(exploration)能力。此外,为了更公平地评价算法的局部搜索效率,增加了实验的评价版本。表7中的数据展示了与其他10名参与者对单峰函数进行30万次评估得到的实验结果。在实验结果中,在F1-5和F7上,SMA得到的值仍然优于其他算法。同时,解的中值也与最优值的排序一致,表明SMA的稳定性。
3.2.2. Exploration competence analysis
表8的数据表明SMA在多模态函数中仍然具有竞争力。在F8-F11和F20-21中,SMA的AVG最小或并行时最小。从图10中F8和F21的收敛曲线可以看出,SMA可以在这两个多模态函数中搜索到精度适应度值最高的解,而有些算法在经过一定的迭代后并不能得到较好的解。这是由于局部最优的停滞,说明在较好的exploration条件下,SMA仍能表现出较好的exploration能力。从表9中的数据可以看出,F9–F11、F17和F20–21中的SMA结果是最优的,在F8、F18和F19中仅略差于的其他算法,这表明SMA仍然可以保持其优于高级算法的优势,并反映了SMA避免局部最优解的能力。从图11也可以看出,在F9-11、F17、F21等多模态函数中,SMA可以在相对较快的收敛趋势下找到较好的解。表10给出了SMA与其他10个比较器在多模态函数上的实验结果。其中,SMA在F8-F11上的平均和中值较优,AGA在F16-21上的平均和中值较优。
3.2.3. Analysis of avoiding locally optimal solutions
表11-12中的所有函数,作为固定维多模态函数,都具有多个局部最优值,这对MAs来说是挑战性的,因此可以区分算法在exploration和exploitation中的整体效率。根据表11-12中的数据,对于函数F28,F29,F30,F32和F33,SMA在AVG方面表现最好,显示出非常潜在的综合能力。从图10中的F28-33的最优值曲线图可以看出SMA比其他同类技术更快地实现了优越的解决方案,从而很好地协调了exploration和exploitation能力。表13-14统计数据说明SMA与高级算法相比,SMA在合成函数方面也可以保持一定的优势,这进一步反映了SMA可以通过快速收敛避免陷入局部最优。图11中的F25、F32、F33也直观地体现了SMA在组合函数上的性能优势。
3.2.4. Significance of superiority analysis
使用Wilcoxon符号秩检验方法[69]验证SMA是否具有优势。在这种情况下,如果比较产生的
p
p
p值低于0.05,则意味着算法在成对比较中取得的成就在统计意义上具有明显的优势。否则,认为两者之间的差异在统计意义上不明显。为了得出进一步的综合结论并控制the family-wise error rate(FWER),组合成对比较的真实统计意义(true statistical significance ,TSS)如等式(3.1)[70]所示:
p
=
1
−
∏
i
=
1
k
−
1
1
−
p
H
i
(
3.1
)
p=1-\prod_{i=1}^{k-1}{1-p_{H_i}} \quad (3.1)
p=1−i=1∏k−11−pHi(3.1)
由该表达式得到的
p
p
p值如表15所示,其中F1-8、F10、F12、F15、F28-30、F32-33的TSS与传统算法相比均小于0.05。因此,与传统算法相比,SMA在这些函数上有明显的区别。与先进算法相比,表15中的TSS,SMA优于其他算法(F1-8、F10、F17、F19-22、F25、F28-30、F32-33)。
尽管pairwise comparisons 可以用于算法之间的比较,但实验过程中生成的FWER不能预先校正,在多元对比中,算法的选择会极大地影响分析结果。为了减少算法选择对每个结果集的影响,使用multiple comparison processes修正FWER。在multiple comparisons中,首先,检查由算法得到的结果是否不同。当不等式存在时,进行因果分析,了解哪些算法存在显著差异。因此,采用非参数Friedman’s检验。表16展示了基于三组实验的算法在基准测试上的结果的平均排名。在非假设中,所有算法之间是相等的,所以如果假设相反,就意味着被比较的算法之间存在差异。然后我们选择了Holm’s test[72]作为因果分析的方法,这是一种可用于控制算法的多元比较方法。利用表17中得到的
z
z
z值,从正态分布表中找出相应的
p
p
p值,并与校正后的
α
α
α值进行比较。以SMA作为控制算法,并与其他算法进行了比较。
p
p
p值已根据其重要性排序。如果
p
p
p值低于相应的significant水平
α
α
α,则相应的假设被颠倒,即算法显著不同。本文选取了两个significant水平
α
=
0.10
α = 0.10
α=0.10和
α
=
0.05
α = 0.05
α=0.05,说明两种方法之间存在边缘性和显著性差异。从表17可以看出,与DE以外的传统算法相比,
z
z
z值小于校正值,以
α
=
0.05
α = 0.05
α=0.05为显著水平,即benchmarks存在显著差异。与LWOA以外的先进算法相比,基准函数之间存在显著差异,与LWOA略有不同。在与评估版本中其他算法的实验中,SMA与GWO和WOA相比略有差异,与AGA和DE差异不显著,而与其余算法差异显著。
3.3. Wall-clock time analysis
在这一部分的实验中,我们将SMA与其他11个参与者在上述33个基准中耗时实验的计算进行比较。 耗时的计算方法是所有参与者在每个函数上独立运行10次,并将结果记录在表18中。从表中的数据可以看出,SMA的计算时间相对较长,因为振荡因子的计算需要更多的计算能力。然而,SMA仍然可以在花费更少时间的情况下优于一些算法,如GOA、DA和ALO。总的来说,尽管SMA算法相对耗时,但相对于其他算法,它仍然具有巨大的有效性优势,所以时间结果是值得期待的。
3.4. Parameter sensitivity analysis
本节利用参数敏感性检验来评估种群大小、迭代次数和参数z对算法的影响。参数
z
z
z的取值范围为
[
0
,
0.1
]
[0,0.1]
[0,0.1],有11个值的间隔为
[
0
,
0.01
]
[0,0.01]
[0,0.01]。种群大小设定为5,10,30,50,100和200。迭代次数设置为50,100,200,500,1000和2000。在其他条件不变的情况下,对F1-13进行不同参数
z
z
z值的测试,结果如表19所示。SMA0表示
z
z
z的值为0,SMA1表示
z
z
z的值为0.01,依此类推。从表20中的结果可以看出:当
z
z
z取0.03时,该算法的结果较优,因为概率保持了exploration与exploitation之间的平衡。实验者也可以根据具体问题取不同的
z
z
z值。
为了探究种群和迭代对算法的影响,我们选择F13来测试两个参数对算法的协同效应。从图12中可以直观地看到,随着种群规模和迭代次数的增加,平均值变得更好。原因是种群数量的增加提高了搜索效率,迭代次数的增加导致了搜索次数和后续搜索的准确性的增加。但由于全局近似最优解已经大致发现,当种群规模和迭代次数继续增加时,结果并没有成比例增加。研究人员可以根据特定的问题选择适当的种群和迭代。
3.5. Experiments on engineering design problems
基于不同逻辑的方法应至少使用适当的数值验证来解决。大多数问题在实际生产环境中都有限制。在优化过程中考虑等式和不等式约束的过程称为约束处理。启发式算法的候选解可以根据约束条件分为可行解和不可行解。目前有几种类型的约束方法:死刑、退火、静态、动态、协同进化和自适应。尽管在放弃的过程中可能会丢失有用的信息,但我们仍然采用了一种计算成本较低的比较简单的死刑方法来处理违反约束的搜索个体,然后重新分配一个比较大的目标值。
3.5.1. Welded beam structure problem
该问题的主要目的是约束边约束、梁的端挠度(
δ
\delta
δ)、杆上的屈曲载荷(
P
c
P_c
Pc)、梁中的弯曲应力(
θ
\theta
θ)以及焊接梁经济成本最小的剪切应力(
τ
\tau
τ)。其中有4个变量,如焊缝厚度(
h
h
h)、所附钢筋长度(
l
l
l)、钢筋高度(
t
t
t)、钢筋厚度(
b
b
b)。该问题的设计框图如图13所示。模型如下:
consider:
X
=
[
x
1
,
x
2
,
x
3
,
x
4
]
=
[
h
l
t
b
]
X=\left[x_1,x_2,x_3,x_4\right]=\left[h\ l\ t\ b\right]
X=[x1,x2,x3,x4]=[h l t b]
minimize:
F
(
x
)
=
1.1047
x
1
2
x
2
+
0.04811
x
3
x
4
(
14.0
+
x
2
)
F\left(x\right)=1.1047x_1^2x_2+0.04811x_3x_4(14.0+x_2)
F(x)=1.1047x12x2+0.04811x3x4(14.0+x2)
subject to:
g
1
(
X
)
=
τ
(
X
)
−
τ
m
a
x
≤
0
g_1(X)=\tau(X)-\tau_{max}\le0
g1(X)=τ(X)−τmax≤0;
g
2
(
X
)
=
σ
(
X
)
−
σ
m
a
x
≤
0
g_2(X)=\sigma(X)-\sigma_{max}\le0
g2(X)=σ(X)−σmax≤0;
g
3
(
X
)
=
δ
(
X
)
−
δ
m
a
x
≤
0
g_3(X)=\delta(X)-\delta_{max}\le0
g3(X)=δ(X)−δmax≤0;
g
4
(
X
)
=
x
1
−
x
4
≤
0
g_4(X)=x_1-x_4\le0
g4(X)=x1−x4≤0;
g
5
(
X
)
=
P
−
P
c
(
X
)
≤
0
g_5(X)=P-P_c(X)\le0
g5(X)=P−Pc(X)≤0;
g
6
(
X
)
=
0.125
−
x
1
≤
0
g_6(X)=0.125-x_1\le0
g6(X)=0.125−x1≤0;
g
7
(
X
)
=
1.1047
x
1
2
+
0.04811
x
3
x
4
(
14.0
+
x
2
)
−
5.0
≤
0
g_7(X)=1.1047x_1^2+0.04811x_3x_4(14.0+x_2)-5.0\le0
g7(X)=1.1047x12+0.04811x3x4(14.0+x2)−5.0≤0
where
P
=
60001
b
,
L
=
14
i
n
.
,
δ
m
a
x
=
0.25
i
n
.
,
E
=
3
×
10
6
p
s
i
,
G
=
12
×
10
6
p
s
i
,
τ
m
a
x
=
13600
p
s
i
,
σ
m
a
x
=
30000
p
s
i
P=60001\ b,L=14\ in.,\delta_{max}=0.25\ in.,E=3\times{10}^6\ psi, G=12\times{10}^6\ psi, \tau_{max}=13600\ psi, \sigma_{max}=30000\ psi
P=60001 b,L=14 in.,δmax=0.25 in.,E=3×106 psi,G=12×106 psi,τmax=13600 psi,σmax=30000 psi。


3.5.2. Pressure vessel structure problem
该问题的目的是寻找能使生产总成本最小化并满足压力要求的圆柱形压力容器的参数。参数包括壳体厚度(
T
s
T_s
Ts)、内半径(
T
h
T_h
Th)、封头的厚度(
2
R
2R
2R)和圆柱形部分的长度。容器的两端都覆盖着一端的半球形外壳。图14示出了该对象及其相应参数的设计。
四个约束条件的公式如下:
Consider:
X
=
[
x
1
,
x
2
,
x
3
,
x
4
]
=
[
T
s
T
h
R
L
]
X=\left[x_1,x_2,x_3,x_4\right]=\left[T_s\ T_h\ R\ L\right]
X=[x1,x2,x3,x4]=[Ts Th R L]
Objective:
f
(
x
)
m
i
n
=
0.6224
x
1
x
3
x
4
+
1.7781
x
3
x
1
2
+
3.1661
x
4
x
1
2
+
19.84
x
3
x
1
2
f\left(x\right)_{min}=0.6224x_1x_3x_4+1.7781x_3x_1^2+3.1661x_4x_1^2+19.84x_3x_1^2
f(x)min=0.6224x1x3x4+1.7781x3x12+3.1661x4x12+19.84x3x12
Subject to:
g
1
(
X
)
=
−
x
1
+
0.0193
x
3
≤
0
;
g
2
(
X
)
=
−
x
3
+
0.00954
x
3
≤
0
;
g
3
(
X
)
=
−
π
x
4
x
3
2
−
4
3
π
x
3
3
+
1296000
≤
0
;
g
4
(
X
)
=
x
4
−
240
≤
0
g_1(X)=-x_1+0.0193x_3\le0;g_2(X)=-x_3+0.00954x_3\le0;g_3(X)=-\pi x_4x_3^2-\frac{4}{3}\pi x_3^3+1296000≤0;g_4(X)=x_4-240\le0
g1(X)=−x1+0.0193x3≤0;g2(X)=−x3+0.00954x3≤0;g3(X)=−πx4x32−34πx33+1296000≤0;g4(X)=x4−240≤0
Variable ranges:
0
≤
x
1
≤
99
,
0
≤
x
2
≤
99
,
10
≤
x
3
≤
200
,
10
≤
x
4
≤
200
0\le x_1\le99, 0\le x_2\le99, 10\le x_3\le200, 10\le x_4\le200
0≤x1≤99,0≤x2≤99,10≤x3≤200,10≤x4≤200
从表21的数据可以看出,与MFO[26]、BA[82]、HPSO[83]、CSS[7]、CPSO[84]、ACO[85]、GWO[24]、WOA[53]、MDDE[86]、lagrange multiplier[87]和Branch-bound[88]相比,SMA可以获得相当优越的最优值。


3.5.3. Cantilever structure problem
悬臂梁由五个空心方形截面组成,如图15所示。由于厚度是固定的,所以只需要考虑图中确定的6个参数。该问题的目的是在满足承载力的情况下减小悬臂梁的总质量。该优化问题的公式如下:
Consider:
X
=
[
x
1
,
x
2
,
x
3
,
x
4
,
x
5
]
X=\left[x_1,x_2,x_3,x_4,x_5\right]
X=[x1,x2,x3,x4,x5]
Minimize:
F
(
X
)
=
0.6224
(
x
1
+
x
2
+
x
3
+
x
5
)
F(X)=0.6224(x_1+x_2+x_3+x_5)
F(X)=0.6224(x1+x2+x3+x5)
Subject to:
G
(
X
)
=
61
x
1
3
+
37
x
2
3
+
19
x
3
3
+
7
x
4
3
+
1
x
5
3
≤
1
G(X)=\frac{61}{x_1^3}+\frac{37}{x_2^3}+\frac{19}{x_3^3}+\frac{7}{x_4^3}+\frac{1}{x_5^3}≤1
G(X)=x1361+x2337+x3319+x437+x531≤1
Variable ranges:
0.01
≤
x
1
,
x
2
,
x
3
,
x
4
,
x
5
≤
100
0.01\le x_1,x_2,x_3,x_4,x_5\le100
0.01≤x1,x2,x3,x4,x5≤100
与MFO[26]、SOS[89]、CS[90]、MMA[91]和GCA[91]相比,SMA在悬臂设计问题上能取得更好的结果,如表22所示。


3.5.4. I-beam structure problem
本工程问题的目的是通过调整如图16所示的四个参数,使工字梁的垂直偏差最小。表23列出了SMA与ARSM[92]、SOS[89]、CS[90]和IARSM[92]的比较优化结果。数据表明,SMA在该工程问题中可以获得较好的最优值,反映了SMA在工程问题中的适用性。


4. Conclusions and future perspectives
本文提出了一种基于黏菌行为的有效优化器来解决优化问题。该算法主要利用权值模拟生物振荡器在觅食过程中对食物源的正负反馈,形成不同厚度的觅食静脉网络。黏菌的形态也有三种不同的收缩模式。
为了对算法进行定性分析,采用了四个指标(搜索历史、第一个维度的轨迹、平均适应度和收敛曲线)。然后,在单模态、多模态、定维多模态和复合函数等33个基准函数上对算法进行了评价。测试的大多数函数都是复合函数。通过Wilcoxon符号秩检验和Friedman检验,更科学地评价了算法的有效性。实验结果表明,SMA在保证exploration性能的同时实现了较好的exploitation,从而在exploration和exploitation之间保持了较好的平衡,从统计意义上反映了该算法相对于其他算法的优越性能。
同时,SMA应用于焊接梁、压力容器、悬臂、工字梁设计等四个经典工程结构问题。结果证明SMA也适用于实际工程优化问题,得到了令人满意的优化结果。
SMA在保持exploitation倾斜与exploration倾斜平衡方面的令人满意的表现,理论上可以归结于以下几点:
-
自适应权值W使SMA在保证快速收敛的同时保持一定的扰动率,从而避免了快速收敛过程中的陷入局部最优。
-
振动参数 v b ⃗ \vec{vb} vb允许黏菌的个别位置以特定的方式收缩,从而保证了早期勘探的效率和后期开采的准确性。
-
充分利用个体适应度值可以使SMA在历史信息的基础上做出更好的决策。
-
位置更新决策参数p和三种不同的位置更新方法保证了SMA在不同搜索阶段的较好适应性。
为了提高算法的可扩展性,算法的发展建立在尽可能简单的原则上。在未来的工作中,可以采用各种突变机制或加速机制来提高算法的有效性。该算法的二进制版本也可以用于特征选择。此外,SMA还可用于核极限学习机或支持向量机等分类器的参数优化。