在晶体和簇结构预测领域,一些算法对于小体系非常成功。粒子群算法,在这个领域 由Boldyrev所倡导,是进化算法的特殊情形,大量的(集群)候选值(称为“微粒”) 根据一些简单的公式移动到搜索空间。微粒的运动由它们在搜索空间中自已最显著的位置决定,和全体 集群最显著的位置一样。首先,微粒的坐标 和’速度’
和’速度’  随机产生。随后每一步, 位置和速度都根据以下公式更新:
随机产生。随后每一步, 位置和速度都根据以下公式更新: 
|  | (8) | 
这里 ,
, 和
和 是加权因子,控制PSO算法的行为和效率;
是加权因子,控制PSO算法的行为和效率;  和
和 是[0; 1]范围内的随机数,分别在每一步为 每一个微粒产生;
是[0; 1]范围内的随机数,分别在每一步为 每一个微粒产生; 是微粒
是微粒 最显著 的位置,
 最显著 的位置, 是整个集群最显著的位置。
是整个集群最显著的位置。 
这种算法,尽管它简单但可以工作。改进之前安装运行的关键:(1)搜索空间的度量(单独在坐标系中绘制各个晶体结构不重要);(2)用PSO进 化结构的方法,也就是变异操作。
![\includegraphics[scale=0.3]{pic/PSO}](images/img-0125.png) 
  ,
, 和
和 的 概率产生全部种群(大正方形)的最好位置。
的 概率产生全部种群(大正方形)的最好位置。通过直接由原子坐标和两个结构的参数决定的速度 (8)来进化微粒是不可行的。 我们的问题是用指纹距离作为能谱最原始的坐标,且USPEX用来进化PSO微粒的变量作为进化 种群结构最有效公正的方法。即,微粒要么突变(模拟自由移动),要么是以最佳位置参与遗传或最佳的种群 位置(模拟PSO朝这些方向移动)参与遗传。代替了在所有的移动的每一步都加上一些权重(see Eq. 8), 我们通过以下描述的可能性一次性加上:
 (8)来进化微粒是不可行的。 我们的问题是用指纹距离作为能谱最原始的坐标,且USPEX用来进化PSO微粒的变量作为进化 种群结构最有效公正的方法。即,微粒要么突变(模拟自由移动),要么是以最佳位置参与遗传或最佳的种群 位置(模拟PSO朝这些方向移动)参与遗传。代替了在所有的移动的每一步都加上一些权重(see Eq. 8), 我们通过以下描述的可能性一次性加上: 
|  | (11) | 
其中 是一个微粒现在和最佳位置间的指纹间距,
是一个微粒现在和最佳位置间的指纹间距, 是微粒现在位置和全部种群最佳位置的指纹间距。 我们的测试在几个不同的系统进行,表明这种方法(我们称之为“cor-PSO”,即校正PSO)是比较成功的。 而且比PSO之前的版本好,但在成功率和效率方面仍不能和USPEX算法【3,41】相比。
是微粒现在位置和全部种群最佳位置的指纹间距。 我们的测试在几个不同的系统进行,表明这种方法(我们称之为“cor-PSO”,即校正PSO)是比较成功的。 而且比PSO之前的版本好,但在成功率和效率方面仍不能和USPEX算法【3,41】相比。 
下面的变量对calculationMethod=PSO是唯一的:
   variable  PSO_softMut
 variable  PSO_softMut 
Meaning: 软模变异的权重(公式eq. 11中的 )
) 
Default: 1
Format:
1 : PSO_softMut
   variable  PSO_BestStruc
 variable  PSO_BestStruc 
Meaning: 用同样PSO微粒的最好位置遗传的权重( in eq. 11)。
 in eq. 11)。 
Default: 1
Format:
1 : PSO_BestStruc
   variable  PSO_BestEver
 variable  PSO_BestEver 
Meaning: 由全局遗传最好PSO的微粒( 的权重eq. 11。
的权重eq. 11。 
Default: 1
Format:
1 : PSO_BestEver