3D Particle Swarm Optimization

By Joey Harrison and Ankur Desai

Particle Swarm Optimization (PSO) is a population-oriented stochastic search technique similar to genetic algorithms, evolutionary strategies, and other evolutionary computation algorithms. The technique discovers solutions for N-dimensional parameterized problems: basically it discovers the point in N-dimensional space which maximizes some quality function.

For no particularly good reason, the PSO 3D version has a different notion of "neighborhood" than the 2D version. Rather than organize the particles in a ring, and letting a particle's "neighborhood" be the M individuals on either side of the particle, the 3D version simply groups the particles into P disjoint sets ("neighborhoods"). We realize this is a nonstandard approach in PSO but thought it would be interesting to try.

PSO works approximately as follows: a "swarm" of candidate solutions ("particles") are placed randomly throughout the space and with a random initial velocity. Each particle measures the quality of its present location in space. This velocity vector affects how each particle moves in the space, and it is changed each timestep according to a weighted sum of the following values:

This simulation applies a swarm of particles to simple two-dimensional problems sufficient for visualization. The model parameters are: