Tutorials: Advances in Particle Swarm Optimization Development, Analysis, and Understanding
Andries Engelbrecht and Christopher Cleghorn
-
CIS
IEEE Members: Free
Non-members: FreeLength: 01:55:04
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.
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.