Particle Swarm Optimisation

Enrico Schumann

Keywords

Particle Swarm, population-based methods

Unreviewed

The Algorithm

Particle Swarm Optimisation (PS) is a population-based method and was proposed for the optimisation of continuous objective functions . While the metaphor for other population-based methods (like Differential Evolution or Genetic Algorithms) was evolution, the narrative for PS is based on flocks of birds that search for food.

The initial population consists of $n_P$ solutions that are represented by real-valued vectors. In each iteration, each solution is updated by adding another vector called velocity $v_i$. This velocity changes over the course of the optimisation. More specifically, at the start of each iteration the directions towards the best solution found so far by the particular solution, $Pbest_i$, and the best overall solution, $Pbest_{gbest}$, are determined. The sum of these two directions (which are the differences between the respective vectors, see Line 7 in the pseudocode below) are perturbed by multiplication with a uniform random variable $u$ and a constant $c$. The vector so obtained is added to the previous $v_i$; the resulting updated velocity is added to the respective solution. In some implementations, the velocities are reduced in every generation by setting the inertia parameter $\delta$ to a value smaller than unity.

(1)