moocore: Core Algorithms for Multi-Objective Optimization#
Version: 0.4.0.dev0 (What’s new)
Date Oct 26, 2026
Useful links: Install | Source Repository | Issue Tracker
This webpage documents the moocore Python package. There is also a moocore R package.
The goal of the moocore project (multi-objective/moocore) is to collect and document 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:
Quality metrics such as (weighted) hypervolume, epsilon, IGD+, (exact) R2, 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.
Crossover operators for evolutionary algorithms, such as uniform, blend-alpha, bounded exponential, differential evolution and parent-centric crossover.
Most critical functionality is implemented in C, with the R and Python packages providing convenient interfaces to the C code.
Keywords: empirical attainment function, summary attainment surfaces, EAF differences, multi-objective optimization, bi-objective optimization, performance measures, performance assessment
The reference guide contains a detailed description of the functions, modules, and objects.
Detailed examples and tutorials.
The benchmarks compare the speed of moocore with other Python packages.