与其他智能算法相比较,粒子群算法的优点有概念简单、容易实现、需要调节参数少等等,因此本次论文选用了粒子群算法进行PID控制器的参数辨识。
1。4 粒子群算法(PSO)的研究现状
1986年,Craig Reynols为了模拟鸟类聚集飞行的行为,首次提出了Boid模型[5]。1995年,美国社会心理学博士Kennedy和电子工程学博士Eberhart正式提出了粒子群算法[4]。自其提出以来,PSO算法得到了广泛关注,发展至今已取得许多成果。
关于PSO算法的研究现状,根据有关PSO算法的研究文献,以下分作三部分总结。
1) 算法的理论研究:PSO算法的理论研究主要针对算法的收敛性分析,即对于PSO算法主要的理论研究内容是分析算法最终能否收敛于问题的最优解。由于PSO算法中存在随机变量,很多常规的数学规则无法再PSO算法中应用,目前的PSO算法收敛性分析,都是在简化条件下的结果,而在非简化条件下,一般通过仿真实验进行研究。
Clerc等分析了算法迭代方程的参数,通过状态转移矩阵研究单个粒子的运动轨迹,从而得到了单个粒子收敛的参数约束条件,此方法把算法中的随机量看作常量,但该方法没有考虑随机量的作用及粒子间的相互作用,因此存在一定缺陷[9]。Van在Clerc分析的基础上,采用集合论的方法,通过举反例得出:基本PSO算法无法保证局部收敛,并且改进了算法,使得算法在时间无限的条件下,可以保证局部收敛,然而虽然保证了算法的收敛性,但优化效果却变得较差[10]。Trelea用离散动态系统理论对PSO的简化模型进行分析,提出了对参数选择的参考准则。国内的高雷阜提出了基于混沌改进的PSO算法[7],改进了算法的收敛性。文献综述
目前来说,PSO算法的理论分析都是在简化模型下进行的,也就是不考虑随机性和粒子间的作用,最优位置固定。因此,虽然一些研究给出了一定程度的算法收敛条件,但是其成果是不完善的。
2) 算法的性能改进研究:PSO算法存在容易陷入局部最优解的缺点,研究者对此进行了针对的性能改进。
首先是对惯性权重取值策略的改进,惯性权重在算法中的作用是调节算法的全局搜索能力和局部搜索能力,标准粒子群算法中,惯性权重是线性递减的。Shi等提出了一种使用模糊规则动态调整惯性权重的方法[7],相比之下更好的调节效果,国内李宁等提出的惯性权重余弦减少方法[3],也有较好的效果。
此外,改进算法的多样性也是主要研究方向之一,标准粒子群算法存在过早在局部最优解停止的缺点,无法完成全局搜索。针对此缺点,提高粒子的多样性,也就是提高粒子的分散程度能够有效抑制。Hu等为了增强种群多样性,提出了种群随机多代初始化等思想[3]。谢晓峰等参照遗传算法[4],在PSO算法中加入了一个小概率随机变异操作,虽然这种改进提高了粒子的多样性,但是降低了搜索速度。
对于算法性能的改进还包括与其他算法相混合,这也是关注度比较高的方法,比如在PSO算法中引入遗传算法的变异因素,用模拟退火法的思维来对粒子能否进入下一次迭代进行考量。陶新民和Wei提出了基于K均值的混合PSO算法[9],由粒子的适应度确定K均值算法怎样动作,从而将算法性能提高了。国内高海兵等针对离散的组合优化问题,提出了广义粒子群优化模型[7]。
Saber等提出将细菌趋药性算法和PSO算法相混合[4],Shu等提出将差分进化法与PSO算法的混合策略[5]。此外还有自适应PSO算法、基于量子PSO算法等混合PSO算法,但这些算法由于加入了新的参数,应用范围有限。