Python粒子群优化算法实现(PSO)

本文共494个字,预计阅读时间需要2分钟。

PSO(PSO——Particle Swarm Optimization)(基于种群的随机优化技术算法)
粒子群算法模仿昆虫、兽群、鸟群和鱼群等的群集行为,这些群体按照一种合作的方式寻找食物,群体中的每个成员通过学习它自身的经验和其他成员的经验来不断改变其搜索模式。

概述请见:

http://www.omegaxyz.com/2017/05/04/introductionofpso/

MATLAB代码请见:http://www.omegaxyz.com/2018/01/17/matlab_pso/

Python3代码:

注意pN是指初始种群,一般来说初始种群越大效果越好

dim是优化的函数维度,常见的初等函数和初等复合函数都是1维

max_iter是迭代次数

本文的优化函数是x^2-4x+3,显然这个函数在x=2时取最小值-1

验证:

迭代图像:

迭代的最后可以看到结果:

当然多维函数只需要改变dim和函数表达式就好了!

参考资料:http://blog.csdn.net/kunshanyuz/article/details/63683145

读者评分
[评分人数: 4 平均分: 3.5]

2 位极客在 “Python粒子群优化算法实现(PSO)” 留下足迹

评论

OmegaXYZ