@inproceedings{b1c64d5b6ccd443aa6b2e8f49da48b87,
title = "Operon C++: An efficient genetic programming framework for symbolic regression",
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.",
keywords = "C++, Genetic programming, Symbolic regression",
author = "Bogdan Burlacu and Gabriel Kronberger and Michael Kommenda",
year = "2020",
month = jul,
day = "8",
doi = "10.1145/3377929.3398099",
language = "English",
series = "GECCO 2020 Companion - Proceedings of the 2020 Genetic and Evolutionary Computation Conference Companion",
publisher = "Association for Computing Machinery, Inc",
pages = "1562--1570",
booktitle = "GECCO 2020 Companion - Proceedings of the 2020 Genetic and Evolutionary Computation Conference Companion",
note = "2020 Genetic and Evolutionary Computation Conference, GECCO 2020 ; Conference date: 08-07-2020 Through 12-07-2020",
}