Skip to main content

Module advanced

Module advanced 

Source
Expand description

Advanced multi-objective optimization utilities (clean Vec<f64>-based API).

Provides:

All functions operate on Vec<f64> and &[f64] rather than ndarray types, making them easy to use from pure Rust code without array wrappers.

§Example

use scirs2_optimize::multi_objective::advanced::{NsgaIII, dominates, non_dominated_sort};

assert!(dominates(&[1.0, 2.0], &[2.0, 3.0]));

let sols = vec![vec![1.0, 3.0], vec![2.0, 2.0], vec![3.0, 1.0], vec![2.0, 3.0]];
let fronts = non_dominated_sort(&sols);
assert_eq!(fronts[0].len(), 3);

Structs§

NsgaIII
NSGA-III many-objective optimizer — struct-based API.
NsgaResult
Result from NsgaIII::optimize.

Functions§

crowding_distance
Compute crowding distances for a single Pareto front.
dominates
Returns true if objective vector a Pareto-dominates b.
epsilon_constraint_optimize
Epsilon-constraint method for multi-objective optimization.
hypervolume
Compute the hypervolume indicator.
non_dominated_sort
Fast non-dominated sorting (NSGA-II style).
weighted_sum_optimize
Minimize a weighted sum of objectives via multi-start coordinate descent.