From Theory to Practice with Particle Swarm Optimization, Using Python

Here’s a tutorial on what PSO is and how to use it

There is a joke that cracks me up:

“Did you know that, before the clock was invented, people had to actively roam around and ask people the time?”

There is obviously no need to explain the joke, but if we were to overthink it a little bit (like good mathematicians do) we can say that the joke is about the fact that the information of a particle of a group can be used to inform all the other particles. This concept is actually way deeper than the joke I just said and can be exploited further.

Let’s consider a self-organized system, such as bird flocking or fish schooling. We can define this system as one made of particles (e.g. a particle is a bird). We can also assume with a good degree of approximation that these particles move around in space adjusting their positions based on two factors:

  • The best position that the specific particle knows: what the bird thinks is best for themselves.
  • The global best position that is given by all the particles “communicating” with each other: what the bird is instructed to do by the “main bird”