Repulsive particle swarm optimization
From Wikipedia, the free encyclopedia
In mathematics, specifically in optimization, repulsive particle swarm optimization (RPSO) is a global optimization algorithm. It belongs to the class of stochastic 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 being trapped in local maxima, which would cause a premature convergence and would lead the optimization algorithm to fail to find the global optimum.
In one type of this RPSO-class algorithm, the future velocity of a particle at position with a recent velocity is calculated by
where
- : random numbers (different at each iteration)
- ω : inertia weight
- : best position of a particle
- : best position of a randomly chosen other particle from within the swarm
- : a random velocity vector
- a,b,c : constants
The repulsion property is realized for a negative b. 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 spaces. On the other hand, compared to PSO it may be slower on certain types of optimization problems. This type of RPSO was first introduced as an application to a robust estimation problem [1].
[edit] References
- ^ Urfalioglu, O., Robust estimation of camera rotation, translation and focal length at high outlier rates, CRV04.
[edit] See also
[edit] External links
- Particle Swarm Optimization toolbox An open source PSO toolbox written in Matlab. *Particle Swarm Central
- FORTRAN Codes for RPSO FORTRAN 77 Codes for Repulsive Particle Swarm Optimization with a large number of test problems