A flexible and expandable library for evolutionary algorithms
Carlos Cotta, 2023
Requires JDK 17 or higher. The project relies on the json-simple library for parsing configuration files and dumping statistics. A Maven dependency is included in the pom.xml file for this purpose. Alternatively, non-Maven users may download json-simple-4.0.1.jar and add it to the project build path.
See test/TestEA class for an example of use.
The configuration of the EA is done via a JSON file (see run/bitstring.json for an example).
If you are using Maven, the following dependency can be added to your project:
<dependency>
<groupId>es.uma.lcc.caesium</groupId>
<artifactId>ea</artifactId>
<version>1.0</version>
</dependency>
The library has been used in the following projects (non-exhaustive list):
- aircraft-landing-scheduling: Solving the Aircraft Landing Scheduling with metaheuristics
- ea-model-byzantine: Evolutionary algorithms with Byzantine failures in fitness evaluation
- ea-test-energy: Test functions and classes for experimenting with energy consumption
- pedestrian-evacuation-optimization: Optimization of crowd evacuation in case of emergency