Saturday, February 5, 2011

Particle Swarm Optimization

James Kennedy' and Russell Eberhart
Washington, DC 20212
kennedyjim @bls .gov
2Purdue School of Engineering and Technology
Indianapolis, IN 46202-5160
eberhart @ engr.iupui .edu
A concept for the optimization of nonlinear functions using particle swarm methodology is introduced.The evolution of several paradigms is outlined, and an implementation of one of the paradigms is  discussed. Benchmark testing of the paradigm is described, and applications, including nonlinear  function optimization and neural network training, are proposed. The relationships between particle  swarm optimization and both artificial life and genetic algorithms are described,

This paper introduces a method for optimization of continuous nonlinear functions. The method was  discovered through simulation of a simplified social model; thus the social metaphor is discussed, though the algorithm stands without metaphorical support. This paper describes the particle swarm optimization concept in terms of its precursors, briefly reviewing the stages of its development from social simulation to optimizer. Discussed next are a few paradigms that implement the concept. Finally, the implementation of one paradigm is discussed in more detail, followed by results obtained from applications and tests upon which the paradigm has been shown to perform successfully. Particle swarm optimization has roots in two main component methodologies. Perhaps more obvious  are its ties to artificial life (A-life) in general, and to bird flocking, fish schooling, and swarming theory  in particular. It is also related, however, to evolutionary computation, and has ties to both genetic  algorithms and evolutionary programming. These relationships are briefly reviewed in the paper.  Particle swarm optimization as developed by the authors comprises a very simple concept, and  paradigms can be implemented in a few lines of computer code. It requires only primitive  mathematical operators, and is computationally inexpensive in terms of both memory requirements and  speed. Early testing has found the implementation to be effective with several kinds of problems. This  paper discusses application of the algorithm to the training of artificial neural network weights,  Particle swarm optimization has also been demonstrated to perform well on genetic algorithm test  functions. This paper discusses the performance on Schaffer's f6 function, as described in Davis

A number of scientists have created computer simulations of various interpretations of the movement of  organisms in a bird flock or fish school. Notably, Reynolds [8] and Heppner and Grenander [4] presented simulations of bird flocking. Reynolds was intrigued by the aesthetics of bird flocking  choreography, and Heppner, a zoologist, was interested in discovering the underlying rules that enabled  large numbers of birds to flock synchronously, often changing direction suddenly, scattering and
regrouping, etc. Both of these scientists had the insight that local processes, such as those modeled by cellular automata, might underlie the unpredic:table group dynamics of bird social behavior. Both models relied heavily on manipulation of inter-individual distances; that is, the synchrony of flocking behavior was thought to be a function of birds’ efforts to maintain an optimum distance between themselves and their neighbors. It does not seem a too-large leap of logic to suppose that some same rules underlie animal social behavior, including herds, schools, and flocks, and that of humans. As sociobiologist E. 0. Wilson [9] has written, in reference to fish schooling, “In theory at least, individual members of the school canprofit from the discoveries and previous experience of all other members of the school during the search for food. This advantage can become decisive, outweighing the disadvantages of competition for food items, whenever the resource is unpedictably distributed in patches” (p.209). This statement suggests that social sharing of information among conspeciates offers an evolutionary advantage: this hypothesis was fundamental to the developnmt of particle swarm optimization. One motive for developing the simdation was to model human social behavior, which is of course not identical to fish schooling or bird flocking. Che important difference is its abstractness. Birds and fish adjust their physical movement to avoid prechtors, seek food and mates, optimize environmental parameters such as temperature, etc. Humans; adjust not only physical movement but cognitive or experiential variables as well. We do not usually walk in step and tum in unison (though some fascinating research in human conformity shows that we are capable of it); rather, we tend to adjust our beliefs and attitudes to conform with those cd our social peers. This is a major distinction in terms of contriving a computer simulation, for at least one obvious reason: collision. Two individuals can hold identical attitudes and beliefs without banging together, but two birds cannot occupy the same position in space without colliding. It seems reasonable, in discussing human social behavior, to map thie concept of change into the birdfish analog of movement. This is consistent with the classic Aristotelim view of qualitative and quantitative change as types of movement. Thus, besides moving through tlhree-dimensional physical space, and avoiding collisions, humans change in abstract multidimensional space, colision-free. Physical space of course affects informational inputs, but it is arguably a trivial component of psychological experience. Humans learn to avoid physical collision by an early age, hit navigation of n-dimensional psychosocial space requires decades of practice - and many of us never seem to acquire quite all the skills we need!
Particle swarm optimization is an extremely wimple algorithm that seems to be effective for optimizing  a wide range of functions. We view it as a ]mid-level form of A-life or biologically derived algorithm, occupying the space in nature between evollutionary search, which requires eons, and neural processing, which occurs on the order of milliseconds. Social optimization occurs in the time frame of ordinary experience - in fact, it is ordinary experieince. In addition to its ties with A-life, particle swarm  optimization has obvious ties with evolutioiniuy computation. Conceptually, it seems to lie somewhere  between genetic algorithms and evolutionary programming. It is highly dependent on stochasti  processes, like evolutionary programming. The adjustment toward pbest and gbest by the particle swarm optimizer is conceptually similar to the crossover operation utilized by genetic algorithms. It uses the concept ofjimess, as do aU evolutionary computation paradigms.  accelerating toward “better” solutions. Other evolutionary computation schemes operate directly on potential solutions which are represented as locations in hyperspace. Much of the success of particle swarms seems to lie in the agents’ tendency to hurtle past their target. Holland’s chapter on the “optimum allocation of trials” [5] reveals the delicate balance between conservative testing of known regions versus risky exploration of the unknown. It appears that the current version of the paradigm allocates trials nearly optimally. The stochastic factors allow thorough search of spaces between regions that have been found to be relatively good, and the momentum effect caused by nmhfying the extant velocities rather than replacing them results in overshooting, or exploration of unknown regions of the problem domain. The authors of this paper are a social psychologist and an electrical engineer. The particle swarm optimizer serves both of these fields equally well. Why is social behavior so ubiquitous in the animal kingdom? Because it optimizes. What is a good way to solve engineering optimization problems? Modeling social behavior. Much further research remains to be conducted on this simple new concept and paradigm. The goals in developing it have been to keep it simple and robust, and we seem to have succeeded at that. The algorithm is written in a very few lines of code, and requires only specification of the problem and a few parameters in order to solve it. This algorithm belongs ideologically to that philosophical school that allows wisdom to emerge rather than trying to impose it, that emulates nature rather than trying to control it, and that seeks to make things simpler rather than more complex. Once again nature has provided us with a technique for processing information that is at once elegant and versatile.

No comments:

Post a Comment