Welcome to the Wiki of EvoAl. EvoAl is an optimisation framework for researchers and practitioners focusing on usability and correctness. The tool started as a frontend to Jenetics, a Java library for evolutionary algorithms, and now supports different optimisation algorithms, surrogate training, and benchmark functions. EvoAl aims to make all these parts configurable using domain-specific languages, so writing code to adapt them to a domain problem is unnecessary. At the same time, we use knowledge of algorithms to semantically check configurations and warn users when a configuration is not possible due to algorithmic constraints that the used data violates.
The official EvoAl EvoAl homepage provides high-level information on EvoAl, such as available publications. This Wiki is a replacement for the user documentation and consists of different areas:
Introduction
The search for an optimal solution among many possible solutions is a recurring problem. Research proposed many algorithms for solving such problems. Nevertheless, there is a gap between optimisation research and practice. While there is plenty of research it is still necessary to code optimisation tools by hand to solve actual problems. With EvoAl, we try to close this gap by applying ideas from software engineering, such as domain-specific languages. EvoAl uses domain-specific languages to describe the domain data, the optimisation problem and the optimisation algorithm configuration.