A Python Library for Classical, Limited-Memory, and Dynamical Low-Rank Covariance Matrix Adaptation Evolution Strategy
General 🌎
seamaze is a Python library for classical, limited-memory, and dynamical low-rank (DLR) variants of the covariance matrix adaptation evolution strategy (CMA-ES). It provides state-of-the-art, derivative-free algorithms designed for continuous, non-linear, and non-convex real-parameter optimization, excelling in ill-conditioned, non-separable, or rugged fitness landscapes. By leveraging limited-memory and DLR approximations, seamaze maintains computational efficiency even on high-dimensional black-box problems. This implementation further incorporates first-order information and bound constraint handling.
Installation 💻
Python distribution
You can install the latest distribution via:
pip install seamaze
Source code
You can check the latest source code via:
git clone https://github.com/pyanno4rt/seamaze.git
Usage
seamaze has three main classes which provide a classical, a limited-memory, and a dynamical low-rank CMA-ES variant. Check out the 'examples' folder for detailed benchmark scripts!
Classical CMA-ES
from seamaze.optimizers import CMAES
Limited-memory CMA-ES
from seamaze.optimizers import LMMAES
Dynamical low-rank CMA-ES
from seamaze.optimizers import DLRCMAES
Dependencies
| Name | Version |
|---|---|
python |
>=3.11, <4.0 |
numpy |
>=2.4.6 |
scipy |
>=1.17.1 |
numba |
>=0.68.0 |
matplotlib |
>=3.11.2 |
seaborn |
>=0.13.2 |
Development 🚀
Important links
Help and Support 👥
Resources
Contact
Citation
To cite seamaze, either use the link in the right sidebar of the Github landing page labeled "Cite this repository" or copy the short-form bib-style paragraph below:
@software{seamaze,
title = {{seamaze}: a python library for classical, limited-memory, and dynamical low-rank covariance matrix adaptation evolution strategy},
author = {Ortkamp, Tim and Patwardhan, Chinmay and Stammer, Pia},
version = {0.0.12},
license = {MIT},
year = {2026},
publisher = {GitHub},
url = {https://github.com/pyanno4rt/seamaze}
}
Metadata
Release files for seamaze 0.0.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| seamaze-0.0.12.tar.gz | 57.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| seamaze-0.0.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 138.7 kB
Release files / seamaze-0.0.12.tar.gz
| Download URL | seamaze-0.0.12.tar.gz |
|---|---|
| Size | 57.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7d7dc1f5ccf96b17e268196df5e176d8f8bbd5d155a096fb1b0f14294bbd7909
|
|
BLAKE2b-256 checksum How to use checksums |
5b0ba6761d0da82346bb8e3628b7a09f8bd37dca85688a82a8159675a67791f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.5.1 CPython/3.7.6 Linux/6.8.0-142-generic
|
Release files / seamaze-0.0.12-py3-none-any.whl
| Download URL | seamaze-0.0.12-py3-none-any.whl |
|---|---|
| Size | 80.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ed6414f927b42fe73979a467e822d8d716fba695b93386cf8d1f67b5a1abf403
|
|
BLAKE2b-256 checksum How to use checksums |
de54f32273595fe745575932356fa1cb7761708791ebdd6ec73034559237b9a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.5.1 CPython/3.7.6 Linux/6.8.0-142-generic
|