Evolving Continuous Optimisers from Scratch

Research output: Contribution to journalArticlepeer-review

3 Citations (Scopus)
30 Downloads (Pure)


This work uses genetic programming to explore the space of continuous optimisers, with the goal of discovering novel ways of doing optimisation. In order to keep the search space broad, the optimisers are evolved from scratch using Push, a Turing-complete, general-purpose, language. The resulting optimisers are found to be diverse, and explore their optimisation landscapes using a variety of interesting, and sometimes unusual, strategies. Significantly, when applied to problems that were not seen during training, many of the evolved optimisers generalise well, and often outperform existing optimisers. This supports the idea that novel and effective forms of optimisation can be discovered in an automated manner. This paper also shows that pools of evolved optimisers can be hybridised to further increase their generality, leading to optimisers that perform robustly over a broad variety of problem types and sizes.
Original languageEnglish
Pages (from-to)395-428
Number of pages34
JournalGenetic Programming and Evolvable Machines
Issue number4
Early online date20 Oct 2021
Publication statusPublished - Dec 2021


  • Genetic programming
  • Metaheuristics
  • Optimisation

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computer Science Applications


Dive into the research topics of 'Evolving Continuous Optimisers from Scratch'. Together they form a unique fingerprint.

Cite this