genoxide
genoxide is a library for evolutionary computation, written in Rust and available in Python. It has genetic algorithms, evolution strategies, CMA-ES, differential evolution, particle swarms, local search, and multi-objective algorithms such as NSGA-II. Runs evaluate in parallel, in batches or asynchronously, and a seed makes them reproducible. In Python, fitness functions can take a whole generation as a numpy array.
Install
cargo add genoxide
pip install genoxide
Links
- Examples, in Rust and Python
- Python API: the reference of the Python package
- Rust API on docs.rs
- GitHub
- Benchmark results, interactive: three problems, one method each, the same in every library
- Benchmarks: rules, the methods' definitions, methodology and the full tables