粒子群优化算法(对pso,spso,tpso,tspso算法的理解)
PSO算法是一种粒子群优化算法,面对大量非线性,不可微和多峰值的复杂问题寻找最优解的一种算法。
bpso算法公式:Vidt+1 =ωVidt + c1r1(Pid - xid) + c2r2(Pgd - xid)
Xidt+1 = xidt + Vidt+1
针对pso进化后期收敛速度慢,精度低的问题提出了bpso增加了ω(动量惯性系数),提升极值跳出局部的能力;
SPSO算法是对bpso的优化去掉了因人为设定的可能使解的方向偏离最优解,继而使得粒子发散导致收敛速度变慢,精度低速度项,并且将维度降为一维,降阶,提高了收敛速度和精度。
TPSO是对bpso的扩展,通过改变pi(个体极值)和pg(全局极值)来扰动粒子群,使粒子摆脱局部极值来寻找更优解,避免优化后期因陷入局部极值影响导致收敛速度慢,精度低的问题。
TSPSO是对spso的扩展,在去掉速度项基础上,改变pi和pg来扰动粒子群,是结合了spso和tspso两种优化方法。
通过去速度型和扰动极值的方法有效的提升了粒子群优化算法后期收敛速度慢,精度低,易陷入局部极值,找不到更优解的问题,但在具体使用时TSPSO的效果并非最好的,要根据bpso,spso,tpso,tspso效果去选择使用。 如果想更进一步了解此方面的内容,请参考(软件快报一种更简单而高效的粒子群优化算法——胡旺,李志蜀 )