Convergence of PSO The velocity update equation: v i = v i +φ 1 R(0,1)(p i x i )+φ 2 R(0,1)(p g x i ) for some values of φ 1 and φ 2 the velocity grows without bound can bound velocity to range [ V max,v max ] Choosing a good V max turns out to be fairly difficult. What should we do?
Inertia Weight Only keep a fraction of each particles current velocity add an inertia co-efficient ω 1 ω is a friction co-efficient The old velocity update equation: v i = v i +φ 1 R(0,1)(p i x i )+φ 2 R(0,1)(p g x i ) The new velocity update equation: v i = ωv i +φ 1 R(0,1)(p i x i )+φ 2 R(0,1)(p g x i ) system is much more stable don t need to choose V max
Towards a Parameterless Method Researchers have shown that that there are parameter sets which will always lead to convergence. The recommended set of parameters, which work well in general: ω = 0.7298 φ 1 = φ 2 = 1.49618 This is the canonical particle swarm algorithm of today
What parameters are left? number of particles (population) population topology The number of particles is normally dependant on how much time we have. So what can we do with the topology?
Population Topologies Standard Topology (gbest): 1. all particles may communicate with each other via global best 2. fully connected topology This may not be the best topology to use. Figure: The gbest topology. From Bratton & Kennedy.
Another Topology The lbest topology: ring lattice topology global best becomes best of the particle and its neighbours adjacencies are static and not related to positions in solution space Figure: The lbest topology. From Bratton & Kennedy.
How lbest works 1. a particle finds a good solution 2. adjacent particles make use of this solution via velocity update 3. eventually these particles solutions improve 4. hence information of the good solution propagates through the network
So why bother lbest promotes: parallel convergence in different regions of solution space multiple solutions with equal fitness a more thorough search of solution space than gbest However lbest converges far more slowly than gbest
Can we do better We would need a compromise between the fast convergence of gbest and the performance of lbest. Researchers have tried many different topologies: Figure: Four different topologies: von Newman (top left), pyramid (top right) and two other well performing topologies. From Kennedy & Mendes.
Results von Newman neighborhood performs well consistently generally the best topology is dependant on the problem some topologies are good for global optimisation (searching) some topologies are good for local optimisation (hill climbing) Figure: The von Newman topology. The left image is a flattened section. The right image is the full topology. From Kennedy & Mendes.
Dynamic Topologies allow the topology to vary as the algorithm progresses start with global optimisation end with local optimisation some approaches are: start with lbest and add edges every few iterations random re-structuring with increasing average node degree TRIBES: good subgraphs cast out week particles, bad subgraphs adopt new particles if implemented well tends to outperform static topologies
Binary Particle Swarms Normally particle swarms work in continuous spaces. What can we do to make them work on binary strings? re-interpret the concept of velocity in binary spaces a maximum velocity means all bits change with equal probability of becoming 0 or 1 for a minimum velocity the string never changes each component of velocity is the probability of that bit being a one velocity is mapped into the range [0,1] using a sigmoid Note that: the re-interpreted velocity is still a rate of change
Applications of Particle Swarms Particles swarms are useful: for multi-modal problems (we want many solutions) as a general CI technique when no specialised method is available Have been applied in a diverse range of fields: Antenna design Control systems optimization (eg traffic/motor/process systems) Distribution network optimization Electronics (digital circuit design) Scheduling Sensor Networks Military (missile effectiveness optimization)
Example: Designing Digital Circuits with PSO Design a digital circuit with fewer components. Coello et al 2003. Reduce cost Increase reliability Each circuit takes in a set of binary inputs and provides a set of binary outputs. We want a circuit that: Satisfies the truth table Is as small as possible Figure: An example of a simple digital circuit, with associated truth table. From: Coello et al 2003.
Solution Representation A 2D grid of gates such that: Each gate has two inputs from the previous layer Gates may be: AND, OR, NOT, XOR or WIRE The WIRE gate performs no operation. The grid is encoded as a fix length bit string. Figure: Shows how the circuit is represented as a grid. From: Coello et al 2003.
Fitness Function We want a circuit that: Satisfies the truth table Is as small as possible Use a two stage fitness function, minimize: 1. difference between circuit output and truth table output 2. number of gates (ignore WIRE gates)
PSO Algorithm Standard velocity update equation (with fixed V max ) gbest topology mutation operator with 1-3% probability did not explore enough without mutation used a binary PSO variant
Results Tested on 3 examples from the literature a PSO, a GA and two human designers were tested the PSO and the GA were run multiple times with the best result across all runs recorded In every example PSO found a solution with no more gates than the best solution found by any of the other techniques. PSO GA Human 1 Human 2 Example 1 4 4 5 6 Example 2 7 10 11 12 Example 3 7 7 12 - Table: The number of gates in the best solution produced by each technique.
References I D. Bratton and J. Kennedy. Defining a standard for particle swarm optimization. In Swarm Intelligence Symposium, 2007. SIS 2007. IEEE, pages 120 127. IEEE, 2007. M. Clerc and J. Kennedy. The particle swarm-explosion, stability, and convergence in a multidimensional complex space. Evolutionary Computation, IEEE Transactions on, 6(1):58 73, 2002. C. Coello Coello, E. Luna, and A. Aguirre. Use of particle swarm optimization to design combinational logic circuits. Evolvable Systems: From Biology to Hardware, pages 398 409, 2003.
References II J. Kennedy and R.C. Eberhart. A discrete binary version of the particle swarm algorithm. In Systems, Man, and Cybernetics, 1997. Computational Cybernetics and Simulation., 1997 IEEE International Conference on, volume 5, pages 4104 4108 vol.5, oct 1997. J. Kennedy and R. Mendes. Population structure and particle swarm performance. In Evolutionary Computation, 2002. CEC 02. Proceedings of the 2002 Congress on, volume 2, pages 1671 1676. Ieee, 2002. R. Poli. Analysis of the publications on the applications of particle swarm optimisation. Journal of Artificial Evolution and Applications, 2008:3, 2008.
References III Riccardo Poli, James Kennedy, and Tim Blackwell. Particle swarm optimization. Swarm Intelligence, 1:33 57, 2007. 10.1007/s11721-007-0002-0.