USPEX 10.5 manual

粒子群算法(PSO)指令

在晶体和簇结构预测领域,一些算法对于小体系非常成功。粒子群算法,在这个领域 由Boldyrev 27 所倡导,是进化算法的特殊情形,大量的(集群)候选值(称为“微粒”) 根据一些简单的公式移动到搜索空间。微粒的运动由它们在搜索空间中自已最显著的位置决定,和全体 集群最显著的位置一样。首先,微粒的坐标\(\chi \)和’速度’ \(\upsilon \)随机产生。随后每一步, 位置和速度都根据以下公式更新:

\begin{equation} \label{eq:pso} \begin{aligned} \upsilon ’_{i} & = \omega \cdot \upsilon _{i} + \varphi _{p} \cdot r_{p} \cdot (p_{i} - \chi _{i}) + \varphi _{g} \cdot r_{g} \cdot (g - \chi _{i}),\\ \chi ’_{i} & = \chi _{i} + \upsilon ’_{i}. \end{aligned} \end{equation}

这里\(\omega \),\(\varphi _{p}\)和\(\varphi _{g}\)是加权因子,控制PSO算法的行为和效率; \(r_{p}\)和\(r_{g}\)是[0; 1]范围内的随机数,分别在每一步为 每一个微粒产生;\(p_{i}\)是微粒\(i\) 最显著 的位置,\(g\)是整个集群最显著的位置。

这种算法,尽管它简单但可以工作 27 。改进之前安装运行 27; 28 的关键:(1)搜索空间的度量(单独在坐标系中绘制各个晶体结构不重要);(2)用PSO进 化结构的方法,也就是变异操作。

\includegraphics[scale=0.3]{pic/PSO}
三个个体数量10代之后的的PSO-USPEX混合算法图例(用 菱形、正方形和圆形标记)。每个微粒的最好位置都用放大的符号标记。最好的结构是大的正方形。 圆形标记的结构可突变,用其历史中最好的位置(大圆)产生子代或通过遗传操作以\(P_{m}\),\(P_{p}\)和\(P_{g}\)的 概率产生全部种群(大正方形)的最好位置。

通过直接由原子坐标和两个结构的参数决定的速度\(\upsilon _{i}\) (??)来进化微粒是不可行的。 我们的问题是用指纹距离 16 作为能谱最原始的坐标,且USPEX用来进化PSO微粒的变量作为进化 种群结构最有效公正的方法。即,微粒要么突变(模拟自由移动),要么是以最佳位置参与遗传或最佳的种群 位置(模拟PSO朝这些方向移动)参与遗传。代替了在所有的移动的每一步都加上一些权重(see Eq. ??), 我们通过以下描述的可能性一次性加上:

\begin{equation} \label{eq:pso2} \begin{aligned} P_{m} = \frac{\omega }{\Sigma };\qquad & P_{p} = \frac{\varphi _{p} \cdot r_{p} \cdot D_{p}}{\Sigma };\qquad P_{g} = \frac{\varphi _{g} \cdot r_{g} \cdot D_{g}}{\Sigma };\\ & \Sigma = \omega + \varphi _{p} \cdot r_{p} \cdot D_{p} + \varphi _{g} \cdot r_{g} \cdot D_{g}, \end{aligned} \end{equation}

其中\(D_{p}\)是一个微粒现在和最佳位置间的指纹间距,\(D_{g}\)是微粒现在位置和全部种群最佳位置的指纹间距。 我们的测试在几个不同的系统进行,表明这种方法(我们称之为“cor-PSO”,即校正PSO)是比较成功的。 而且比PSO之前的版本好,但在成功率和效率方面仍不能和USPEX算法【3,41】相比。

下面的变量对calculationMethod=PSO是唯一的:

\(\triangleright \) variable PSO_softMut

Meaning: 软模变异的权重(公式eq. ??中的\(\omega \))

Default: 1

Format:

1 : PSO_softMut

\(\triangleright \) variable PSO_BestStruc

Meaning: 用同样PSO微粒的最好位置遗传的权重(\(\varphi _{p}\) in eq. ??)。

Default: 1

Format:

1 : PSO_BestStruc

\(\triangleright \) variable PSO_BestEver

Meaning: 由全局遗传最好PSO的微粒(\(\varphi _{g}\)的权重eq. ??。

Default: 1

Format:

1 : PSO_BestEver