Constrained niching using differential evolution

Daniel J. Poole*, Christian B. Allen

*Corresponding author for this work

Research output: Contribution to journalArticle (Academic Journal)peer-review

4 Citations (Scopus)
125 Downloads (Pure)

Abstract

The work presented here involves development and detailed investigations of niching methods for multimodal optimization of constrained functions. There is a lack of investigations in the literature on constrained multimodal optimization, hence a number of constrained niching algorithms have been developed here that leverage existing differential evolution-based niching methods with a feasibility rules-domination selection procedure. Furthermore, a suite of 18 benchmark functions has been developed and are presented in this paper; nine newly developed functions are incorporated with nine existing functions from the literature. Optimization results on these analytical functions using the constrained niching algorithms are presented, with analysis provided on the ability to locate multiple global optima, the convergence speed and constraint handling nature of the methods. The differential evolution strategy is also investigated, with SHADE and L-SHADE strategies considered. Finally, a dimensionality study also compares against the only other known constrained niching algorithm. Results indicate that all of the algorithms developed and tested generally perform well for low dimensional, low modality problems, but that local neighbourhood-based methods show the best results across the suite of functions tested. When high-dimensional problems are considered, using the L-SHADE strategy yields excellent results. An accompanying supplementary data file is provided with the manuscript.

Original languageEnglish
Pages (from-to)74-100
Number of pages27
JournalSwarm and Evolutionary Computation
Volume44
Early online date4 Dec 2018
DOIs
Publication statusPublished - 1 Feb 2019

Keywords

  • Constraints
  • Differential evolution
  • Multimodal optimization
  • Niching

Cite this