skillfed

moocore

Core Algorithms for Multi-Objective Optimization

moocore v0.3.2 1.0M downloads/30d#4,495 on PyPI62
Copyleft license LGPL-2.1-or-later Active released

What it is and what it does

moocore is a Python library that implements fast algorithms for multi-objective optimization problems. It provides core mathematical functions for working with Pareto-optimal solutions, including generation and transformation of nondominated sets, identification of dominated vectors, and computation of quality metrics like hypervolume, epsilon, and IGD. The library also implements the empirical attainment function, which characterizes the probabilistic distribution of outcomes from stochastic optimization algorithms.

The package is built on compiled C/C++ backends for performance and wraps them with a Python interface using cffi, numpy, and platformdirs. It targets researchers and practitioners in operations research, multi-criteria decision-making, and evolutionary optimization who need efficient implementations of these core algorithms. The library supports current Python versions (3.10 through 3.14) and is actively maintained.

Use it for:

  • Evaluate and compare multi-objective optimization algorithms by computing hypervolume and other quality indicators on their solution sets.
  • Filter dominated solutions from a candidate set to identify the Pareto frontier in bi- or many-objective problems.
  • Analyze stochastic optimization algorithm performance using empirical attainment functions and summary attainment surfaces.
  • Build decision-support tools that need fast computation of dominance relationships and quality metrics.
  • Research and benchmark evolutionary multi-objective optimization methods with standardized performance measures.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides fast implementations of core algorithms for multi-objective optimization, including nondominated set generation, dominance filtering, hypervolume and quality metrics, and empirical attainment function computation.

Yes, if you work in multi-objective optimization or need fast implementations of dominance filtering and quality metrics. The library is actively maintained, has no known vulnerabilities, supports modern Python versions, and offers prebuilt wheels for common platforms. The LGPL-2.1-or-later license requires attention if you plan proprietary use. Medium install friction is acceptable for a compiled package with broad platform coverage.

Install

moocore on PyPI

pip

pip install moocore

uv

uv add moocore

poetry

poetry add moocore

Installing moocore

Before you install

Medium install friction due to compiled C/C++ components; prebuilt wheels available for Python 3.10+ on macOS, Linux (x86_64 and aarch64), and Windows. Active maintenance with recent releases.

License in practice

Licensed under LGPL-2.1-or-later (copyleft); derivative works and modifications must be distributed under compatible terms. Suitable for research and open-source projects; proprietary use requires careful licensing review.

Quickstart

pip install moocore
import moocore
# Example: filter dominated solutions from a set of objective vectors
result = moocore.filter_dominated(objectives)

Requires Python 3.10 or later; building from source requires a C/C++ compiler.

Verify before relying

  • Specific performance benchmarks or scalability limits for large objective spaces
  • Whether the package supports GPU acceleration or distributed computation
  • Detailed API documentation and available function signatures beyond the description excerpt

Package facts

License LGPL-2.1-or-later (copyleft)
Python support supports the current Python release (>=3.10)
Install friction medium — platform-specific wheel
Runtime dependencies 3 — cffi, numpy, platformdirs
Maintenance actively maintained — 33 days since the last release
Last repo commit
First released
Downloads 1,019,593/month — #4,495 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: moocore-0.3.2-cp310-abi3-macosx_10_9_universal2.whl; moocore-0.3.2-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; moocore-0.3.2-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; moocore-0.3.2-cp310-abi3-musllinux_1_2_aarch64.whl; moocore-0.3.2-cp310-abi3-musllinux_1_2_x86_64.whl; moocore-0.3.2-cp310-abi3-win_amd64.whl; moocore-0.3.2-cp310-abi3-win_arm64.whl

Keywords: math, Mathematics, Multi-criteria Decision-Making, operations research, Optimization

Intended Audience :: Science/ResearchOperating System :: OS IndependentProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

multi-objective optimization algorithmshypervolume calculationpareto dominance filteringempirical attainment functionmulti-criteria optimization metricsnondominated set generationoptimization performance assessment
multi-objective-optimizationperformance-metricspareto-analysis

More Mathematics packages

Further reading