fcmaes-core
fcmaes-core provides fast, parallel, gradient-free optimization algorithms
implemented entirely in Rust. It is the reusable optimizer core of the
fcmaes-rust project and does not
compile, link, load, or call the historical C++ optimizer backend.
Installation
The minimum supported Rust version is 1.88.
Minimal example
use ;
Use optimized builds for real workloads:
Capabilities
- Differential Evolution, active CMA-ES, CR-FM-NES, PGPE and Dual Annealing
- BiteOpt and batched ask/tell optimization
- MODE multi-objective optimization
- independent, coordinated and weighted multi-objective retry
- CVT MAP-Elites, quality-diversity search and the Diversifier
- native multithreading and parallel batch evaluation
API map
| Problem | Start here |
|---|---|
| General bounded scalar optimization | De, Cmaes, or BiteOpt |
| High-dimensional or noisy search | Pgpe or Crfmnes |
| Independent or adaptive restarts | retry |
| Several competing objectives | mode and moretry |
| Diverse high-quality solutions | mapelites |
| External, GPU, service, or custom batch evaluator | the ask/tell methods on DE, CMA-ES, CR-FM-NES, PGPE, BiteOpt, and MODE |
Every public item is documented. Module pages provide runnable examples, algorithm references, parameter semantics, stopping behavior, and execution notes. The crate rejects undocumented public additions and broken rustdoc links at compile time.
Documentation
Avoid CPU oversubscription when combining retry-level and population-evaluation parallelism. Debug builds are not representative of optimizer performance.
License
MIT