Particle Swarm Optimization (PSO) is an algorithm for optimization that is inspired by swarm intelligence. It was invented in 1995 by Russell Eberhart and James Kennedy. PSO optimizes a problem by having a population of candidate solutions, called particles, that fly through the problem space, with the movements of each particle influenced by its own best solution and the best solution in its neighborhood.