A Python implementation of CMA-ES and a few related numerical optimization tools.
The Covariance Matrix Adaptation Evolution Strategy (CMA-ES) is a stochastic derivative-free numerical optimization algorithm for difficult (non-convex, ill-conditioned, multi-modal, rugged, noisy) optimization problems in continuous search spaces.
Useful links:
Installation of the latest release
Type
python -m pip install cma
in a system shell to install the latest release from the Python Package Index (PyPI). The release link also provides more installation hints and a quick start guide.
The quick way (requires git to be installed):
pip install git+https://github.com/CMA-ES/pycma.git@master
The long version: download and unzip the code (see green button above) or
git clone https://github.com/CMA-ES/pycma.git
.
-
Either, copy (or move) the
cma
source code folder into a folder visible to Python, namely a folder which is in the Python path (e.g. the current folder). Then,import cma
works without any further installation. -
Or, install the
cma
package by typing within the folder, where thecma
source code folder is visible,pip install -e cma
Moving the
cma
folder away from its location would invalidate this installation.
It may be necessary to replace pip
with python -m pip
and/or prefixing
either of these with sudo
.
-
Version
2.2.0
added VkD CMA-ES to the master branch. -
Version
2.*
is a multi-file split-up of the original module. -
Version
1.x.*
is a one file implementation and not available in the history of this repository. The latest1.*
version ```1.1.7`` can be found here.