pub struct ESConfig {
pub mu: usize,
pub lambda: usize,
pub selection: ESSelectionStrategy,
pub initial_sigma: f64,
pub self_adaptive: bool,
pub recombination: RecombinationType,
pub min_sigma: Option<f64>,
}Expand description
Configuration for Evolution Strategies
Fields§
§mu: usizeNumber of parents (μ)
lambda: usizeNumber of offspring (λ)
selection: ESSelectionStrategySelection strategy
initial_sigma: f64Initial step size (σ)
self_adaptive: boolUse self-adaptive mutation (evolve σ)
recombination: RecombinationTypeRecombination type
min_sigma: Option<f64>Problem-scaled lower bound on self-adaptive step sizes.
None resolves to 1e-8 * initial_sigma (see
ESConfig::resolved_min_sigma), which guards against premature
step-size collapse. This is distinct from the absolute underflow floor
baked into StrategyParams, which only prevents σ reaching literal
zero.
Implementations§
Source§impl ESConfig
impl ESConfig
Sourcepub fn resolved_min_sigma(&self) -> f64
pub fn resolved_min_sigma(&self) -> f64
Resolve the effective lower bound on self-adaptive step sizes.
Uses the explicitly configured min_sigma when set,
otherwise a problem-scaled default of 1e-8 * initial_sigma.
Sourcepub fn mu_plus_lambda(mu: usize, lambda: usize) -> Self
pub fn mu_plus_lambda(mu: usize, lambda: usize) -> Self
Create a (μ+λ)-ES configuration
Sourcepub fn mu_comma_lambda(mu: usize, lambda: usize) -> Result<Self, EvolutionError>
pub fn mu_comma_lambda(mu: usize, lambda: usize) -> Result<Self, EvolutionError>
Create a (μ,λ)-ES configuration
Trait Implementations§
Source§impl Default for ESConfig
impl Default for ESConfig
Source§fn default() -> Self
fn default() -> Self
Default configuration: (15, 100)-ES with mutative σ self-adaptation.
Selection defaults to MuCommaLambda (comma) because self-adaptation is
enabled by default and elitist (plus) selection suppresses mutative
step-size adaptation — see ESSelectionStrategy for the theory.
Auto Trait Implementations§
impl Freeze for ESConfig
impl RefUnwindSafe for ESConfig
impl Send for ESConfig
impl Sync for ESConfig
impl Unpin for ESConfig
impl UnsafeUnpin for ESConfig
impl UnwindSafe for ESConfig
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> 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 more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§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).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.