A Python Library for Classical, Limited-Memory, and Dynamical Low-Rank Covariance Matrix Adaptation Evolution Strategy
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.
You can install the latest distribution via:
pip install seamazeYou can check the latest source code via:
git clone https://github.com/pyanno4rt/seamaze.gitseamaze has three main classes which provide a classical, a limited-memory, and a dynamical low-rank CMA-ES variant. Check the 'examples' folder for detailed benchmark scripts!
from seamaze.optimizers import CMAESfrom seamaze.optimizers import LMMAESfrom seamaze.optimizers import DLRCMAES| Name | Version |
|---|---|
python |
>=3.11, <4.0 |
numpy |
>=2.4.6 |
scipy |
>=1.17.1 |
numba |
>=0.65.1 |
matplotlib |
>=3.11.0 |
seaborn |
>=0.13.2 |
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.4},
license = {MIT},
year = {2026},
publisher = {GitHub},
url = {https://github.com/pyanno4rt/seamaze}
}