Skip to main content

CrossoverOperator

Trait CrossoverOperator 

Source
pub trait CrossoverOperator<G: EvolutionaryGenome>: Send + Sync {
    // Required method
    fn crossover<R: Rng>(
        &self,
        parent1: &G,
        parent2: &G,
        rng: &mut R,
    ) -> OperatorResult<(G, G)>;

    // Provided method
    fn crossover_probability(&self) -> f64 { ... }
}
Expand description

Crossover operator trait

Combines genetic material from two parents to create offspring.

Required Methods§

Source

fn crossover<R: Rng>( &self, parent1: &G, parent2: &G, rng: &mut R, ) -> OperatorResult<(G, G)>

Apply crossover to two parents and produce two offspring

Provided Methods§

Source

fn crossover_probability(&self) -> f64

Get the probability of crossover being applied

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§