The standard structured weight/reference vector generator for many-objective MOEAs (NSGA-III, MOEA/D). Generates (H+M-1 choose M-1) points uniformly distributed on the unit simplex by enumerating all integer compositions of `divisions` into `num_objectives` parts and dividing each by `divisions`. Lives in src/pareto/reference_points.rs. Re-exported from the prelude as `das_dennis`. Tests cover: M=2/H=4 → 5 points along the diagonal; M=3/H=12 → 91 points (the canonical NSGA-III 3-objective ref set); each generated point has exactly M components summing to 1 within float tolerance.
28 lines
847 B
Rust
28 lines
847 B
Rust
//! Common imports for users of `heuropt`.
|
|
//!
|
|
//! ```
|
|
//! use heuropt::prelude::*;
|
|
//! ```
|
|
|
|
pub use crate::core::{
|
|
Candidate, Direction, Evaluation, Objective, ObjectiveSpace, OptimizationResult,
|
|
Population, Problem, Rng, rng_from_seed,
|
|
};
|
|
|
|
pub use crate::traits::{Initializer, Optimizer, Variation};
|
|
|
|
pub use crate::pareto::{
|
|
Dominance, ParetoArchive, best_candidate, crowding_distance, das_dennis,
|
|
non_dominated_sort, pareto_compare, pareto_front,
|
|
};
|
|
|
|
pub use crate::operators::{
|
|
BitFlipMutation, BoundedGaussianMutation, CompositeVariation, GaussianMutation,
|
|
PolynomialMutation, RealBounds, SimulatedBinaryCrossover, SwapMutation,
|
|
};
|
|
|
|
pub use crate::algorithms::{
|
|
DifferentialEvolution, DifferentialEvolutionConfig, Nsga2, Nsga2Config, Paes, PaesConfig,
|
|
RandomSearch, RandomSearchConfig, Spea2, Spea2Config,
|
|
};
|