A Python Library for Classical, Limited-Memory, and Dynamical Low-Rank Covariance Matrix Adaptation Evolution Strategy
General :earth_americas:
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, constraint handling, and multi-stage restart mechanisms.
Installation :computer:
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.66.0 |
matplotlib |
>=3.11.0 |
seaborn |
>=0.13.2 |
Development :rocket:
Important links
Help and Support :busts_in_silhouette:
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.8},
license = {MIT},
year = {2026},
publisher = {GitHub},
url = {https://github.com/pyanno4rt/seamaze}
}
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file seamaze-0.0.8.tar.gz.
File metadata
- Download URL: seamaze-0.0.8.tar.gz
- Upload date:
- Size: 53.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
poetry/1.5.1 CPython/3.7.6 Linux/6.8.0-134-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec89aace6749dd5e2eac984734cc0fdc03c5835248afbb91cf18d8893fbce9c5
|
|
| MD5 |
64b5e45d91f06b82b3516a91ce6c7c2e
|
|
| BLAKE2b-256 |
3523bded10791b5a2bd68f0cd308a4e068ad5bc8478b1955a7fc40a9cd56c046
|
File details
Details for the file seamaze-0.0.8-py3-none-any.whl.
File metadata
- Download URL: seamaze-0.0.8-py3-none-any.whl
- Upload date:
- Size: 78.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
poetry/1.5.1 CPython/3.7.6 Linux/6.8.0-134-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2fdec527946b6ded3e915c58fe2daaa3f5200d962dad4918488ce723cbb5deac
|
|
| MD5 |
64c4048bdc196b467ddc4970e7f243fd
|
|
| BLAKE2b-256 |
d7c40b13f55311f896c5ecab55537533fea876a8986f4a4fd0f479705684cfd9
|