Revision 84117867 of "Repulsive particle swarm optimization" on enwikiIn [[mathematics]], specifically in [[optimization (mathematics)|optimization]], '''repulsive particle swarm optimization''' ('''RPSO''') is a [[global optimization]] [[algorithm]]. It belongs to the class of [[stochastic|stochastic]] [[evolutionary algorithm|evolutionary]] global optimizers, and is a variant of [[particle swarm optimization]] (PSO).
There are several different realizations of RPSO. Common to all realizations is the repulsion between particles. This can prevent the [[swarm intelligence|swarm]] being trapped in [[local minimum|local minima]], which would cause a premature [[convergence|convergence]] and would lead the optimization algorithm to fail to find the [[global optimum]].
In RPSO the future [[velocity]] <math>\mathbf{v}_{\mathrm{next}}</math> of a particle at position <math>\mathbf{x}</math> with a recent velocity <math>\mathbf{v}</math> is calculated by
:<math>\mathbf{v}_{\mathrm{next}} = \omega \mathbf{v} + a \ \chi_1 \ (-\mathbf{x}+\hat{\mathbf{x}})
+ b \ \chi_2 \ \omega (-\mathbf{x}+\hat{\mathbf{y}})
+ c \ \chi_3 \ \omega \ \mathbf{z}</math>
where
*<math>\chi_1,\ \chi_2,\ \chi_3</math> : random numbers <math>\in [0,\ 1]</math>
*<math>\omega</math> : inertia weight <math>\in [0.01,\ 0.7]</math>
*<math>\hat{\mathbf{x}}</math> : best position of a particle
*<math>\hat{\mathbf{y}}</math> : best position of a randomly chosen other particle from within the swarm
*<math>\mathbf{z}</math> : a random velocity vector
*<math>a,b,c</math> : constants
The main difference between PSO and RPSO is the propagation mechanism to determine new positions for a particle in the search space.
RPSO is capable of finding global optima in more complex [[search space|search spaces]]. On the other hand, compared to PSO it may be slower on certain types of optimization problems.
==See also==
*[[Particle swarm optimization]]
*[[Ant colony optimization]]
*[[Genetic algorithm]]
*[[Swarm intelligence]]
*[[Differential evolution]]
==External links==
*[http://psotoolbox.sourceforge.net Particle Swarm Optimization toolbox] An open source PSO toolbox written in Matlab. ([http://sourceforge.net/projects/psotoolbox sourceforge home for the project])
*[http://www.particleswarm.info Particle Swarm Central ]
[[Category:Optimization algorithms]]All content in the above text box is licensed under the Creative Commons Attribution-ShareAlike license Version 4 and was originally sourced from https://en.wikipedia.org/w/index.php?oldid=84117867.
![]() ![]() This site is not affiliated with or endorsed in any way by the Wikimedia Foundation or any of its affiliates. In fact, we fucking despise them.
|