#optimization #algorithm #cma-es

haru_cmaes

A simple CMA-ES optimization algorithm implementation based on Hansen's purecma Python implementation

24 releases (9 stable)

1.0.9 Feb 3, 2025
1.0.1 Dec 30, 2024
0.6.10 Dec 28, 2024
0.5.1 Sep 13, 2024
0.3.0 Jul 30, 2024

#324 in Algorithms

Download history 174/week @ 2024-12-03 325/week @ 2024-12-10 100/week @ 2024-12-17 850/week @ 2024-12-24 652/week @ 2024-12-31 153/week @ 2025-01-07 115/week @ 2025-01-14 74/week @ 2025-01-21 195/week @ 2025-01-28 115/week @ 2025-02-04 10/week @ 2025-02-11

417 downloads per month

MIT/Apache

115KB
740 lines

CMAES in Rust

Motivation

This is my own Rust implementation of the CMA-ES optimization algorithm based in Hansen's purecma python implementation.

Roadmap

Now that I have migrated this crate to nalgebra matrix crate, current roadmap is to refactor all code for maximum performance.

Also, I plan to provide some interface utilities for users and provide more examples on how to use this tool.

Usage examples

Please see: - ask_tell_use.rs for a detailed and flexible use, - express_use.rs for a quick run with default configurations, - fold_use.rs to run for a specific number of generations. - To run other fitness examples, please see objectives.rs and adjust accordingly i.e. commented out code

About Backend

Although, I have conditionally configured-coded this tool to make use of openblas, netlib, accelerate and/or intel-mkl backends, I have noit yet tested them.

How to contribute?

You can contribute any way you like.

Current suggestions: - Test backends functionality - More documentation - Bugs - Any other thing you'd like to contribute

Dependencies

~6–16MB
~253K SLoC