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
- exact and sampled hypervolume, IGD/IGD+, GD/GD+, epsilon, spacing, spread, non-dominated sorting, and crowding distance
- 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 |
| Audit a multi-objective front | indicators |
| 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
- API reference
- Rendered user guide
- Getting started
- Choosing an optimizer
- Optimizer scope and interoperation
- Optimizer guide
- Retry guide
Avoid CPU oversubscription when combining retry-level and population-evaluation parallelism. Debug builds are not representative of optimizer performance.
License
MIT