Review Article Analysis of the Publications on the Applications of Particle Swarm Optimisation

Particle swarm optimisation (PSO) has been enormously successful. Within little more than a decade hundreds of papers have reported successful applications of PSO. In fact, there are so many of them, that it is difficult for PSO practitioners and researchers to have a clear up-to-date vision of what has been done in the area of PSO applications. This brief paper attempts to fill this gap, by categorising a large number of publications dealing with PSO applications stored in the IEEE Xplore database at the time of writing.


INTRODUCTION
The class of complex systems sometimes referred to as swarm systems is a rich source of novel computational methods that can solve difficult problems efficiently and reliably.When swarms solve problems in nature, their abilities are usually attributed to swarm intelligence; perhaps the best-known examples are colonies of social insects such as termites, bees, and ants.In recent years, it has proved possible to identify, abstract, and exploit the computational principles underlying some forms of swarm intelligence, and to deploy them for scientific and industrial purposes.One of the best-developed techniques of this type is particle swarm optimisation (PSO) [1].
In PSOs, which are inspired by flocks of birds and shoals of fish, a number of simple entities, the particles, are placed in the parameter space of some problem or function, and each evaluates the fitness at its current location.Each particle then determines its movement through the parameter space by combining some aspect of the history of its own fitness values with those of one or more members of the swarm, and then moving through the parameter space with a velocity determined by the locations and processed fitness values of those other members, along with some random perturbations.The members of the swarm that a particle can interact with are called its social neighbourhood.Together the social neighbourhoods of all particles form a PSOs social network.More precisely, in the canonical version of PSO, each particle is moved by two elastic forces, one attracting it with random magnitude to the fittest location so far encountered by the particle, and one attracting it with random magnitude to the best location encountered by any of the particle's social neighbours in the swarm.If the problem is N dimensional, each particle's position and velocity can be represented as a vector with N components (one for each dimension).Starting with the velocity vector, v = (v 1 , . . ., v N ), each component, v i , is given by where x si is the ith component of the best point visited by the neighbours of the particle, x i (t) is the ith component of the particle's current location, x pi is the ith component of its personal best, R 1 and R 2 are two independent random variables uniformly distributed in [0, 1], ω is a constant known as the inertia weight [2], and ψ 1 and ψ 2 are two constants, known as the acceleration coefficients, which control the relative proportion of cognition and social interaction in the swarm.The same formula is used independently for each dimension of the problem, and synchronously for all particles.The position of a particle is updated every time step using the equation The next iteration takes place after all particles have been moved.Eventually, the swarm as a whole, like a flock of birds collectively foraging for food, is likely to move close to the best location.
The following alternative velocity-update equation was developed in [3] and is also widely used: where κ is a constant called the constriction coefficient.If ψ 1 , ψ 2 , and κ (or ω) are correctly chosen, the PSO is guaranteed to be stable without the need for special constraints (e.g., bounding of velocities and positions).
The topology of the social network used by a PSO is at least as important in determining its behaviour and performance as are the details of the velocity update equation.Many variants of the canonical PSO and many topologies have been developed and tested in the last decade.We cannot review them here.The interested reader, however, will be able to find a comprehensive review of PSO techniques in [4].
PSO can be and has been used across a wide range of applications.In general, we can say that areas where PSO has shown particular promise include multimodal problems and problems for which there is no specialised method available or all specialised methods give unsatisfactory results.However, it is hard to be much more specific that PSO applications are so numerous and diverse that a whole book would be necessary just to review the most paradigmatic ones, assuming someone could identify them among the many hundreds of applications reported in the literature, a really enormous task.
Here we have a much more modest objective: to identify the main classes of applications where PSO has been successfully deployed.We have based our categorisation on an analysis of titles and abstracts of the over 1100 publications on particle swarm optimisation stored, at the time of writing, in the IEEE Xplore database.Of these publications, around 350 are proposals for improvements and specialisations of PSO.Around 700 papers (55 of which are journal papers) can be classified as applications of PSO, although many of them involve also the customisation or extension of the method to best suit the specific application of interest.(The remaining entries in the database are conference proceedings books and other miscellaneous entries.) Although the analysis has been largely manual, because of the large size of this database, to speed up the work we have made use of several small computer programs which helped us in the identification of the main categories of applications and gave us a first rough classification of papers.Categories and class assignments were then checked and adjusted manually one-by-one.We describe the process in more detail in Section 2.
As a result of this effort we divide PSO applications into 26 different categories.Categories and related applications are listed in alphabetical order in the subsections of Section 3.For each class of applications we indicate what fraction of all the application papers in the IEEE Xplore is devoted to that class.However, one should bear in mind that many (if not most) papers span more than one category.For examples, many classifiers are hybrids of PSO and neural networks, many applications involve some form of design, and so on.
We provide some conclusions in Section 4.

CATEGORY SELECTION AND CLASSIFICATION
Dividing PSO applications into areas is difficult.So, as we mentioned in the previous section, we partially mechanised the process.This was done through a number of programs in the Octave/Matlab language, Xemacs macros, and Unix utilities.
We started our analysis by searching the IEEE Xplore database for any papers matching the search phrase "particle swarm optimization."This produced around 1,100 hits.We did not try to directly identify application papers.Instead, we mechanically extracted all terms used in titles and abstracts.After manually excluding determiners, adjectives, and so on, this produced well over 4,000 unique terms.These were then manually checked for relevance from the point of view of applications.928 key terms remained after this filtering process.
We then used the key terms to define a similarity relationship between papers and used papers to define a similarity relationship between key terms, as follows.Each paper was assigned a vector with 928 components (as many as our key terms).Each component represented how many times the corresponding key term appeared in title and abstract of the paper.Given any two papers, we took the scalar product between the corresponding vectors as the similarity between the two papers.Similarly, each key term was assigned a vector with 1100 components (as many as the PSO papers in IEEE Xplore).Each component represented how many times the key term appeared in title and abstract of the corresponding paper.We then defined the similarity between key terms as the scalar product between the corresponding vectors.
These two similarities relationships induce corresponding graph structures on the paper and key term "spaces," where each paper/term corresponds to a node and nodes are connected by edges wherever similarity between corresponding papers/terms is above some prefixed threshold (e.g., zero).The edges are weighted by similarity.We can then make use of graph drawing packages to obtain pictorial representations of PSO application papers, PSO application areas, and their relationships.
For this purpose we used the open-source graph drawing program neato (http://www.graphviz.org).In this program, the weights of the edges in a graph are interpreted as attractive forces between nodes.Starting from a random placement, the program iteratively adjusts the position of the nodes in an attempt to minimise the energy in the system.Attractive forces are balanced by a basic repulsive force between nodes to prevent the graph from collapsing to a single point.Figures 1 and 2 show two examples of the types of graphs one obtains.
By zooming on areas where a high density of links are present, one can obtain semiquantitative evidence of which are the important application areas in PSO.See, for example, Figure 3 where we show a zoomed version of Figure 1.One can clearly see there that some terms, such as design, control, power, and antenna, act as "hubs" in PSO applications.
After performing this information gathering exercise, we proceeded to do a more formal analysis.The key terms were scored on the basis of how many papers in the database used such terms in title and abstract.This further helped identify important application categories.Indeed, the most frequent terms were "network," "control," "model," "design," "power," "neural," "plan," "fuzzy," "class," "cluster," "antenna," "image," "planning," and "scheduling," but many others were identified as important.Based on this analysis, we created provisional categories (the headings of the subsections in Section 3).
All PSO papers in the IEEE Xplore database were then mechanically provisionally assigned to one of the most frequent keywords.Then we manually analysed each publication and either confirmed the mechanical classification, moved the paper to a different category, deleted the paper if it was not an application paper, or, occasionally, created a new category for that paper.
The result of this process is reported in the next section.

PSO APPLICATIONS
In our search for PSO application papers, we eventually identified around 650 which deserved citation.However, it is very difficult for any journal to publish a paper including so many references.To circumvent the problem, in this paper we only cite journal papers, but provide an online technical report [5] (available from http://www.essex.ac.uk/dces/research/ publications/technicalreports/2007/tr-csm469.pdf) with all citations and references.The BibTeX bibliography used for these papers is available at http://cswww.essex.ac.uk/staff/ rpoli/ieeepso.bib.

Antennas
The area of antenna design is extremely popular with approximately 5.8% of all application papers in the IEEE Xplore database covering this area.Applications include (see [6]) the optimal control [7] and design [8,9] of phased arrays, broadband antenna design [10,11] and modelling, design of Yagi-Uda arrays [12], array failure correction, optimisation of profiled corrugated horn antennas, optimisation of a reflectarray antenna, far-field radiation pattern reconstruction [13], antenna modelling, design of planar antennas, conformal antenna array design [14], design of patch antennas, antenna miniaturisation, design of multiband antennas [15], design of aperiodic antenna arrays, near-field antenna measurements [16], synthesis of antenna arrays, reflector antennas, adaptive array antennas, design of implantable antennas.

Biomedical
Biological, medical, and pharmaceutical applications are also very popular with approximately 4.3% of all application papers in the IEEE Xplore database covering these areas.Applications include human tremor analysis for the diagnosis of Parkinson's disease, inference of gene regulatory networks, human movement biomechanics optimisation, phylogenetic tree reconstruction, cancer classification [17], and survival prediction, DNA motif detection, gene clustering, identification of transcription factor binding sites in DNA, biomarker selection, protein structure prediction and docking, drug design, radiotherapy planning, analysis of brain magnetoencephalography data, RNA secondary structure determination, electroencephalogram analysis, biometrics [18].

Communication networks
The design and optimisation of communication networks is the subject of around 30 papers (4.4%) in the applications database.Applications include bluetooth networks, autotuning for universal mobile telecommunication system networks, optimal equipment placement in mobile communication, routing, radar networks, wavelengthdivision-multiplexed network, peer-to-peer networks, TCP network control, bandwidth and channel allocation, WDM telecommunication networks, wireless networks, groupedand-delayed broadcasting, bandwidth reservation.

Clustering and classification
Clustering, classification, and data mining are the topics of approximately 29 papers (4.3%) in the bibliography.Applications include clustering, clustering in large spa-tial databases, dynamic clustering, dimensionality reduction, genetic-programming-based classification, fuzzy clustering, cascading classifiers, classification threshold optimisation, classification of hierarchical biological data, electrical wafer sort classification, document and information clustering, data mining, feature selection.

Combinatorial optimisation
Around 24 papers (3.5%) in the database deal with combinatorial optimisation problems.These include applications on floorplanning, travelling-sales man problems, packing and knapsack, minimum spanning trees, satisfiability, path optimisation, knights cover problem, n-queens problem, layout optimisation, vehicle routing, urban planning, FPGA placement and routing.

Control
Control applications have one of the largest shares (7.0%) of application papers in the IEEE Xplore database.Application areas include automatic generation control tuning, design of controllers, traffic flow control, adaptive inverse control, predictive control, PI and PID controllers [19], strip flatness control, ultrasonic motor control, power plants and systems control [20,21], control of chaotic systems, process control, adaptive PMD compensation in WDM networks, fractional order controllers, combustion control, inertia system control, automatic landing control.

Design
Around 4.4% of the bibliography is devoted to design applications.These include conceptual design, induction heating cooker design, VLSI design, RF circuit synthesis [22], worst case electronic design, filter design [23], antenna design [24], CMOS wideband amplifier design, motor design, logic circuits design, power systems [25], transmission lines, mechanical design, electromagnetics, case library search.

Distribution networks
Design and restructuring of electricity networks and load dispatching are among the problems most frequently attacked with PSO, occupying around 7.1% of the applications bibliography.Applications include transmission network planning, network reconfiguration and expansion [26], distributed generation [27], microgrids, economic dispatch problem [28][29][30][31][32], voltage regulation, congestion management.

Electronics and electromagnetics
A substantial proportion of the papers in the IEEE database describe applications in the areas of electronics and electromagnetics.Here we list further applications representing approximately 5.8% of the database.These include on-chip inductors, fuel cells, FPGA-based temperature control [33], AC transmission system control, electromagnetic shape design [34], microwave filters, generic electromagnetics design and optimisation applications [35][36][37][38], linear array antenna synthesis, RF IC design and optimisation, semiconductor optimisation, high-speed CMOS [39], conductors [40], frequency selective surface and absorber design [41], CMOS RF wideband amplifier design, voltage flicker measurement, circuit synthesis, shielding, configuration of FPGAs and parallel processor arrays, digital circuit design.

Engines and motors
Around 10 papers (1.4%) in the applications bibliography deal with the design or optimisation of engines and electrical motors.Topics include engine data classification, locomotive torque control, motor control in electric and hybrid vehicles, induction motor speed control, direct motor torque control, fault and parameter estimation in induction motors, optimisation of internal combustion engines, optimisation of nuclear electric propulsion systems.

Entertainment
Music generation and games have also a small niche in PSO applications, occupying approximately (1.3%) in the applications publication database.In the area of games, applications include analysis of leaf nodes in game trees [42], learning to play board games, iterated prisoner dilemma, learning to play solo Pong.In the area of music, swarms have been used for interactive music improvisation.

Faults
The detection or diagnosis of faults and the recovery from them occupy approximately (2.3%) of the application papers in the bibliography.Topics include fault diagnosis of steamturbine generators, circuits that automatically recover from component failure, gearbox fault diagnosis, automatic defect classification in semiconductor wafers, service restoration in power distribution, fault-tolerant power systems, missing sensors restoration, fault diagnosis in digital circuits, test pattern generation for circuits, software fault detection, defensive islanding of power system, power transformers fault diagnosis, optimisation of repairable systems, diagnosis of faults in motors.

Financial
Around 1.0% of the papers in the bibliography have to do with finance and economics.Topics include financial risk early warning, investment decision-making, option pricing, investment portfolio selection, electricity market.

Fuzzy and neurofuzzy
Around 26 papers (3.8% of the bibliography) attack problems in the area of fuzzy and neurofuzzy systems and control.These include design of neurofuzzy networks, fuzzy rule extraction, fuzzy control, membership functions optimisation, fuzzy modelling, fuzzy classification, design of hierarchical fuzzy systems, fuzzy queue management.

Graphics and visualisation
Applications in the areas of computer graphics and visualisation also have a share of the applications bibliography (1.7%).Specific topics include graphic presentation of networks, dimensionality reduction, collision detection in graphic models, texture synthesis, interactive particle swarms, 3D graphics.

Image and video
A large proportion of the applications bibliography (7.6%) of PSO applications is devoted to image and video analysis applications.Image analysis applications include iris recognition, fruit quality grading, face detection and recognition, image segmentation, synthetic aperture radar imaging, locating treatment planning landmarks in orthodontic x-ray images, image classification, inversion of ocean colour reflectance measurements [43], image fusion, traffic stop-sign detection, defect detection, image retrieval, human detection in infrared imagery, image registration [44], pixel classification, detection of objects, pedestrian detection and tracking, texture synthesis, microwave imaging [45,46], scene matching, photo time-stamp recognition, contrast enhancement, 3D recovery with structured beam matrix, autocropping for digital photographs, character recognition, shape matching, image noise cancellation.Video applications include MPEG optimisation, motion estimation, object tracking, body posture tracking, traffic incident detection.

Metallurgy
About 9 papers (1.3% of the bibliography) deal with applications in metallurgy.These include optimisation of steelmaking process and modelling in sintering process.

Modelling
Many papers in the bibliography involve some form of modelling.Several that have not been described under other headings are listed here.These form about 2.8% of the bibliography.Topics include inversion of underwater acoustic models, modelling MIDI music, customer satisfaction models, thermal process system identification, friction models, ultrawideband channel modelling, chaotic time series modelling, identifying ARMAX models [47], nonlinear model identification, nonlinear system identification, model selection, power plants and systems, model order reduction.

Neural networks
Neural networks are used in combination with PSO in many applications.Some have already been listed under a different heading elsewhere.Here we list further PSO applications to neural networks (3.8% of the bibliography).Topics include inversion of neural networks, neural network control for nonlinear processes [48], design of radial basis function networks [49], product unit networks, neural gas networks, feedforward neural network training, design of recurrent neural networks [50], cellular neural networks, wavelet neural networks, neuron controllers.

Prediction and forecasting
About 2.9% of the papers on applications in the bibliography have to do with prediction and forecasting.Topics include water quality prediction and classification, prediction of chaotic systems, ecological models, meteorological predictions, electric load forecasting, battery pack state of charge estimation, time series prediction, predictions of elephant migrations, prediction of the flow stress in steel, prediction of surface roughness in end milling, streamflow forecast, urban traffic flow forecasting.

Power systems and plants
A large proportion (5.8%) of the application papers in the bibliography deals with power generation and power systems.Specific applications include (see also [51]) automatic generation control, power transformer protection, load forecasting, STATCOM power system, fault-tolerant control of compensators, optimal power dispatch, power system performance optimisation [52], secondary voltage control, power control and optimisation, design of power system stabilisers, control of photovoltaic systems, large-scale power plant control, operational planning for cogeneration systems, analysis of power quality signals, generation planning and restructuring, hybrid power generation systems [53], optimal strategies for electricity production [54], power loss minimisation, production costing, and operations planning.

Robotics
Numerous papers describing PSO applications in robotics are present in the literature.These cover about 3.4% of the applications bibliography.Topics include control of robotic manipulators and arms, motion planning and control, robot running, collective robotic search, unsupervised robotic learning, path planning, obstacle avoidance, swarm robotics, unmanned vehicle navigation, soccer playing, robot vision, transport robots, odour source localisation, environment mapping, voice control of robots [55].

Scheduling
About 5.6% of the bibliography deals with scheduling applications.These include generator and transmission maintenance scheduling, flow shop scheduling [56], hydrothermal scheduling, optimal operational planning of energy plants, blending scheduling, power generation scheduling, tasks scheduling in distributed computer system, scheduling in battery energy storage systems [57], jobshop scheduling, radar time management, project scheduling, train scheduling, timetable scheduling, production scheduling, assembly scheduling, holonic manufacturing scheduling.

Security and military
About 1.3% of the bibliography is devoted to security and military applications.These include network security, security-constrained power generation, intrusion detection, cryptography and cryptanalysis, security border identification in power systems [58], weapon-target assignment, missile effectiveness optimisation.

CONCLUSIONS
This paper presents a bird's eye view of PSO applications.This has been obtained by identifying and analysing around 700 PSO application papers stored in IEEE Xplore database at the time of writing.
The picture we obtain is that of a technique with an immense scope of applications, ranging from biological and medical to electrical, electronic, and electromagnetic, to practical computational intelligence applications, to combinatorial problem solving, to image analysis, signal processing and graphics, to robotics.What is particularly amazing is the rate of growth of PSO publications (see Figure 4), most of which are in fact about applications of the technique.The number of publications reporting PSO applications has grown nearly exponential for the last few years, and seems to show no sign of slowing down at the present moment.
What makes PSO so attractive to practitioners?Clearly, the algorithm shines for its simplicity and for the ease with which it can be adapted to different application domains and hybridised with other techniques.This is perhaps what most people want from a practical problem solver: being able to learn the basics of a new technique quickly, and being able to use it as a building block to be mixed and matched with whatever tools they are already familiar with.Also, the PSO routinely delivers good optimisation results.Most people will not care as to whether their new tool is guaranteed to give the absolute best performance on a problem.What they want is something simple and reliable.Finally, probably the PSO has, at the moment, in the mind of many people the sort of magical black box flavour that attracted so many researchers to other areas of artificial/computational intelligence (such as neural network, genetic algorithms, or fuzzy systems) before.
What application areas should we expect PSO to do well in?It is very hard to make specific suggestions.The PSO seems to have worked very well in almost all areas where it has been applied, with perhaps the exception of combinatorial optimisation problems where further improvements to PSO techniques may still be needed before the PSO can compete on par with other techniques.Naturally, the best predictor of future performance is the past.All of the 26 areas identified in this paper appear to be still very fertile.
The reader interested in advanced PSO techniques and open questions in PSO algorithms and theory should refer to [4] for an extensive treatment.

Figure 2 :
Figure2: Example of graph representation of PSO application papers and their relationships.Papers are labelled with the list of key terms appearing in their title and abstract.The rest length for repulsive forces between nodes was set to 9.Only links (similarities) with strength greater than 9 were passed to neato.
[60]apers (1.9%) are devoted to sensors and, particularly, sensor networks.Applications include wireless sensor network sink node optimisation, ad hoc sensor networks node clustering, wireless sensor network design[59], estimation of target position in wireless sensor networks, cluster formation in wireless sensor networks, multicast routing in wireless sensor networks, odour source localisation, wireless video sensor networks optimisation, swarm-based mobile sensor networks, sensor scheduling for target tracking, distributed sensor placement, and topology planning.Approximately 3.8% of the bibliography is devoted to applications of PSO in signal processing.These include pattern recognition of flatness signal, design of IIR filters, particle filter optimisation, nonlinear adaptive filters, Costas arrays, wavelets, blind detection, blind source separation, analogue filter tuning, localisation of acoustic sources, distributed odour source localisation, speech coding[60], 2D IIR filters.