Particle Swarm Optimization

Evolutionary and Swarm Design Group

Christian Jacob and Namrata Khemka (2004)

 

HOME

MODEL»

SOCCER KICK DOWNLOAD PUBLICATION

 

 

Particle Swarm Optimization is an optimization technique which provides an evolutionary based search. This search algorithm was introduced by Dr Russ
Eberhart and Dr James Kennedy
in 1995. James is a social psychologist and is from the Bureau of Labor Stats, Washington DC. Russ is an electrical
engineer from Purdue school of engineering and technology, indianapolis. The term PSO refers to a relatively new family of algorithms that may be used to find optimal or near to optimal solutions to numerical and qualitative problems. It is implemented easily in most of the programming languages since the core of the program can be written in a single line of code and has proven both very effective and quick when applied to a diverse set of optimization problems.

 

PSO algorithms are especially useful for parameter optimization in continuous, multi-dimensional search spaces. PSO is mainly inspired by social behaviour patterns of organisms that live and interact within large groups. In particular, PSO incorporates swarming behaviours observed in flocks of birds, schools of fish, or swarms of bees.

 

The connection to search and optimization problems is made by assigning direction vectors and velocities to each point in a multi-dimensional search space. Each point then 'moves' or 'flies' through the search space following its velocity vector, which is influenced by the directions and velocities of other points in its neighbourhood. These localized interactions with neighbouring points propagate through the entire 'swarm' of potential solutions. How much influence a particular point has on other points is determined by its 'fitness', that is a measure assigned to a potential solution, which captures how good it is compared to all other solution points. Hence, an evolutionary idea of 'survival of the fittest' (in the sense of Darwinian evolution; Darwin 1996) comes into play, as well as a social behaviour component through a 'follow the local leader' effect (White 1959) and emergent pattern formation (Bonabeau et al. 1999).


We explain the PSO algorithm in detail and demonstrate its performance on one-,two- and multi-dimensional continuous search problems.

 

 

PSO Algorithm


1) Initialize the population - locations and velocities


2) Evaluate the fitness of the individual particle (pBest)


3) Keep track of the individuals highest fitness (gBest)


4) Modify velocities based on pBest and gBest position


5) Update the particles position


6) Terminate if the condition is met


7) Go to Step 2

 

Each particle keeps track of its coordinates in the problem space which are associated with the best solution (fitness) it has achieved so far. The fitness value is also stored. This value is called pbest . When a particle takes all the population as its topological neighbors, the best value is a global best and is called gbest .


After finding the two best values, the particle updates its velocity and positions with following equation (a) and (b).


(a)     v[] = v[] + c1 * rand() * (pbest[] - present[]) + c2 * rand() * (gbest[] - present[])
(b)     present[] = persent[] + v[]

 


Detailed Algorithm

 

 

 

 

Experiment 1

 

 


Experiment 2

 

 

 

Experiment 3

 

© Copyright 2004 - E&S group