pub struct Nsga3Config {
pub population_size: usize,
pub n_generations: usize,
pub n_divisions: usize,
pub n_divisions_inner: Option<usize>,
pub crossover_rate: f64,
pub mutation_rate: f64,
pub eta_c: f64,
pub eta_m: f64,
pub seed: u64,
}Expand description
Configuration for the NSGA-III algorithm.
Most fields are identical to Nsga2Config; the key difference is that
NSGA-III accepts a reference_point_divisions parameter controlling the
density of the Das-Dennis reference point lattice, and optionally a set
of user-supplied adaptive reference points layered on top.
Fields§
§population_size: usizePopulation size (will be rounded to the nearest feasible size ≥ this value to accommodate the reference point lattice). Default 100.
n_generations: usizeNumber of generations. Default 200.
n_divisions: usizeNumber of divisions on each objective axis for the primary reference point lattice (Das-Dennis). Default 12 for 2 objectives, 6 for 3-5, 3 for 6+. Setting to 0 uses the adaptive default.
n_divisions_inner: Option<usize>Optional second-layer divisions for an inner lattice (used in
two-layer reference point generation for many-objective problems).
If Some(d), an additional inner lattice with d divisions is
generated and merged with the outer lattice. Default None.
crossover_rate: f64Simulated binary crossover probability. Default 0.9.
mutation_rate: f64Polynomial mutation probability per variable. Default 1/n_vars.
eta_c: f64SBX distribution index η_c. Default 20.
eta_m: f64Polynomial mutation distribution index η_m. Default 20.
seed: u64RNG seed for reproducibility. Default 12345.
Trait Implementations§
Source§impl Clone for Nsga3Config
impl Clone for Nsga3Config
Source§fn clone(&self) -> Nsga3Config
fn clone(&self) -> Nsga3Config
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Nsga3Config
impl Debug for Nsga3Config
Auto Trait Implementations§
impl Freeze for Nsga3Config
impl RefUnwindSafe for Nsga3Config
impl Send for Nsga3Config
impl Sync for Nsga3Config
impl Unpin for Nsga3Config
impl UnsafeUnpin for Nsga3Config
impl UnwindSafe for Nsga3Config
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.