• 粒子群算法(PSO)算法解析(简略版)


    粒子群算法(PSO)

    1.粒子群算法(PSO)是一种基于群体的随机优化技术; 初始化为一组随机解,通过迭代搜寻最优解。

         PSO算法流程如图所示(此图是从PPT做好,复制过来的,有些模糊)

    2.PSO模拟社会的三条规则:

    ①飞离最近的个体,以避免碰撞

    ②飞向目标(认知行为)——Pbest

    ③飞向群体的中心(社会行为)——Gbest

    3.迭代公式:

    举一个粒子。。。在一维中,利用MATLAB中自带的函数求极值

          

                                                                     搜索起始点位置

    注:fmincon(有约束的非线性最小化) fminbnd(有边界的标量非线性最小化) GlobalSearch(全局搜索)

    左图为用fminbnd函数求解情况;右图为用GlobalSearch 在[0,20]内求解情况。

    由右图所示结果可以看出,采用fmincon进行有约束的非线性最小化求解,容易进入局部最优解;fminbnd在进行非线性最小化求解也容易掉进局部最优,导致在非连续函数下,使得求解结果不收敛。GlobalSearch在[0,20]内进行非线性最小化求解能够很精确地寻最优值。

     但是由于基本的粒子群算法不满足        因此它不是全局收敛。

                                           

    对于一些较为复杂的二维,高维函数,它们具有广泛的搜索空间,也存在很多局部最优解(极小值点),因此我们用PSO算法较难找到全局最优值。

    因此,我们需要对基本粒子群算法进行改进, 以达到更快的收敛速度及尽量跳出局部最优的陷阱, 从而达到全局最优。(图见上面可知)

    PSO算法是一种很基础的全局搜索算法,可以很好的达到搜索最小值的效果;但是由于算法原理的一些缺陷,也存在一些问题,对PSO算法的改进方法,在下次博客中再分享。

    谢谢大家!!!

  • 相关阅读:
    elastic
    原生js获取css样式和修改css样式
    React项目开发中的数据管理
    js获取鼠标位置
    闭包
    HTML5与HTML4的区别
    JSON 相关
    RESTful Web Services初探
    IE6浏览器兼容问题及部分解决方案
    关于Doctype
  • 原文地址:https://www.cnblogs.com/qw-blog/p/shaoyang-hunnu-China.html
Copyright © 2020-2023  润新知