zoukankan      html  css  js  c++  java
  • 粒子群算法(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算法的改进方法,在下次博客中再分享。

    谢谢大家!!!

  • 相关阅读:
    "《算法导论》之‘图’":不带权二分图最大匹配(匈牙利算法)
    "C#":MySql批量数量导入
    MySql常用操作语句(2:数据库、表管理以及数据操作)
    MySql常用操作语句(1:启动、连接数据库及用户操作)
    HTML 段落
    HTML 标题
    HTML 属性
    HTML 元素
    HTML 基础
    HTML 编辑器
  • 原文地址:https://www.cnblogs.com/qw-blog/p/shaoyang-hunnu-China.html
Copyright © 2011-2022 走看看