• 即将更新编译原理,机器学习,JavaScript,HTML/CSS等文章,谢谢关注~
  • 由于算法限制,搜索时注意简化关键字,谢谢支持~
  • 网站不兼容IE5.0及以下,请使用主流浏览器访问.
  • Python粒子群优化算法实现(PSO)

    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

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

    评论

    OmegaXYZ