Skip to main content

MinionPy is the Python implementation of the Minion (C++) ibrary.

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.4.0-cp313-cp313-win_amd64.whl (9.1 MB view details)

Uploaded CPython 3.13Windows x86-64

minionpy-1.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.3 MB view details)

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

minionpy-1.4.0-cp313-cp313-macosx_11_0_arm64.whl (9.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

minionpy-1.4.0-cp312-cp312-win_amd64.whl (9.1 MB view details)

Uploaded CPython 3.12Windows x86-64

minionpy-1.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.3 MB view details)

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

minionpy-1.4.0-cp312-cp312-macosx_11_0_arm64.whl (9.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

minionpy-1.4.0-cp311-cp311-win_amd64.whl (9.1 MB view details)

Uploaded CPython 3.11Windows x86-64

minionpy-1.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.3 MB view details)

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

minionpy-1.4.0-cp311-cp311-macosx_11_0_arm64.whl (9.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

minionpy-1.4.0-cp310-cp310-win_amd64.whl (9.1 MB view details)

Uploaded CPython 3.10Windows x86-64

minionpy-1.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.3 MB view details)

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

minionpy-1.4.0-cp310-cp310-macosx_11_0_arm64.whl (9.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

minionpy-1.4.0-cp39-cp39-win_amd64.whl (9.1 MB view details)

Uploaded CPython 3.9Windows x86-64

minionpy-1.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.3 MB view details)

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

minionpy-1.4.0-cp39-cp39-macosx_11_0_arm64.whl (9.1 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: minionpy-1.4.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 9.1 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.4.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2ce950d23a70b56d17c5cb25baa62625ac3970d89e6b66236b2640871f11437c
MD5 9dcb8ee3d3c6b09850730812b1bb3163
BLAKE2b-256 b18a6615cffded8f770237e4293832b809ebc6924d4beb0c2918f2b7c930a22a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for minionpy-1.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0ab54015468fdf7abf2554595ca7dbb669e488c2e471b9e6f582fb1a895feef9
MD5 48009a7a392e3a2848a8c794263248d8
BLAKE2b-256 dfa92f452b4b7ab22879d94831eb10985420775f0cf671b4510e4209b211a0dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for minionpy-1.4.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 50a03952d672f9b46712b4c3f9d2c567fed946612591b995fe6773a8d71d24a7
MD5 8a5abcc266874f9d77cd428efe00d83f
BLAKE2b-256 204ce471e55965e3d0c7e5069e9ba0837a074b98d8abb645915ca9a280e7f379

See more details on using hashes here.

File details

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

File metadata

  • Download URL: minionpy-1.4.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 9.1 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.4.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ace5e4065b38e93ce5ea2e6754418aebc3be69d99139a822273d40c13ada3358
MD5 b1029994d774c34a2dc93d74363c7358
BLAKE2b-256 fbe0963f3f18fde2cd4280038274847719ef83c3dbab782dcfba3f5539f321e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for minionpy-1.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 af56bb72b835496a74439ecc62cb53918a0e82368e390539b02d14e52c5c6ec7
MD5 48ab7347b1fa9c90f7ffc44f97e67130
BLAKE2b-256 372230f871b3d0904abbb9f34f77c9261d87d385a744fa00b267ac2014298dca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for minionpy-1.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f16d05745c1a712b7e58ab9e2a5be47635865baeee05cce736a149036ec389cb
MD5 c3bd0982bf431ff7e664b472f1c168fe
BLAKE2b-256 776d472f825b661d19cc4a22545ab96a057089bebef3efdce092a349afbe8d59

See more details on using hashes here.

File details

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

File metadata

  • Download URL: minionpy-1.4.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 9.1 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.4.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c3acb17238d4dc150185962c9279eb9b7e0d514df265d65e154536eed0bf3751
MD5 732bab87cd045a58ca2e4795fb9d62d4
BLAKE2b-256 a830657d87ef62796b30cd5611797a8ae45a101c91fd8e0cd8aa8f9443128201

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for minionpy-1.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c2154de3c8b76c1ae3746d2c10adbce5142129e8c63e20502efb2fd3044867d2
MD5 730872f357817ca2ab135281460f7822
BLAKE2b-256 bee3d0988e2f21ef542a2e399a5f6e05eb5c930fdcde4ce16f01b7e05bc52774

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for minionpy-1.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 045ae92c8ad5c30030434db1405146eaa3992235b34ff0f023e34897dd6fb830
MD5 bc133bb03a8d6e272366da41ab52682e
BLAKE2b-256 8c26eda75a647dc3334dd6b4a4366330abad8a86dc0aa30184c5705825af57e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: minionpy-1.4.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 9.1 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.4.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 813f471ecab611ddede5d54483019a543e8f59e401daf33990205e7bf50557b9
MD5 1fee6a615ab5b39d7f5f96491c451b3f
BLAKE2b-256 b472c353b4cd77f2080e99efca0a413a7597a19cf0e4afd819a56d927d1534dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for minionpy-1.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bbddc286ea5ccd6017fd5caa2f9c492d983165d5cebc408597acd065965c4ccb
MD5 38dcb7b45183a873ca7ddc566d0ba086
BLAKE2b-256 4d6c374782356b1b828e5e5121390bcd9dc6ca2706f7946656147a7c76d10418

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for minionpy-1.4.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6f7374500db7c625c9ec342cc86fe99c350b10f8a2972d047ed8a309eb618df0
MD5 ba250abdffd0d8cf04e2573c3d5f0a70
BLAKE2b-256 c36b5b35bf6964f118ce9b5d0a45478d2fb64afe7883a5d20ecc97d3f28ca91a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: minionpy-1.4.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 9.1 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.4.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 cf7f145e7d9ff2a86504f3e24048e3dad5457035a5a9c922e7b718899ce95fae
MD5 3d9c1e9bca43d6aa8a1dbbaa53599a3c
BLAKE2b-256 1942391425d4b9ebb7d1eeeaa000bb6e5a80e8d37df90531431e53bf607fd8ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for minionpy-1.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e930e4cffd1721eb32880163c101da40713f12f6279b76e8ee0191ec86a3387d
MD5 9d7a18454187a67bda8e2dac3f288bba
BLAKE2b-256 afe5429489a13de8f3adfc3fab2f6369c145e6ab6f09f6f437b6590c667dea17

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for minionpy-1.4.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7732e15ca076dc2c41f3b0aba9b05ec21d5d7022b357c67e03b153bbfff78b20
MD5 6c699759c6675e341ac34ad0ea90a980
BLAKE2b-256 dbc02904d6ad835ecccde890ae9ffa98ba4adbeec3f92cc74a8f8b39e2f765e6

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