English

cmaes: A Simple yet Practical Python Library for CMA-ES

Neural and Evolutionary Computing 2026-02-10 v3 Mathematical Software

Abstract

The covariance matrix adaptation evolution strategy (CMA-ES) has been highly effective in black-box continuous optimization, as demonstrated by its success in both benchmark problems and various real-world applications. To address the need for an accessible and powerful tool in this domain, we developed cmaes, a simple and practical Python library for CMA-ES. cmaes is characterized by its simplicity, offering intuitive use and high code readability. This makes it suitable for quick use of CMA-ES, as well as for educational purposes and seamless integration into other libraries. Despite its simple design, cmaes maintains advanced functionality. It incorporates recent advancements in CMA-ES, such as learning rate adaptation for challenging scenarios, transfer learning, mixed-variable optimization, and multi-objective optimization capabilities. These advanced features are accessible through a user-friendly API, ensuring that cmaes can be easily adopted in practical applications. We present cmaes as a strong candidate for a practical Python CMA-ES library aimed at practitioners. The software is available under the MIT license at https://github.com/CyberAgentAILab/cmaes.

Keywords

Cite

@article{arxiv.2402.01373,
  title  = {cmaes: A Simple yet Practical Python Library for CMA-ES},
  author = {Masahiro Nomura and Masashi Shibata and Ryoki Hamano},
  journal= {arXiv preprint arXiv:2402.01373},
  year   = {2026}
}