2.3 Particle Swarm Optimisation (PSO)
2.3.1 Evolutionary Computation (EC)
Evolutionary computation (EC) is an area of computational intelligence, which is inspired by the principles of biological evolution. In general, EC consists of evolutionary algorithms (EAs), swarm intelligence (SI) and other techniques.
2.3. PARTICLE SWARM OPTIMISATION (PSO) 33 ent types of problems because they do not make any assumption about the underlying fitness landscape. Therefore, these techniques have shown successes in a variety of fields, ranging from practical applications in in- dustry to leading-edge scientific research [9].
Evolutionary Algorithms
Evolutionary algorithms (EAs) are a subset of evolutionary computation, which are population based meta-heuristic optimisation algorithms. An EA uses some mechanisms inspired by biological evolution: reproduction, mutation, recombination, and selection. In EAs, each candidate solution of the optimisation problem is represented as an individual in the pop- ulation. The fitness function determines the goodness of each individ- ual. Evolution of the population then takes place through the repeated application of selection and genetic operators, e.g. reproduction, muta- tion, and crossover. Four important EAs, which are genetic algorithms, genetic programming, evolutionary strategies and evolutionary program- ming, are briefly discussed here:
Genetic Algorithms. Genetic algorithms (GAs) [65] are evolutionary algorithms that simulate the process of natural selection, which are pos- sibly the first algorithmic models developed to simulate genetic systems [66]. In GAs, candidate solutions of the problem are encoded as a pop- ulation of chromosomes. A standard representation of each chromosome is as a fixed-length array of bits (bitstrings). The population is evolved to search for the optimal solution by applying genetic operators. The main driving operators of a GA is selection (to model survival of the fittest) and recombination through application of a crossover operator (to model re- production). Compared to analytical optimisation methods like gradient based optimisation, GAs are less likely to be trapped in local optima. They, however, tend to be computationally expensive.
Genetic Programming. Genetic programming (GP) [67] was devel- oped to evolve executable computer programs [68]. Similar to GAs, GP
concentrates on the evolution of genotypes. The main difference between the two paradigms is in the representation scheme. In GAs, each chro- mosome is represented as an array (or string ). In GP, each individual is a computer program, which often uses a variable-length tree-like rep- resentation. A population of computer programs is optimised according to a fitness landscape, which determines a program’s ability to perform a given task. GP has been a successful technique for getting computers to automatically solve problems without having to tell them explicitly how [9].
Evolutionary Strategies. Evolution strategies (ESs) [69] are in many ways very similar to GAs, but ESs consider both genotypic and pheno- typic evolution and the emphasis is toward the phenotypic behavior of individuals [9]. In ESs, each individual is represented by a fixed-length real-valued vector. The vector includes the genetic building blocks and a set of strategy parameters. The strategy parameters simulate the behavior of that individual in its environment. Evolution then consists of evolv- ing both the genetic characteristics and the strategy parameters, where the evolution of the genetic characteristics is controlled by the strategy param- eters. Another difference between ESs and other EC algorithms is that ESs typically uses self-adaptive mutation rates. The selection of survivals in ESs is deterministic, that is, once the genetic operators are applied, a num- ber of individuals with highest fitness are selected for the population in the next generation.
Evolutionary Programming. Evolutionary programming (EP) [70] is similar to GP, but the structure of the program is fixed. A population of chromosomes in EP is used to evolve finite-state machines (FSMs) [9]. Each FSM is in fact a program. A sequence of symbols that have been observed up to the current time is fed to each FSM. The fitness of an indi- vidual is evaluated by its ability in predicting future symbols. Like other EAs, EP uses fitness values to select individuals and then applies some evolutionary operators to find other solutions. Different from GAs, EP
2.3. PARTICLE SWARM OPTIMISATION (PSO) 35 applies two evolutionary operators, namely variation through application of mutation and selection operators. The recombination operators are not used with original EP.
Swarm Intelligence
Swarm intelligence (SI) is inspired by the collective intelligence of decen- tralised, self-organized systems [12] . A swarm is a population of inter- acting individuals that is able to optimise global objectives through col- laborative search of the space. The intelligence relies on the networks of interactions among individuals, and between individuals and the envi- ronment. There is a general stochastic (or chaotic) tendency in a swarm for individuals to move toward a centre of mass in the population on crit- ical dimensions, resulting in convergence on an optimum [12]. Two main techniques in swarm intelligence are particle swarm optimisation and ant colony optimisation.
Particle Swarm Optimisation. Particle swarm optimisation (PSO) [10] is a swarm intelligence algorithm inspired by the social behaviour of birds flocking or fish schooling [10]. In PSO, each candidate solution of the problem is represented as a particle, which is encoded by a vector or an array. Particles move in the search space to search for the optimal solu- tions. During the movement, each particle can remember its best expe- rience. The whole swarm searches for the optimal solution by updating the position of each particle based on the best experience of its own and its neighbouring particles [12]. PSO is a simple but powerful search tech- nique, which has been successfully applied to solve problems in a variety of areas [9, 71, 72, 73].
Ant Colony Optimisation. Ant colony optimisation (ACO) [74, 75] takes inspiration from the behaviour of real ants seeking the shortest path between their colony and a source of food [76]. Candidate solutions of the problem are represented as ants in the population. These ants de- posit pheromone on the ground in order to mark their favourable path
that should be followed by other members of the colony. The best solution is the “path” that has the most pheromone. This mechanism allows the algorithms explicitly use the elements of previous solutions, which is the characteristic of ACO algorithm.
Besides, there are also some other popular EC methods, such as learn- ing classifier systems (LCS) [77, 78], differential evolution (DE) [79, 80], artificial immune systems (AIS) [81, 82] and evolutionary multi-object op- timisation algorithms (EMO) [83].