Particle swarm optimization is a population-based stochastic optimization technique inspired by bird flocking or fish schooling. It works by having a population of candidate solutions, called particles, and moving these particles around in the search space according to simple mathematical formulae over the particle's position and velocity. Each particle keeps track of its coordinates in the problem space which are associated with the best solution that particle has achieved so far. The main idea is that hope flies along with the flock.