首页 > 技术文章 > PSO-模拟粒子群算法

onenoteone 2019-02-15 15:29 原文

没实现过,PSO算法在计算智能算法里面,算是比较出色的一类,有很多改进版,其思路非常简单,但是有较强大的寻优能力。

Parsopoulos提出一种基于“分而治之”思想的多种群PSO算法,其核心思想是将高维的目标函数分解成多个低维函数,然后每个低维的子函数由一个子粒子群进行优化,该算法对高维问题的求解提供了一个较好的思路.

 

算法流程如下:

 1、初始化

首先,我们设置最大迭代次数,目标函数的自变量个数,粒子的最大速度,位置信息为整个搜索空间,我们在速度区间和搜索空间上随机初始化速度和位置,设置粒子群规模为M,每个粒子随机初始化一个飞速度。

2、个体极值与全局最优解

定义适应度函数,个体极值为每个粒子找到的最优解,从这些最优解找到一个全局值Pi,叫做本次全局最优解Pi。与历史全局最优Pg比较,进行更新。

3、 更新速度和位置的公式

4、终止条件

(1)达到设定迭代次数

(2)代数之间的差值满足最小界限

 

作用

(1)模式识别和图像处理。PSO算法已在图像分割、图像配准、图像融合、图像识别、图像压缩和图像合成等方面发挥作用。

  1. 神经网络训练。PSO算法可完成人工神经网络中的连接权值的训练、结构设计、学习规则调整、特征选择、连接权值的初始化和规则提取等。但是速度没有梯度下降优化的好,需要较大的计算资源。一般都算不动。
  2. 电力系统设计,例如:日本的Fuji电力公司的研究人员将电力企业某个著名的RPVC(Reactive Power and Voltage Control)问题简化为函数的最小值问题,并使用改进的PSO算法进行优化求解。
  3. 半导体器件综合,半导体器件综合是在给定的搜索空间内根据期望得到的器件特性来得到相应的设计参数。
  4. 还有其他的一些相关产业。包括自动目标检测、生物信号识别、决策调度、系统识别以及游戏训练等方面也取得了一定的研究成果。

推荐阅读