Extending the "Open-Closed Principle" to Automated Algorithm Configuration

Evol Comput. 2019 Spring;27(1):173-193. doi: 10.1162/evco_a_00245. Epub 2018 Dec 17.

Abstract

Metaheuristics are an effective and diverse class of optimization algorithms: a means of obtaining solutions of acceptable quality for otherwise intractable problems. The selection, construction, and configuration of a metaheuristic for a given problem has historically been a manually intensive process based on experience, experimentation, and reasoning by metaphor. More recently, there has been interest in automating the process of algorithm configuration. In this article, we identify shared state as an inhibitor of progress for such automation. To solve this problem, we introduce the Automated Open-Closed Principle (AOCP), which stipulates design requirements for unintrusive reuse of algorithm frameworks and automated assembly of algorithms from an extensible palette of components. We demonstrate how the AOCP enables a greater degree of automation than previously possible via an example implementation.

Keywords: Automated design of algorithms; ant programming; automatic programming; functional programming; metaheuristics; programming by optimization; search-based software engineering; systems self-assembly.

MeSH terms

  • Algorithms*
  • Computer Simulation*
  • Heuristics*
  • Humans
  • Models, Theoretical*
  • Pattern Recognition, Automated / methods*
  • Software
  • Time Factors