2971. moocore: Core Algorithms for Multi-Objective Optimization in C, R and Python
Invited abstract in session WA-51: Advances in multiobjective optimization software, stream Multiobjective and vector optimization.
Wednesday, 8:30-10:00Room: Parkinson B22
Authors (first author is the speaker)
| 1. | Manuel López-Ibáñez
|
| University of Manchester |
Abstract
The moocore project collects fast implementations of core mathematical functions and algorithms for multi-objective optimization and makes them available to different programming languages via similar interfaces. These functions include: identifying and filtering dominated vectors; quality metrics such as (weighted and approximated) hypervolume, epsilon, IGD, and others; and computation of the Empirical Attainment Function, which describes the probabilistic distribution of the outcomes obtained by a stochastic algorithm in the objective space.
Many projects such as BoTorch (Bayesian Optimization in PyTorch), pymoo (Multi-objective Optimization in Python), rmoo (Multi-objective Optimization in R), among others, use their own inefficient implementations of such functions or copy old versions of publicly available implementations, which may have bugs or have not benefited from speed improvements.
The goal of moocore is to provide an implementation of these functions that is efficient, thoroughly tested, well-documented, multi-platform (Windows, Linux, MacOS), multi-language (C, R, and Python, so far), with minimal dependencies and reusable from other libraries and packages, thus providing an easy-to-use and high-performance building block for the research community. The development sources are available at https://github.com/multi-objective/moocore/ (R: https://multi-objective.github.io/moocore/r/ and Python: https://multi-objective.github.io/moocore/python/).
Keywords
- Multi-Objective Decision Making
- Software
Status: accepted
Back to the list of papers