pub struct BinaryGaConfig {
pub pop_size: usize,
pub genome_dim: usize,
pub mutation_rate: Probability,
pub crossover_p: Probability,
pub tournament_size: usize,
pub elitism_k: usize,
}Expand description
Static configuration for a BinaryGeneticAlgorithm run.
Fields§
§pop_size: usizePopulation size.
genome_dim: usizeGenome dimensionality.
mutation_rate: ProbabilityProbability of bit flip per gene. Valid by construction ([0, 1]).
crossover_p: ProbabilityProbability of taking parent A’s bit in uniform crossover. Valid by
construction ([0, 1]).
tournament_size: usizeTournament size for parent selection.
elitism_k: usizeNumber of elites carried over to the next generation.
Implementations§
Source§impl BinaryGaConfig
impl BinaryGaConfig
Sourcepub fn default_for(pop_size: usize, genome_dim: usize) -> Self
pub fn default_for(pop_size: usize, genome_dim: usize) -> Self
Sensible defaults for small-scale binary optimization.
Mutation rate defaults to 1 / D (the standard “one expected
flip per genome” rule from the binary-GA literature).
§Panics
Panics when genome_dim == 0: the 1 / D mutation rate becomes
non-finite (1.0 / 0.0 == +∞), which Probability::new rejects as
outside [0, 1]. This is the sanctioned builder-time panic on an
unusable config (ADR 0026); pass a non-zero genome_dim.
Trait Implementations§
Source§impl Clone for BinaryGaConfig
impl Clone for BinaryGaConfig
Source§fn clone(&self) -> BinaryGaConfig
fn clone(&self) -> BinaryGaConfig
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BinaryGaConfig
impl Debug for BinaryGaConfig
Source§impl Validate for BinaryGaConfig
impl Validate for BinaryGaConfig
Source§fn validate_all(&self) -> Result<(), Vec<ConfigError>>
fn validate_all(&self) -> Result<(), Vec<ConfigError>>
Returns every violated invariant rather than just the first. Read more
Auto Trait Implementations§
impl Freeze for BinaryGaConfig
impl RefUnwindSafe for BinaryGaConfig
impl Send for BinaryGaConfig
impl Sync for BinaryGaConfig
impl Unpin for BinaryGaConfig
impl UnsafeUnpin for BinaryGaConfig
impl UnwindSafe for BinaryGaConfig
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<C> CloneExpand for Cwhere
C: Clone,
impl<C> CloneExpand for Cwhere
C: Clone,
fn __expand_clone_method(&self, _scope: &mut Scope) -> C
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 more