A flexible and expandable library for derivative-free optimization algorithms.
Carlos Cotta, 2024
Currently included methods are:
- Hooke-Jeeves algorithm
- Nelder-Mead algorithm
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 dfopt/test/RunDerivativeFree
class for an example of use.
The configuration of the algorithm is done via a JSON file (see run/hookejeeves.json
and run/neldermead.json
for configuration examples for each of the algorithms).
If you are using Maven, the following dependency can be added to your project:
<dependency>
<groupId>es.uma.lcc.caesium</groupId>
<artifactId>derivative-free-optimization</artifactId>
<version>1.0</version>
</dependency>
The library has been used in the following projects (non-exhaustive list):
- pedestrian-evacuation-optimization: Optimization of crowd evacuation in case of emergency