Particle swarm optimization
From Wikipedia, the free encyclopedia
Particle swarm optimization (PSO) is a swarm intelligence based algorithm to find a solution to an optimization problem
in a search space, or model and predict social behavior in the presence of objectives.
Contents
1 Overview
2 A basic, canonical PSO algorithm
2.1 Pseudo code
2.2 Discussion
3 Variations and practicalities
4 Applications
5 See also
6 References
7 External links
Overview
Particle swarm optimization is a stochastic, population-based evolutionary computer algorithm for problem solving. It is a
kind of swarm intelligence that is based on social-psychological principles and provides insights into social behavior, as
well as contributing to engineering applications. The particle swarm optimization algorithm was first described in 1995 by
James Kennedy and Russell C. Eberhart. The techniques have evolved greatly since then, and the original version of the
algorithm is barely recognizable in the current ones.
Social influence and social learning enable a person to maintain cognitive consistency. People solve problems by talking
with other people about them, and as they interact their beliefs, attitudes, and behaviors change; the changes could
typically be depicted as the individuals moving toward one another in a sociocognitive space.
The particle swarm simulates this kind of social optimization. A problem is given, and some way to evaluate a proposed
solution to it exists in the form of a fitness function. A communication structure or social network is also defined, assigning
neighbors for each individual to interact with. Then a population of individuals defined as random guesses at the problem
solutions is initialized. These individuals are candidate solutions. They are also known as the particles, hence the name
particle swarm. An iterative process to improve these candidate solutions is set in motion. The particles iteratively evaluate
the fitness of the candidate solutions and remember the location where they had their best success. The individual's best
solution is called the particle best or the local best. Each particle makes this information available to their neighbors. They
are also able to see where their neighbors have had success. Movements through the search space are guided by these
successes, with the population usually converging, by the end of a trial, on a problem solution better than that of
non-swarm approach using the same methods.
The swarm is typically modelled by particles in multidimensional space that have a position and a velocity. These particles
fly through hyperspace (i.e., ) and have two essential reasoning capabilities: their memory of their own best position
and knowledge of the global or their neighborhood's best. In a minimization optimization problem, "best" simply meaning
the position with the smallest objective value. Members of a swarm communicate good positions to each other and adjust
their own position and velocity based on these good positions. So a particle has the following information to make a
suitable change in its position and velocity:
You can support Wikipedia by making a tax-deductible donation.
Particle swarm optimization - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Particle_swarm_optimization
1 of 6
8/21/2008 1:59 PM