鸿 网 互 联 www.68idc.cn

Particle Swarm Optimization(粒子群)——Introduction

来源:互联网 作者:佚名 时间:2014-04-23 07:41
粒子群在一定程度上与演化计算技术(比如遗传算法)有很大的相似之处。PSO 初始化为一群随机粒子(随机解)。然后通过迭代找到最优

Explanation of terms

Particle swarm optimization :粒子群优化理论

Stochastic OptimizationTechnique:随机优化技术

Evolutionary Computation Techniques:用计算机的计算来模仿生物的进化过程,演化计算技术

Genetic Algorithms:遗传算法

the Problem Space :所要解决的问题的解空间

Fitness:适应度值

pbest:personal best,个体最优值

lbest:local best,局部最优值

gbest:global best,全局最优值

Text

Particle swarm optimization (PSO) is a population based stochastic optimization technique developed by Dr. Eberhart and Dr. Kennedy in 1995, inspired by social behavior of bird flocking or fish schooling.

粒子群优化理论(简称粒子群)于1995年由 Eberhart 和 Kennedy博士首次在IEEE杂志公开发表。它是一种当今流行的基于随机优化的技术,模仿鸟群或者鱼群的社会行为(比如捕食过程)。

PSO shares many similarities with evolutionary computation techniques such as Genetic Algorithms (GA). The system is initialized with a population of random solutions and searches for optima by updating generations. However, unlike GA, PSO has no evolution operators such as crossover and mutation. In PSO, the potential solutions, called particles, fly through the problem space by following the current optimum particles.

粒子群在一定程度上与演化计算技术(比如遗传算法)有很大的相似之处。PSO 初始化为一群随机粒子(随机解)。然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个"极值"(下文会提到pbest和lbest,即此处说的optima)来更新自己。然而,与遗传算法不同的是。粒子群没有交叉和变异这两种进化操作。在粒子群中,“粒子”本身就是潜在的解,通过跟随当前最佳粒子(下文中会有各种最佳粒子,注意结合过程来区别)来搜索问题的解空间

Each particle keeps track of its coordinates in the problem space which are associated with the best solution (fitness) it has achieved so far. (The fitness value is also stored.) This value is called pbest. Another "best" value that is tracked by the particle swarm optimizer is the best value, obtained so far by any particle in the neighbors of the particle. This location is called lbest. when aparticle takes all the population as its topological neighbors, the best value is a global best and is called gbest.

每一个粒子(上文中随机初始化出来的)在解空间中跟踪自己所能到达的最优解(用适应度值来表征,且总是会被更好的所更新)来形成自己的路线。(也就是说,在解空间中,粒子依据更好的适应度值来调整自己,最后形成一条自己的轨迹)(经过自己的轨迹之后,会得到一个pbest)这个值叫做pbest。另一个“最优解”由任一个粒子与其周围的邻居比较之后产生。这个解(这里的location就是解,也是粒子,,后面他会说明粒子本身有两个属性,一个是位置,即它自身的解,一个是速度,起到改变自身位置的作用,不改变那咋进化呢?:))叫做lbest(即适用部分种群拿来作为一个粒子的周围邻居来优化,可以不用)。当所选的粒子种群中的所有粒子(这里的all the population是初始化出来的种群,当然有时候种群太小,相对容易掉入局部最优解中)都被遍历之后,从所有的lbest中会得到一个真正的全局最优解,叫做gbest。

The particle swarm optimization concept consists of, at each time step, changing the velocity of (accelerating) each particle toward its pbest and lbest locations (local version of PSO). Acceleration is weighted by a random term, with separate random numbers being generated for acceleration toward pbest and lbest locations.

粒子群优化的概念包括(每一步迭代过程):改变粒子群冲向pbest和lbest的速度。两个速度随机产生,相互独立。(公式中很容易看出来,至于公式的解释,另外解释)

In past several years, PSO has been successfully applied in many research and application areas. It is demonstrated that PSO gets better results in a faster, cheaper way compared with other methods.

在过去的一些年里,粒子群技术已经成功应用到很多的研究和应用领域中。这些研究表明粒子群与其他优化技术相比具有很快,更高性价比的优势。

Another reason that PSO is attractive is that there are few parameters to adjust. One version, with slight variations, works well in a wide variety of applications. Particle swarm optimization has been used for approaches that can be used across a wide range of applications, as well as for specific applications focused on a specific requirement.

导致粒子群如此吸引人的另外一个因素是:需要调整的参数很少。模型公式中只要改变很少的参数就可以应用到非常广泛的领域。当然,对一些特殊领域中的一些特殊要求,粒子群同样适用,简直就是“经济适用男”,亲,要不要来一个试试:)~~~

附一个标准模型公式:

在每次迭代过程中,粒子通过个体极值和群体极值更新自身的速度和位置,即

其中,w为惯性权重;d=1,2…,D;i=1,2…,n;k为当前迭代次数;Vid为粒子的速度;c1和c2是非负的常数,称为加速度因子,通常设为c1=c2=2;r1和r2分布于[0,1]区间的随机数。为防止粒子的盲目搜索,一般建议将其位置和速度限制在一定的区间[-Xmax,Xmax]、[-Vmax,Vmax]。

linux

网友评论
<