Operon C++: An efficient genetic programming framework for symbolic regression

Research output: Chapter in Book/Report/Conference proceedingsConference contributionpeer-review

54 Citations (Scopus)

Abstract

Genetic Programming (GP) is a dynamic field of research where empirical testing plays an important role in validating new ideas and algorithms. The ability to easily prototype new algorithms by reusing key components and quickly obtain results is therefore important for the researcher. In this paper we introduce Operon, a C++ GP framework focused on performance, modularity and usability, featuring an efficient linear tree encoding and a scalable concurrency model where each logical thread is responsible for generating a new individual. We model the GP evolutionary process around the concept of an offspring generator, a streaming operator that defines how new individuals are obtained. The approach allows different algorithmic variants to be expressed using high-level constructs within the same generational basic loop. The evaluation routine supports both scalar and dual numbers, making it possible to calculate model derivatives via automatic differentiation. This functionality allows seamless integration with gradient-based local search approaches. We discuss the design choices behind the proposed framework and compare against two other popular GP frameworks, DEAP and HeuristicLab. We empirically show that Operon is competitive in terms of solution quality, while being able to generate results significantly faster.

Original languageEnglish
Title of host publicationGECCO 2020 Companion - Proceedings of the 2020 Genetic and Evolutionary Computation Conference Companion
PublisherAssociation for Computing Machinery, Inc
Pages1562-1570
Number of pages9
ISBN (Electronic)9781450371278
DOIs
Publication statusPublished - 8 Jul 2020
Event2020 Genetic and Evolutionary Computation Conference, GECCO 2020 - Cancun, Mexico
Duration: 8 Jul 202012 Jul 2020

Publication series

NameGECCO 2020 Companion - Proceedings of the 2020 Genetic and Evolutionary Computation Conference Companion

Conference

Conference2020 Genetic and Evolutionary Computation Conference, GECCO 2020
Country/TerritoryMexico
CityCancun
Period08.07.202012.07.2020

Keywords

  • C++
  • Genetic programming
  • Symbolic regression

Fingerprint

Dive into the research topics of 'Operon C++: An efficient genetic programming framework for symbolic regression'. Together they form a unique fingerprint.

Cite this