智能优化算法:晶体结构算法
摘要:晶体结构算法(Crystal Structure Algorithm ,CryStAl)是于2021年提出的一种新型智能优化算法。该算法的主要灵感来源于从点阵点添加基形成晶体结构的基本原理。具有结构简单,收敛速度快,寻优能力强的特点。
1.算法原理
众所周知,固体矿物的组成成分(分子、原子或离子)在三个空间方向上有规律地重复排列或具有晶体顺序,称为晶体。晶体固体具有高度多样性,可以具有各向同性或各向异性特性。晶体的基本成分是“晶格”,它代表预定义空间中的周期性点阵列,尽管它不能定义材料中原子的特定位置。另一方面,原子在晶体结构中的位置由与每个晶格点相关联的“基”决定。由于晶格只决定晶体的整体形状,考虑到自然界存在无限几何形状,因此可以组合不同的几何形状。基于结晶学中的“基”概念,角上的所有晶体都被视为主晶体,即 C r m a i n Cr_{main} Crmain,其由最初创建的晶体(候选溶液)随机确定。具有最佳配置的晶体被确定为 C r b Cr_b Crb,而随机选择的晶体(忽略当前个体)的平均值用 F c F_c Fc表示。为了更新候选解在搜索空间中的位置,基于基本格原理,得出以下四种更新过程:
(1)简易隔室:
C
r
n
e
w
=
C
r
o
l
d
+
r
C
r
m
a
i
n
(1)
Cr_{new}=Cr_{old}+rCr_{main} \tag{1}
Crnew=Crold+rCrmain(1)
(2)包含最优晶体的隔室:
C
r
n
e
w
=
C
r
o
l
d
+
r
1
C
r
m
a
i
n
+
r
2
C
r
b
(2)
Cr_{new}=Cr_{old}+r_1Cr_{main}+r_2Cr_b \tag{2}
Crnew=Crold+r1Crmain+r2Crb(2)
(3)包含平均晶体的隔室:
C
r
n
e
w
=
C
r
o
l
d
+
r
1
C
r
m
a
i
n
+
r
2
F
c
(3)
Cr_{new}=Cr_{old}+r_1Cr_{main}+r_2F_c \tag{3}
Crnew=Crold+r1Crmain+r2Fc(3)
(4)包含最优晶体及平均晶体的隔室:
C
r
n
e
w
=
C
r
o
l
d
+
r
1
C
r
m
a
i
n
+
r
2
C
r
b
+
r
3
F
c
(4)
Cr_{new}=Cr_{old}+r_1Cr_{main}+r_2Cr_b+r_3F_c \tag{4}
Crnew=Crold+r1Crmain+r2Crb+r3Fc(4)
其中
r
,
r
1
,
r
2
,
r
3
r,r_1,r_2,r_3
r,r1,r2,r3均为[-1,1]内的随机数。
算法伪代码
Create random values for initial positions of initial crystals
Evaluate fitness values for each crystal
while(t<maximum number of iterations)
for i = 1:number of initial crystals
Create Crmain
Create new crystals by Eq(1)
Create Crb
Create new crystals by Eq(2)
Create Fc
Create new crystals by Eq(3)
Create new crystals by Eq(4)
if new crystals violate bundarcy conditons
control the positon constrains for new crystals and amend them
end if
Evaluate the fitness values for new crystals
Update Global Best(GB) if a better sloution is found
end for
t=t+1
end while
2.实验结果
3.参考文献
[1]Talatahari Siamak,Azizi Mahdi,Tolouei Mohamad,Talatahari Babak,Sareh Pooya. Crystal Structure Algorithm (CryStAl): A Metaheuristic Optimization Method[J]. IEEE ACCESS,2021,9: