The particle swarm is an algorithm for finding optimal regions of complex
search spaces through the interaction of individuals in a population of
particles. 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 particle's velocities
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 depiction is developed, which completely
describes the system. 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
modifications 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.