Skip to main content

MinionPy is the Python implementation of the Minion C++ library, designed for derivative-free optimization.

Project description

MinionPy

Logo

PyPI Python Version PyPI version PyPI downloads PyPI License Documentation Status DOI

MinionPy is the Python implementation of the Minion C++ library, designed for derivative-free optimization. It provides tools for solving optimization problems where gradients are unavailable or unreliable, incorporating state-of-the-art algorithms recognized in IEEE Congress on Evolutionary Computation (CEC) competitions. The library offers researchers and practitioners access to advanced optimization techniques and benchmarks for testing and evaluation.

Features

  • Optimization Algorithms

    • Differential Evolution-based algorithms:
      • Basic Differential Evolution (DE)
      • JADE
      • L-SHADE
      • LSHADE-cnEpSin
      • jSO
      • j2020
      • NL-SHADE-RSP
      • LSRTDE
      • ARRDE (Adaptive Restart-Refine DE)
      • AGSK . IMODE
    • Other population-based algorithms:
      • Artificial Bee Colony (ABC)
      • Grey Wolf DE Optimization
      • Canonical PSO, SPSO-2011, Dynamic Multi-Swarm PSO (DMS-PSO)
      • CMA-ES (Covariance Matrix Adaptation Evolution Strategy)
      • BIPOP-aCMAES
      • RCMAES
    • Classical optimization algorithms:
      • Nelder-Mead
      • Generalized Simulated Annealing (Dual Annealing)
      • L-BFGS-B (vectorized & noise-robust)
      • L-BFGS (vectorized & noise-robust)
  • Benchmark Support
    The library includes benchmark functions from the CEC competitions (2011, 2014, 2017, 2019, 2020, 2022), providing a standardized environment for algorithm development, testing, and comparison.

  • Performance
    Most implemented algorithms are population-based, making them suitable for parallelization. MinionPy is optimized for vectorized functions, enabling efficient use of multithreading and multiprocessing capabilities.

  • Cross-Platform Compatibility
    MinionPy is implemented in C++ with a Python wrapper, supporting usage in both languages. It has been tested on the following platforms:

    • Windows 11
    • Linux Ubuntu 24.04
    • macOS Sequoia 15

Applications

MinionPy is applicable in scenarios where derivative-free optimization is required, including engineering, physics, and machine learning. Its standardized benchmarks and high-performance algorithms make it suitable for developing and evaluating new optimization techniques as well as solving real-world optimization problems.

📖 Documentation

For full usage instructions, API reference, and examples, visit the official documentation:

Citing Minion

If you use MinionPy in your research or projects, we would be grateful if you could cite the following publication:

Muzakka, K. F., Möller, S., & Finsterbusch, M. (2025).
Minion: A high-performance derivative-free optimization library designed for solving complex optimization problems.
Zenodo. https://doi.org/10.5281/zenodo.14794239

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

minionpy-1.3.0-cp313-cp313-win_amd64.whl (8.6 MB view details)

Uploaded CPython 3.13Windows x86-64

minionpy-1.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

minionpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl (9.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

minionpy-1.3.0-cp312-cp312-win_amd64.whl (8.6 MB view details)

Uploaded CPython 3.12Windows x86-64

minionpy-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

minionpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl (9.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

minionpy-1.3.0-cp311-cp311-win_amd64.whl (8.6 MB view details)

Uploaded CPython 3.11Windows x86-64

minionpy-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

minionpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl (9.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

minionpy-1.3.0-cp310-cp310-win_amd64.whl (8.6 MB view details)

Uploaded CPython 3.10Windows x86-64

minionpy-1.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

minionpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl (9.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

minionpy-1.3.0-cp39-cp39-win_amd64.whl (8.6 MB view details)

Uploaded CPython 3.9Windows x86-64

minionpy-1.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

minionpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl (9.2 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file minionpy-1.3.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: minionpy-1.3.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 8.6 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for minionpy-1.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ceab6236084eeda856c7f8238bd2e5d6ba2333f6fc2e227aa8fd4e020b5f4003
MD5 4c59ce5c31ecd20c3556b60d3aff7d1c
BLAKE2b-256 826991fd46bfa4fbb82637d9423b0b52fafad4ce09d4ed8963db3b11ab2b6510

See more details on using hashes here.

File details

Details for the file minionpy-1.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for minionpy-1.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 428a52a7df73472e8bc1ab69a807513a2fe5a11f361222253341d9c39d01e8df
MD5 6a6ec059a4461800510394553ab30770
BLAKE2b-256 2c02b1b490f2c2cbc08798de61298a434999b565fc60bfd5e4bcf93e68490aad

See more details on using hashes here.

File details

Details for the file minionpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for minionpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 21b753e3d523a02b600921575f1b741c9974d924a865658524ae48e9e4550e24
MD5 1aa1376555b8c53736eb5dc9bba2964a
BLAKE2b-256 5c53b47ebe89e7ff22cced81de735968ae83ffef1d071438b551b3ceeac1b82a

See more details on using hashes here.

File details

Details for the file minionpy-1.3.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: minionpy-1.3.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 8.6 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for minionpy-1.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a40b9d72cf6e208ecb1e3784751da3ab70d14c558351aa7acef48458c4341fc7
MD5 1c1ccdd786d6ad1c572853458270e63e
BLAKE2b-256 109df7650f6a79ee9b18818a9e1620a60d1abee6d5f6297a6fa6159691b3a471

See more details on using hashes here.

File details

Details for the file minionpy-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for minionpy-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 927ddc11b84e78b1c1e36f6f1588c986a8a466fd193f0a3f9bdf80b41814ea8a
MD5 2d1475368d445f479bf385ba0df2cd95
BLAKE2b-256 f2636775a1fbcdab885042f1236080bc87e76fd100bdb2bcc45cb8cab7908382

See more details on using hashes here.

File details

Details for the file minionpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for minionpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 178236c2a5cbd0cc1c000cf6c4482f43498c105c3eda9bb57c19d1fd3d51e640
MD5 1f5a8ba1ff3ab8791edc8f2d5b11caaa
BLAKE2b-256 02ad88a6e679eb1d0b7ce3f18141bffe5e8fed0c9b6dfe63265f1c98a6c97b26

See more details on using hashes here.

File details

Details for the file minionpy-1.3.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: minionpy-1.3.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 8.6 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for minionpy-1.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1ddcc3a65625434c11febf4001fa1d1c860b9597771e0fb918e6c97d568fc8da
MD5 37d868cd8a91abec7787bf1d4ca7bb27
BLAKE2b-256 847e6f6dea5fbc4dbe481d539338ccc0402e482a4434f7e53fd82754143e2764

See more details on using hashes here.

File details

Details for the file minionpy-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for minionpy-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 40cf73ff5c21a30c9a87e0c635dc73761731e0fc28dac299224d80a544dbde43
MD5 ab5bd9cf7a05c207b9c5567dfde614b0
BLAKE2b-256 b111d4a0ea533a0844626f1992b8782762155131c925346ce72b6b78ba9099a6

See more details on using hashes here.

File details

Details for the file minionpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for minionpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 51b7ddf203e2a9c4604976cffbe8df76fef2ff1c93f92d3aa188cee8ff36ca5f
MD5 ec03e97089e3e7681f27b8a0afa6976f
BLAKE2b-256 2159c4c17bb62a624fb0837ab6faddb6dab976c11c94f5fc38e0094cdd1c502e

See more details on using hashes here.

File details

Details for the file minionpy-1.3.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: minionpy-1.3.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 8.6 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for minionpy-1.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 53db8e587b3c1e5be9daada3b1bcb6feb35e87c79b4e117d0ac908421404126f
MD5 c3e58337f45b67c9a11b386c9b6b3985
BLAKE2b-256 8e7c98c81a514facaea22947da96246870680d445b62f5f9db8d55342a919c43

See more details on using hashes here.

File details

Details for the file minionpy-1.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for minionpy-1.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a4420e8f0444dd4a590e49304933cd3befdfc600dbb860b9d9bf26a3d2ddf932
MD5 0a4409cfde656ccabc80d29bfded1bab
BLAKE2b-256 9d575304eb92cf896aeb83b6ac57b306ddfefe15881e070430b7ae8782176179

See more details on using hashes here.

File details

Details for the file minionpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for minionpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5a8dc1f52540224755b86276688b90f161cc8b169ea572eee4322c80d81bfd0f
MD5 f90455b01fa3a4e9157fdc48d20071b5
BLAKE2b-256 2fee9331320ee76dab22432649ebf9f683ffdd3a95ee400c131210fa1d726a19

See more details on using hashes here.

File details

Details for the file minionpy-1.3.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: minionpy-1.3.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 8.6 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for minionpy-1.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8566635476582364883adc0c9572b6003b36e747e8366e533384854389aaf578
MD5 d3c6172b60f36b9f498b4b287d78d78b
BLAKE2b-256 457fdfb5ebf04311fdcf8860ed768d0daa78f388395e8fe4306a1768ec42fe32

See more details on using hashes here.

File details

Details for the file minionpy-1.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for minionpy-1.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 79c17dfc10cb7b4b00948cb59e8ea24dcdb87be7d79461eaa838daf9e94356ba
MD5 a96ac2a1ffe27c9a33d0e62bcd224cf0
BLAKE2b-256 22e9442a4d66bf60d21858499d0747eaea37737f5301f31e6a8d07cd0a36b6eb

See more details on using hashes here.

File details

Details for the file minionpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for minionpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4d7c26ccd5984467d958b486ea00c42b0b93586ab99e44c53f6760cdcec3eb60
MD5 b4ecd04bc498f2ac29e4734aeb65856e
BLAKE2b-256 db8526338e391778fb33da022a803d96ca598c077a16712474a49e2019c2d093

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page