feat(algorithms): add RandomSearch baseline optimizer

The reference baseline and the spec's recommended starting example. Per
iteration it asks the initializer for `batch_size` decisions, evaluates
each, and accumulates them. At the end it returns the full population
plus the Pareto front and (if single-objective) the best feasible
candidate. `generations` equals `iterations`; `evaluations` equals
`iterations * batch_size` (spec §12.1).

Includes a tiny single-objective sphere test problem under
`tests_support` that later algorithm tests will reuse.
This commit is contained in:
2026-05-04 19:23:20 -06:00
parent 4882e1865d
commit f17c960ec7
5 changed files with 173 additions and 0 deletions
+2
View File
@@ -17,3 +17,5 @@ pub use crate::pareto::{
};
pub use crate::operators::{BitFlipMutation, GaussianMutation, RealBounds, SwapMutation};
pub use crate::algorithms::{RandomSearch, RandomSearchConfig};