58 IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, VOL. 6, NO. 1, FEBRUARY 2002
The Particle Swarm—Explosion, Stability, and
Convergence in a Multidimensional Complex Space
Maurice Clerc and James Kennedy
Abstract—The particle swarm is an algorithm for finding op-
timal regions of complex search spaces through the interaction of
individuals in a population of particles. Even though the algorithm,
which is based on a metaphor of social interaction, has been shown
to perform well, researchers have not adequately explained how
it works. Further, traditional versions of the algorithm have had
some undesirable dynamical properties, notably the particles’ ve-
locities needed to be limited in order to control their trajectories.
The present paper analyzes a particle’s trajectory as it moves in
discrete time (the algebraic view), then progresses to the view of
it in continuous time (the analytical view). A five-dimensional de-
piction is developed, which describes the system completely. These
analyses lead to a generalized model of the algorithm, containing
a set of coefficients to control the system’s convergence tendencies.
Some results of the particle swarm optimizer, implementing modi-
fications derived from the analysis, suggest methods for altering the
original algorithm in ways that eliminate problems and increase
the ability of the particle swarm to find optima of some well-studied
test functions.
Index Terms—Convergence, evolutionary computation, opti-
mization, particle swarm, stability.
I. INTRODUCTION
P
ARTICLE swarm adaptation has been shown to suc-
cessfully optimize a wide range of continuous functions
[1]–[5]. The algorithm, which is based on a metaphor of social
interaction, searches a space by adjusting the trajectories of
individual vectors, called “particles” as they are conceptualized
as moving points in multidimensional space. The individual
particles are drawn stochastically toward the positions of
their own previous best performance and the best previous
performance of their neighbors.
While empirical evidence has accumulated that the algorithm
“works,” e.g., it is a useful tool for optimization, there has thus
far been little insight into how it works. The present analysis
begins with a highly simplified deterministic version of the par-
ticle swarm in order to provide an understanding about how it
searches the problem space [4], then continues on to analyze
the full stochastic system. A generalized model is proposed, in-
cluding methods for controlling the convergence properties of
the particle system. Finally, some empirical results are given,
showing the performance of various implementations of the al-
gorithm on a suite of test functions.
Manuscript received January 24, 2000; revised October 30, 2000 and April
30, 2001.
M. Clerc is with the France Télécom, 74988 Annecy, France (e-mail: Maurice.
Clerc@WriteMe.com).
J. Kennedy is with the Bureau of Labor Statistics, Washington, DC 20212
USA (e-mail: Kennedy_jim@bls.gov).
Publisher Item Identifier S 1089-778X(02)02209-9.
A. The Particle Swarm
A population of particles is initialized with random positions
and velocities and a function is evaluated, using the par-
ticle’s positional coordinates as input values. Positions and ve-
locities are adjusted and the function evaluated with the new
coordinates at each time step. When a particle discovers a pat-
tern that is better than any it has found previously, it stores the
coordinates in a vector . The difference between (the best
point found by so far) and the individual’s current position
is stochastically added to the current velocity, causing the tra-
jectory to oscillate around that point. Further, each particle is
defined within the context of a topological neighborhood com-
prising itself and some other particles in the population. The
stochastically weighted difference between the neighborhood’s
best position and the individual’s current position is also
added to its velocity, adjusting it for the next time step. These
adjustments to the particle’s movement through the space cause
it to search around the two best positions.
The algorithm in pseudocode follows.
Intialize population
Do
For to Population Size
if then
For to Dimension
sign abs
Next
Next
Until termination criterion is met
The variables and are random positive numbers, drawn
from a uniform distribution and defined by an upper limit ,
which is a parameter of the system. In this version, the term vari-
able is limited to the range for reasons that will be
explained below. The values of the elements in are deter-
mined by comparing the best performances of all the members
of ’s topological neighborhood, defined by indexes of some
other population members and assigning the best performer’s
index to the variable . Thus, represents the best position
found by any member of the neighborhood.
The random weighting of the control parameters in the al-
gorithm results in a kind of explosion or a “drunkard’s walk”
as particles’ velocities and positional coordinates careen toward
infinity. The explosion has traditionally been contained through
1089–778X/02$17.00 © 2002 IEEE