# What is Particle Swarm Optimization?

Particle Swarm Optimization, or PSO, is a stochastic optimization method developed in 1995. It is a population-based technique inspired by the movements of birds flocking.

The algorithm starts with a group of candiate solutions that are distributed randomly in solution space, called particles. These particles each have velocities, and a memory of where the best global solution is and the best solution for the particle is.

Then on each time step, the particles update their velocity based on these values and move.

# Algorithm

In order to run the algorithm, you need a way to generate uniform random solutions, and a function to return how good a solution is.