feat(algorithms): add Paes (Pareto Archived Evolution Strategy)

A readable v1 PAES (spec §12.2):

- Single starting decision from the initializer.
- Each iteration mutates the current decision via the Variation operator,
  evaluates the child, and pareto_compares to the current.
- Dominating children become current; for non-dominated comparisons we
  move to the child (acceptable v1 behavior per spec).
- Both current and child are inserted into a ParetoArchive truncated
  to `archive_size` (simple tail-truncation in v1).

The final result returns the archive as both `population` and
`pareto_front`. Tests verify the archive never exceeds
`archive_size`.
This commit is contained in:
2026-05-04 19:23:53 -06:00
parent f17c960ec7
commit bb3a01f90e
3 changed files with 165 additions and 1 deletions
+2
View File
@@ -1,5 +1,7 @@
//! Built-in reference optimizers.
pub mod paes;
pub mod random_search;
pub use paes::*;
pub use random_search::*;