粒子群算法是最近几年发展起来的一种新的进化算法。这种算法以实现简单,精度高、收敛快等优点引起了大家的重点研究。
其算法原理为:
- 初始化粒子的速度和位置以及一些初始参数
- 计算粒子的适应度
- 获取粒子的个体最优值pd
- 获取群体全局最优值pg
- 根据v=wv+c1r1*(pd-x)+c2r2(pg-x)更新速度
- 根据x=x+v 更新位置
- 满足条件,输出结果;否则返回第二步
这里将以上做了一个小改动,对更新后的x进行防止越界保护:
if x[i,j]>=xmax
x[i,j]=xmax
end
if x[i,j]<=xmin
x[i,j]=xmin
end
以下是粒子群算法原理实现的代码:
''
粒子群算法---