Skip to main content

rlevo_evolution/ops/
mod.rs

1//! Evolutionary operators.
2//!
3//! Operators are organized by role:
4//!
5//! - [`selection`] — parent selection (tournament, truncation).
6//! - [`crossover`] — recombination (BLX-α, uniform).
7//! - [`mutation`] — variation (Gaussian, Cauchy, uniform-reset).
8//! - [`replacement`] — survivor selection (generational, elitist,
9//!   (μ+λ), (μ,λ)).
10//! - [`linalg`] — host-side dense linear algebra (Jacobi eigendecomposition,
11//!   Cholesky) for the covariance-matrix strategies.
12//!
13//! The [`kernels`] submodule houses custom `CubeCL` fused kernels (empty
14//! for now; see the `custom-kernels` crate feature).
15//!
16//! All operator functions take an explicit `&mut dyn RngCore` and a
17//! `&B::Device` so the harness owns determinism. Operators never touch
18//! thread-local or global RNG state.
19
20pub mod crossover;
21pub mod kernels;
22pub mod linalg;
23pub mod mutation;
24pub mod replacement;
25pub mod selection;