The tutorial will be presented in two parts:
Particle Swarm Optimization Part 1: Development of A Multi-purpose Algorithm
The main objective of this part of the tutorial is to show that particle swarm optimization (PSO) has emerged as a multi-purpose optimization approach. In the context of this tutorial, this means that the PSO can be applied to a wide range of optimization problem types as well as search domain types. The discussion will start with a very compact overview of the original, basic PSO. Some experience and background on PSO will be assumed. The remainder and bulk of this part of the tutorial will cover a classification of different problem types, and will show how PSO can be applied to solve problems of these types. This part of the tutorial will be organized in the following sections, one for each problem type:
- Continuous-valued versus discrete-valued domains
- Unimodal versus multi-modal landscapes
- Multi-solution problems requiring niching capabilities
- Constrained versus unconstrained problems, also covering boundary constraints
- Multi-objective and many-objective optimization
- Dynamic environments
- Dynamic Multi-objective optimization
- Optimization with dynamically changing constraints
- Large-scale optimization problems
For each problem type, it will be shown why the standard PSO cannot solve these types of problems efficiently. Simple adaptations to the PSO that will allow it to solve each problem type will then be discussed. The focus will be on PSO adaptations that do not violate the foundational principles of PSO, and adaptations that do not significantly increase the computational complexity of the algorithm. For each of these problem types a small subset of the most successful algorithms will be discussed.
Particle Swarm Optimization Part 2: Analysis and Understanding
The main objective of this part of the tutorial is demonstrate and explain the key strides made in the theoretical analysis and understanding of PSO behaviour and performance.One of the main challenges encountered when solving a new optimization task with meta- heuristic is the lack of clear guidance on how to best configure the meta-heuristic at hand. The lack of clear guidance often stems from the challenging nature of predicting how a meta-heuristic will truly behave under a given configuration. However, given that PSO has undergone a considerable amount of rigours analysis, there are in fact a number of clear guidelines and insights available to a PSO practitioner that allow for effective and informed real world use of the optimizer. This part of the tutorial will be organized in the following sections, each one focusing on a specific aspect of PSO behaviour and how it relates to effective PSO use:
- Understanding why the random variables used in the velocity update should not be scalars, but rather vectors of random values
- Exploring the effects of different ways in which velocity can be initialized
- Clearing up issues with reference to velocity clamping
- The influence of social topology and different iteration strategies on performance isdiscussed
- Roaming behaviour of PSO particles
- Understanding why PSO struggles with large-scale optimization problems
- Understanding PSO control parameters, and how to use them more efficiently
- Known stability criteria of PSO algorithms and PSO stability’s practical implication
- Effects of particle stability of PSO’s performance
- How to derive new stability criteria for PSO variants and verify them
While this part of the tutorial focuses on many fundamental aspects of the PSO algorithm, the content is directly relevant and valuable to a PSO practitioner. While PSO is an effective tool for black-box optimization, the optimizer itself does not need to be used as a black-box itself. This tutorial aims to empower a practitioner to use PSO in an effective and informed manner.
Expected length:
The tutorial is proposed in two parts, with expected length of four hours in total. It isexpected that each part will take two hours.
Level of the tutorial:
Level for part 1: Intermediate to advanced
Level for part 2: Advanced
Presenter detail:
Andries Engelbrecht (https://engel.pages.cs.sun.ac.za/) received the Masters and PhD degrees in Computer Science from the University of Stellenbosch, South Africa, in 1994 and 1999 respectively. He is Voigt Chair in Data Science in the Department of Industrial Engineering, with a joint appointment as Professor in the Computer Science Division, Stellenbosch University. His research interests include swarm intelligence, evolutionary computation, artificial neural networks, artificial immune systems, and the application of these Computational Intelligence paradigms to data analytics, games, bioinformatics, finance, and difficult optimization problems. He is author of two books, Computational Intelligence: An Introduction and Fundamentals of Computational Swarm Intelligence. He has published over 400 papers, and has presented a number of tutorials at international conferences.
Christopher Cleghorn (https://scholar.google.co.za/citations?user=QB71eI8AAAAJ&hl=en) received his Masters and PhD degrees in Computer Science from the University of Pretoria, South Africa, in 2013 and 2017 respectively. He is an Associate Professor in the School of Computer Science and Applied Mathematics, at the University of the Witwatersrand. His research interests include swarm intelligence, evolutionary computation, machine learning, and radio-astronomy with a strong focus of theoretical research. Prof Cleghorn annually serves as a reviewer for numerous international journals and conferences in domains ranging from swarm intelligence and neural networks to mathematical optimization.