点击查看完整原理http://www.daimapi.com/algorithm1_1/
1 概述
粒子群算法,也称粒子群优化算法或鸟群觅食算法(Particle Swarm Optimization),缩写为 PSO,是近年来由J. Kennedy和R. C. Eberhart等开发的一种新的进化算法。PSO 算法属于进化算法的一种,和模拟退火算法相似,它也是从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质,但它比遗传算法规则更为简单,它没有遗传算法的“交叉”和“变异”操作,它通过追随当前搜索到的最优值来寻找全局最优。这种算法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性。粒子群算法是一种并行算法。
2算法描述
假如把优化问题的潜在解作为一个不考虑质量和和体积的鸟,称其为粒子,粒子在空间不断飞行,在搜寻最佳位置的过程中根据自身的经验和最优个体的经验调整位置。PSO在开始计算时会先随机生成一群符合要求的粒子,之后通过不断的迭代并根据得到的历史最优粒子来寻找全局最优粒子。假设随机生成的粒子群有 个个体。当迭代到第 次时, 和 分别表示第 个粒子的位置值,第 个粒子的组度信息。粒子需要根据两个值来升级自己的信息,包括位置和速度。这两个值分别是自身粒子的历史最优值,表示为 ,另一个为整个粒子群的历史最优值,表示为 。每个粒子个体需要按照下面的公式来升级自己的位置和速度信息: