Project Computing

Particle Swarm Optimization (PSO) Visualisation (or "PSO Visualization")
Last updated: 14 Apr 2004
This page has been translated into Portuguese by Artur Weber & Adelina Domingos
This page has been translated into Serbo-Croatian by Jovana Milutinovich.
This page has been translated into Bosnian by Ratko Kecmanovic.
This page has been translated into Romanian by Paula Nuculescu.
This page has been translated into Belarussian by Vicky Rotarova.

The bottom of this page contains a simple Java applet which visually demonstrates a particle swarm searching for a maximum value in a 3-D landscape. The Java applet is delivered as a 45KB jar file which has been tested with the Microsoft JVM installed under IE6 but should work with any JVM 1.1 or higher.

A brief introduction to Particle Swarm Optimization

Particle Swarm Optimization is an approach to problems whose solutions can be represented as a point in an n-dimensional solution space. A number of of particles are randomly set into motion through this space. At each iteration, they observe the "fitness" of themselves and their neighbours and "emulate" successful neighbours (those whose current position represents a better solution to the problem than theirs) by moving towards them. Various schemes for grouping particles into competing, semi-independent flocks can be used, or all the particles can belong to a single global flock. This extremely simple approach has been suprisingly effective across a variety of problem domains.

PSO was developed by James Kennedy and Russell Eberhart in 1995 after being inspired by the study of bird flocking behaviour by biologist Frank Heppner. It is related to evolution-inspired problem solving techniques such as genetic algorithms.


Feel free to contact Project Computing to discuss applications of PSO.

About this applet

PSO is typically used to address problems with many unknowns (of many "dimensions"). This visualisation is comparatively extremely simple and trivial: the swarm searches across 2 unknowns (or "dimensions"), and the value of each point in these 2 dimensions has been plotted in the 3rd dimension.

This applet was written by Kent Fitch, Project Computing by building on and combining modified versions of these 2 programs:

What this applet does
How to use this applet
Things to try
PSO Visualisation Applet:

Zip containing all the source:

Project Computing Pty Ltd ACN: 008 590 967