Metadata-Version: 2.4
Name: moocore
Version: 0.2.0
Summary: Core Algorithms for Multi-Objective Optimization
Author-email: Manuel López-Ibáñez <manuel.lopez-ibanez@manchester.ac.uk>, Fergus Rooney <fergus.rooney@outlook.com>
License-Expression: LGPL-2.1-or-later
Project-URL: Documentation, https://multi-objective.github.io/moocore/python/
Project-URL: Homepage, https://multi-objective.github.io/moocore/python/
Project-URL: Source, https://github.com/multi-objective/moocore/
Project-URL: Tracker, https://github.com/multi-objective/moocore/issues
Keywords: math,Mathematics,Multi-criteria Decision-Making,operations research,Optimization
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: COPYRIGHTS
Requires-Dist: cffi>=1.17.1
Requires-Dist: numpy>=1.24
Requires-Dist: platformdirs
Provides-Extra: benchmarks
Requires-Dist: botorch; extra == "benchmarks"
Requires-Dist: desdeo; extra == "benchmarks"
Requires-Dist: fast-pareto; extra == "benchmarks"
Requires-Dist: jmetalpy; extra == "benchmarks"
Requires-Dist: matplotlib; extra == "benchmarks"
Requires-Dist: nevergrad; extra == "benchmarks"
Requires-Dist: numba; extra == "benchmarks"
Requires-Dist: numpy; extra == "benchmarks"
Requires-Dist: optuna; extra == "benchmarks"
Requires-Dist: pandas>=2; extra == "benchmarks"
Requires-Dist: paretoset; extra == "benchmarks"
Requires-Dist: py-cpuinfo; extra == "benchmarks"
Requires-Dist: pymoo; extra == "benchmarks"
Requires-Dist: seqme; extra == "benchmarks"
Provides-Extra: coverage
Requires-Dist: coverage[toml]; extra == "coverage"
Requires-Dist: gcovr; extra == "coverage"
Provides-Extra: dev
Requires-Dist: pre-commit>=3.3.2; extra == "dev"
Requires-Dist: ruff>=0.11.2; extra == "dev"
Requires-Dist: tox>=4.6.2; extra == "dev"
Provides-Extra: docs
Requires-Dist: ipykernel; extra == "docs"
Requires-Dist: ipywidgets; extra == "docs"
Requires-Dist: jupyter; extra == "docs"
Requires-Dist: jupyterlab; extra == "docs"
Requires-Dist: kaleido; extra == "docs"
Requires-Dist: pandas>=2; extra == "docs"
Requires-Dist: plotly; extra == "docs"
Requires-Dist: pydata-sphinx-theme>=0.16; extra == "docs"
Requires-Dist: seaborn; extra == "docs"
Requires-Dist: sphinx>=6; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
Requires-Dist: sphinx-copybutton; extra == "docs"
Requires-Dist: sphinx-design; extra == "docs"
Requires-Dist: sphinx-gallery>=0.19; extra == "docs"
Requires-Dist: sphinxcontrib-bibtex; extra == "docs"
Requires-Dist: sphinxcontrib-napoleon; extra == "docs"
Provides-Extra: test
Requires-Dist: pandas>=2; extra == "test"
Requires-Dist: pytest>7; extra == "test"
Dynamic: license-file

**moocore**: Core Algorithms for Multi-Objective Optimization
=============================================================

<!-- badges: start -->
[![PyPI - Version](https://img.shields.io/pypi/v/moocore)][py-moocore-pypi]
[![PyPI - Downloads](https://img.shields.io/pypi/dm/moocore?color=blue)][py-moocore-pypi-stats]
[![Python build status][py-build-badge]][py-build-link]
[![coverage][py-coverage-badge]][py-coverage-link]
<!-- badges: end -->

[ [**Homepage**][py-moocore-homepage] ]
[ [**GitHub**][py-moocore-github] ]
[ [**ClickPy Dashboard**](https://clickpy.clickhouse.com/dashboard/moocore) ]

**Contributors:**
    [Manuel López-Ibáñez](https://lopez-ibanez.eu),
    Fergus Rooney.

---------------------------------------

Introduction
============

The goal of **moocore** is to collect and document fast implementations of core mathematical functions and algorithms for multi-objective optimization. These functions include:

 * Generate and transform nondominated sets.
 * Identify and filter 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.

**Keywords**: empirical attainment function, summary attainment surfaces, EAF
differences, multi-objective optimization, bi-objective optimization,
performance measures, performance assessment

For more details, see the complete [Documentation][py-moocore-homepage].

Install
-------

You can install the [latest release](https://pypi.org/project/moocore/) using `pip`, for example:

```bash
python3 -m pip install moocore
```

Or to build the latest development version from GitHub:

```bash
python3 -m pip install 'git+https://github.com/multi-objective/moocore.git#egg=moocore&subdirectory=python'
```

Building the development version requires a C/C++ compiler. Instead, you can install pre-compiled development wheels for your operating system. See the list of wheels here (https://github.com/multi-objective/moocore/tree/wheels), click in the wheel you wish to install then copy the **View Raw** link. For example,

```bash
python3 -m pip install https://github.com/multi-objective/moocore/raw/refs/heads/wheels/moocore-0.1.5.dev0-py3-none-macosx_10_9_universal2.whl
```

If the URL does not have the word `raw` then you are not using the **View Raw** link.


R package
---------

There is also a `moocore` package for R: https://multi-objective.github.io/moocore/r


[py-build-badge]: https://github.com/multi-objective/moocore/actions/workflows/python.yml/badge.svg?event=push
[py-build-link]: https://github.com/multi-objective/moocore/actions/workflows/python.yml
[py-coverage-badge]: https://codecov.io/gh/multi-objective/moocore/branch/main/graph/badge.svg?flag=python
[py-coverage-link]: https://app.codecov.io/gh/multi-objective/moocore/tree/main/python
[py-moocore-github]: https://github.com/multi-objective/moocore/tree/main/python#readme
[py-moocore-homepage]: https://multi-objective.github.io/moocore/python
[py-moocore-pypi]: https://pypi.org/project/moocore/
[py-moocore-pypi-stats]: https://pypistats.org/packages/moocore
