**moocore**: Core Algorithms for Multi-Objective Optimization
=============================================================
<!-- badges: start -->
[][py-moocore-pypi]
[][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] ]
**Contributors:**
[Manuel López-Ibáñez](https://lopez-ibanez.eu),
Fergus Rooney.
---------------------------------------
Introduction
============
The goal of **moocore** is to collect fast implementations of core mathematical functions and algorithms for multi-objective optimization. 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.
**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
Raw data
{
"_id": null,
"home_page": null,
"name": "moocore",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "math, Mathematics, Multi-criteria Decision-Making, operations research, Optimization",
"author": null,
"author_email": "Manuel L\u00f3pez-Ib\u00e1\u00f1ez <manuel.lopez-ibanez@manchester.ac.uk>, Fergus Rooney <fergus.rooney@outlook.com>",
"download_url": "https://files.pythonhosted.org/packages/1a/ab/e9155717af26ecfc373d52f60758ac864a21677877bfb904719c504ab98a/moocore-0.1.8.tar.gz",
"platform": null,
"description": "**moocore**: Core Algorithms for Multi-Objective Optimization\n=============================================================\n\n<!-- badges: start -->\n[][py-moocore-pypi]\n[][py-moocore-pypi-stats]\n[![Python build status][py-build-badge]][py-build-link]\n[![coverage][py-coverage-badge]][py-coverage-link]\n<!-- badges: end -->\n\n[ [**Homepage**][py-moocore-homepage] ]\n[ [**GitHub**][py-moocore-github] ]\n\n\n**Contributors:**\n [Manuel L\u00f3pez-Ib\u00e1\u00f1ez](https://lopez-ibanez.eu),\n Fergus Rooney.\n\n---------------------------------------\n\nIntroduction\n============\n\nThe goal of **moocore** is to collect fast implementations of core mathematical functions and algorithms for multi-objective optimization. These functions include:\n\n * Identifying and filtering dominated vectors.\n * Quality metrics such as (weighted) hypervolume, epsilon, IGD, etc.\n * Computation of the Empirical Attainment Function. The empirical attainment function (EAF) describes the probabilistic\ndistribution of the outcomes obtained by a stochastic algorithm in the\nobjective space.\n\n**Keywords**: empirical attainment function, summary attainment surfaces, EAF\ndifferences, multi-objective optimization, bi-objective optimization,\nperformance measures, performance assessment\n\nFor more details, see the complete [Documentation][py-moocore-homepage].\n\nInstall\n-------\n\nYou can install the [latest release](https://pypi.org/project/moocore/) using `pip`, for example:\n\n```bash\npython3 -m pip install moocore\n```\n\nOr to build the latest development version from GitHub:\n\n```bash\npython3 -m pip install 'git+https://github.com/multi-objective/moocore.git#egg=moocore&subdirectory=python'\n```\n\nBuilding 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,\n\n```bash\npython3 -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\n```\n\nIf the URL does not have the word `raw` then you are not using the **View Raw** link.\n\n\nR package\n---------\n\nThere is also a `moocore` package for R: https://multi-objective.github.io/moocore/r\n\n\n[py-build-badge]: https://github.com/multi-objective/moocore/actions/workflows/python.yml/badge.svg?event=push\n[py-build-link]: https://github.com/multi-objective/moocore/actions/workflows/python.yml\n[py-coverage-badge]: https://codecov.io/gh/multi-objective/moocore/branch/main/graph/badge.svg?flag=python\n[py-coverage-link]: https://app.codecov.io/gh/multi-objective/moocore/tree/main/python\n[py-moocore-github]: https://github.com/multi-objective/moocore/tree/main/python#readme\n[py-moocore-homepage]: https://multi-objective.github.io/moocore/python\n[py-moocore-pypi]: https://pypi.org/project/moocore/\n[py-moocore-pypi-stats]: https://pypistats.org/packages/moocore\n",
"bugtrack_url": null,
"license": null,
"summary": "Core Algorithms for Multi-Objective Optimization",
"version": "0.1.8",
"project_urls": {
"Documentation": "https://multi-objective.github.io/moocore/python/",
"Homepage": "https://multi-objective.github.io/moocore/python/",
"Source": "https://github.com/multi-objective/moocore/",
"Tracker": "https://github.com/multi-objective/moocore/issues"
},
"split_keywords": [
"math",
" mathematics",
" multi-criteria decision-making",
" operations research",
" optimization"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "a3fede51a91ed63f5ec84444bb6fee1ae9e4a991af6c357d125270f61dbce4c3",
"md5": "b3a5cd3aabe41d57c7d75d3fb9a35068",
"sha256": "dad469938996444e937d903e10e31deb32c2828ea2e66d0738ec163c565c4142"
},
"downloads": -1,
"filename": "moocore-0.1.8-py3-none-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "b3a5cd3aabe41d57c7d75d3fb9a35068",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 570068,
"upload_time": "2025-07-15T15:48:37",
"upload_time_iso_8601": "2025-07-15T15:48:37.497172Z",
"url": "https://files.pythonhosted.org/packages/a3/fe/de51a91ed63f5ec84444bb6fee1ae9e4a991af6c357d125270f61dbce4c3/moocore-0.1.8-py3-none-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "23fb087fb522d1f93e7d96dc7c9eebed73cb22c8af3399bb46a1e7109f474658",
"md5": "7ffbbe3d36eeabe5eabe052f311cd086",
"sha256": "d9b77162db5c0a8d8e2810e63df5158c19114c34ac493272ca62d58e601d6ed9"
},
"downloads": -1,
"filename": "moocore-0.1.8-py3-none-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "7ffbbe3d36eeabe5eabe052f311cd086",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 502808,
"upload_time": "2025-07-15T15:48:38",
"upload_time_iso_8601": "2025-07-15T15:48:38.878016Z",
"url": "https://files.pythonhosted.org/packages/23/fb/087fb522d1f93e7d96dc7c9eebed73cb22c8af3399bb46a1e7109f474658/moocore-0.1.8-py3-none-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6badd3a67215c7831b26880cda3b9e31fc714c54f1fdfdaeb31e85aeee17ef46",
"md5": "dff14b9f39a9474aec0b0fc2ddf26d18",
"sha256": "090d4b68343be87582543701549f1e0a906da91168919b27d73f8b2a1ca42394"
},
"downloads": -1,
"filename": "moocore-0.1.8-py3-none-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "dff14b9f39a9474aec0b0fc2ddf26d18",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 490249,
"upload_time": "2025-07-15T15:48:40",
"upload_time_iso_8601": "2025-07-15T15:48:40.133376Z",
"url": "https://files.pythonhosted.org/packages/6b/ad/d3a67215c7831b26880cda3b9e31fc714c54f1fdfdaeb31e85aeee17ef46/moocore-0.1.8-py3-none-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "04b07639232cdd7652bc89f62fffeb63e6cd7f46283282d09ed96dfb22bce161",
"md5": "73763466f4cb632656629327f74fcc25",
"sha256": "1ef70cf4812e13d1693acdfcad8812084dc041920efaa9e65c9bf02b93a39afe"
},
"downloads": -1,
"filename": "moocore-0.1.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "73763466f4cb632656629327f74fcc25",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 726381,
"upload_time": "2025-07-15T15:48:41",
"upload_time_iso_8601": "2025-07-15T15:48:41.618258Z",
"url": "https://files.pythonhosted.org/packages/04/b0/7639232cdd7652bc89f62fffeb63e6cd7f46283282d09ed96dfb22bce161/moocore-0.1.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a8e8a79a4bbef6bc4914ab59ad07a02e7bfb9712922d157c92bfa57ff53c3239",
"md5": "29f1d002d9570ce9b6f0d489ed707c42",
"sha256": "6531da12d1071c1aa5a6a4d070ac718a401561fe7cf03756015fed11aa579af6"
},
"downloads": -1,
"filename": "moocore-0.1.8-py3-none-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "29f1d002d9570ce9b6f0d489ed707c42",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 720653,
"upload_time": "2025-07-15T15:48:42",
"upload_time_iso_8601": "2025-07-15T15:48:42.941627Z",
"url": "https://files.pythonhosted.org/packages/a8/e8/a79a4bbef6bc4914ab59ad07a02e7bfb9712922d157c92bfa57ff53c3239/moocore-0.1.8-py3-none-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e9a6449eed4c32d3b55cd512f943a674017cd306c7a43e1048a8dfeef4ba340a",
"md5": "b2e0dccf4dbccd41c302d7d72ac8edd4",
"sha256": "f28150ed6faf5ebba71411691343d243f64362c8c689a5772f5e7e9ef99825ff"
},
"downloads": -1,
"filename": "moocore-0.1.8-py3-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "b2e0dccf4dbccd41c302d7d72ac8edd4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 538289,
"upload_time": "2025-07-15T15:48:44",
"upload_time_iso_8601": "2025-07-15T15:48:44.242879Z",
"url": "https://files.pythonhosted.org/packages/e9/a6/449eed4c32d3b55cd512f943a674017cd306c7a43e1048a8dfeef4ba340a/moocore-0.1.8-py3-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1aabe9155717af26ecfc373d52f60758ac864a21677877bfb904719c504ab98a",
"md5": "235d6efd21ae9147f29515b8879412ff",
"sha256": "c366d370de90d34e80cf80933f1fa30ac39efaafe89ecf1d8689a25bcd678fef"
},
"downloads": -1,
"filename": "moocore-0.1.8.tar.gz",
"has_sig": false,
"md5_digest": "235d6efd21ae9147f29515b8879412ff",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 400493,
"upload_time": "2025-07-15T15:48:45",
"upload_time_iso_8601": "2025-07-15T15:48:45.463354Z",
"url": "https://files.pythonhosted.org/packages/1a/ab/e9155717af26ecfc373d52f60758ac864a21677877bfb904719c504ab98a/moocore-0.1.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-15 15:48:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "multi-objective",
"github_project": "moocore",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "moocore"
}