feat(pareto): add non_dominated_sort

Deb's fast non-dominated sort: returns Vec<Vec<usize>> of front indices
into the input population, with fronts[0] being the non-dominated set.
O(N²·M) is acceptable for v1 (spec §9.5).

Tests cover: small known population produces expected fronts; equal
candidates land on the same front; an empty population yields no
fronts.
This commit is contained in:
2026-05-04 19:19:38 -06:00
parent da9baf0325
commit 9d64a0f186
3 changed files with 128 additions and 1 deletions
+3 -1
View File
@@ -11,4 +11,6 @@ pub use crate::core::{
pub use crate::traits::{Initializer, Optimizer, Variation};
pub use crate::pareto::{Dominance, best_candidate, pareto_compare, pareto_front};
pub use crate::pareto::{
Dominance, best_candidate, non_dominated_sort, pareto_compare, pareto_front,
};