1.背景
2023年,M Azizi等人受到物理理论粒子稳定性与衰变性启发,提出了能量谷优化算法(Energy Valley Optimizer, DVO)。
2.算法原理
2.1算法思想
EVO基于粒子物理反应的优化过程。在这个过程中,稳定性较差的粒子会通过衰变释放能量,并趋向于向能量谷或稳定带移动,以提高其稳定性水平。这种物理过程启发了元启发式算法的发展,其中候选解倾向于逐步改进以达到更稳定的状态。
2.2算法过程
考虑富中子粒子和贫中子粒子之间的差异,对每个粒子进行目标函数评价,并确定为粒子的中子富集水平(NEL):
E
B
=
∑
i
=
1
n
N
E
L
i
n
,
i
=
1
,
2
,
…
,
n
(1)
\mathrm{EB=\frac{\sum_{i=1}^nNEL_i}n,~i=1,2,\ldots,n}\tag{1}
EB=n∑i=1nNELi, i=1,2,…,n(1)
式中,NELi为第i个粒子的中子富集能级,EB为宇宙中粒子的富集界。
确定粒子的稳定水平:
S
L
i
=
N
E
L
i
−
B
S
W
S
−
B
S
,
i
=
1
,
2
,
…
,
n
(2)
\mathrm{SL_i=\frac{NEL_i-BS}{WS-BS},~i=1,2,\ldots,n}\tag{2}
SLi=WS−BSNELi−BS, i=1,2,…,n(2)
其中,SLi为第i个粒子的稳定水平,BS和WS为宇宙内稳定水平最佳和最差的粒子。
如果粒子的中子富集水平高于富集界(NELi > EB),则假设该粒子具有较大的N/Z比,因此采用α、β或γ衰变过程。在[0,1]范围内生成一个随机数,它模拟了宇宙中的稳定界(Stability Bound, SB)。如果粒子的稳定水平高于稳定界(SLi > SB),则认为发生α和γ衰变。
发射的射线是候选溶液中的决策变量,将其去除并替换为具有最佳稳定水平(XBS)的粒子或候选溶液中的射线:
X
i
N
e
w
1
=
X
i
(
X
B
S
(
x
i
j
)
)
,
{
i
=
1
,
2
,
…
,
n
.
j
=
A
l
p
h
a
I
n
d
e
x
I
I
.
(3)
\left.\mathrm{X_i^{New1}}=\mathrm{X_i}\Big( \mathrm{X_{BS}}\Big( \mathrm{x_i^j}\Big)\Big),\left\{\begin{array}{c}i=1,2,\ldots,n.\\j=Alpha Index II.\end{array}\right.\right.\tag{3}
XiNew1=Xi(XBS(xij)),{i=1,2,…,n.j=AlphaIndexII.(3)
其中,Xi为第i个粒子(解候选)的当前位置向量,XBS为稳定性等级最好的粒子的位置向量。
在伽马衰变中,发射γ射线以提高受激粒子的稳定性水平,位置更新为:
D
i
k
=
(
x
2
−
x
1
)
2
+
(
y
2
−
y
1
)
2
,
{
i
=
1
,
2
,
…
,
n
.
k
=
1
,
2
,
…
,
n
−
1.
(4)
\mathrm D_{\mathrm i}^{\mathrm k}=\sqrt{(\mathrm x_2-\mathrm x_1)^2+\left(\mathrm y_2-\mathrm y_1\right)^2},\left\{\begin{array}{c}i=1,2,\dots,n.\\k=1,2,\dots,n-1.\end{array}\right.\tag{4}
Dik=(x2−x1)2+(y2−y1)2,{i=1,2,…,n.k=1,2,…,n−1.(4)
第二个候选解决方案位置更新为:
X
i
N
e
w
2
=
X
i
(
X
N
g
(
x
i
j
)
)
,
{
i
=
1
,
2
,
…
,
n
.
j
=
Gamma Index II
.
(5)
\mathrm X_{\mathrm i}^{\mathrm New2}=\mathrm X_{\mathrm i}\Big(\mathrm X_{\mathrm Ng}\Big(\mathrm x_{\mathrm i}^{\mathrm j}\Big)\Big),\left\{\begin{matrix}i=1,2,\ldots,n.\\j=\text{Gamma Index II}.\end{matrix}\right.\tag{5}
XiNew2=Xi(XNg(xij)),{i=1,2,…,n.j=Gamma Index II.(5)
其中,XNg为第i个粒子周围邻近粒子的位置向量。
如果粒子的稳定水平低于稳定界(SLi≤SB),则认为发生了β衰变。β射线从粒子中释放出来,以提高粒子的稳定水平,因此由于这些粒子的不稳定水平较高,应该在搜索空间中进行大的跳跃:
X
C
P
=
∑
i
=
1
n
X
i
n
,
i
=
1
,
2
,
…
,
n
.
X
i
N
e
w
1
=
X
i
+
(
r
1
×
X
B
S
−
r
2
×
X
C
P
)
S
L
i
,
i
=
1
,
2
,
…
,
n
.
(6)
\mathrm{X_{CP}=\frac{\sum_{i=1}^nX_i}n,~i=1,2,\ldots,n.}\\\mathrm{X_{i}^{New1}=X_{i}+\frac{(r_{1}\times X_{BS}-r_{2}\times X_{CP})}{SL_{i}},~i=1,2,\ldots,n.}\tag{6}
XCP=n∑i=1nXi, i=1,2,…,n.XiNew1=Xi+SLi(r1×XBS−r2×XCP), i=1,2,…,n.(6)
其中,XBS是稳定水平最好的粒子的位置向量,XCP是粒子中心的位置向量。
为了提高算法的开发和探索水平,对采用β衰变的粒子进行另一个位置更新过程,在粒子的稳定水平不影响运动过程的情况下,对具有最佳稳定水平(XBS)的粒子或候选粒子和邻近的粒子或候选粒子(XNg)进行控制:
X
i
N
e
w
2
=
X
i
+
(
r
3
×
X
B
S
−
r
4
×
X
N
g
)
,
i
=
1
,
2
,
…
,
n
.
(7)
\mathrm{X_i^{New2}=X_i+\begin{pmatrix}r_3\times X_{BS}-r_4\times X_{Ng}\end{pmatrix},~i=1,2,\ldots,n.}\tag{7}
XiNew2=Xi+(r3×XBS−r4×XNg), i=1,2,…,n.(7)
其中,XBS是稳定性水平最好的粒子的位置向量,XNg是第i个粒子周围邻近粒子的位置向量。
如果粒子的中子富集水平低于富集界(NELi≤EB),则认为该粒子的N/Z比较小,因此粒子倾向于通过电子捕获或正电子发射向稳定带移动:
X
i
N
e
w
=
X
i
+
r
,
i
=
1
,
2
,
…
,
n
.
(8)
\mathrm{X_i^{New}=X_i+r,~i=1,2,\ldots,n.}\tag{8}
XiNew=Xi+r, i=1,2,…,n.(8)
伪代码
3.结果展示
4.参考文献
[1] Azizi M, Aickelin U, A. Khorshidi H, et al. Energy valley optimizer: a novel metaheuristic algorithm for global and engineering optimization[J]. Scientific Reports, 2023, 13(1): 226.