Skip to content

Core Mathematical Functions for Multi-Objective Optimization

License

Notifications You must be signed in to change notification settings

multi-objective/moocore

Repository files navigation

moocore: Core Mathematical Functions for Multi-Objective Optimization

[ C library ] [ GitHub ] Build status

[ R package ] [ GitHub ] Build status Code Coverage CRAN version CRAN Status CRAN Downloads

[ Python package ] [ GitHub ] Build status Code Coverage PyPI - Version PyPI - Downloads

pre-commit.ci status

Contributors: Manuel López-Ibáñez, Carlos M. Fonseca, Luís Paquete, Andreia P. Guerreiro Mickaël Binois. Fergus Rooney.


The goal of the moocore project is to collect fast implementations of core mathematical functions and algorithms for multi-objective optimization and make them available to different programming languages via similar interfaces. These functions include:

  • Identifying and filtering dominated vectors.
  • Quality metrics such as (weighted) hypervolume, epsilon, IGD, etc.
  • Computation of the Empirical Attainment Function. The empirical attainment function (EAF) describes the probabilistic distribution of the outcomes obtained by a stochastic algorithm in the objective space.

Most critical functionality is implemented in C, with the R and Python packages providing convenient interfaces to the C code.

The repository is composed of:

  • c/: C library and command-line tools.
  • r/: An R package that uses the C library.
  • python/: A Python package that uses the C library.

Each component is documented in the README.md file found under each folder.