pub struct DeOptions {
pub pop_size: usize,
pub max_generations: usize,
pub mutation_factor: f64,
pub crossover_prob: f64,
pub strategy: DeStrategy,
pub crossover: CrossoverType,
pub bounds: Vec<(f64, f64)>,
pub seed: Option<u64>,
pub tol: f64,
pub patience: usize,
pub opposition: OppositionBasedInit,
pub constraint_handler: Option<DeConstraintHandler>,
}Expand description
Options for Differential Evolution optimizer
Fields§
§pop_size: usizePopulation size (typically 5-10 times the dimension)
max_generations: usizeMaximum number of generations
mutation_factor: f64Mutation factor F in [0, 2]
crossover_prob: f64Crossover probability CR in [0, 1]
strategy: DeStrategyMutation strategy
crossover: CrossoverTypeCrossover type
bounds: Vec<(f64, f64)>Search bounds per dimension: (lower, upper)
seed: Option<u64>Random seed
tol: f64Convergence tolerance on function value spread
patience: usizePatience: generations without improvement
opposition: OppositionBasedInitOpposition-based learning
constraint_handler: Option<DeConstraintHandler>Constraint handler
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DeOptions
impl RefUnwindSafe for DeOptions
impl Send for DeOptions
impl Sync for DeOptions
impl Unpin for DeOptions
impl UnsafeUnpin for DeOptions
impl UnwindSafe for DeOptions
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.