pub struct EvolutionaryParameterSpace {
pub parameters: Vec<ParameterDef>,
}Expand description
Parameter space definition for evolutionary optimization
Fields§
§parameters: Vec<ParameterDef>Parameter definitions
Implementations§
Source§impl ParameterSpace
impl ParameterSpace
Sourcepub fn add_continuous(self, name: &str, low: f64, high: f64) -> Self
pub fn add_continuous(self, name: &str, low: f64, high: f64) -> Self
Add a continuous parameter
Sourcepub fn add_integer(self, name: &str, low: i64, high: i64) -> Self
pub fn add_integer(self, name: &str, low: i64, high: i64) -> Self
Add an integer parameter
Sourcepub fn add_categorical(self, name: &str, choices: Vec<&str>) -> Self
pub fn add_categorical(self, name: &str, choices: Vec<&str>) -> Self
Add a categorical parameter
Sourcepub fn add_boolean(self, name: &str) -> Self
pub fn add_boolean(self, name: &str) -> Self
Add a boolean parameter
Sourcepub fn sample(&self, rng: &mut StdRng) -> Vec<ParameterValue>
pub fn sample(&self, rng: &mut StdRng) -> Vec<ParameterValue>
Sample parameter values
Sourcepub fn random_individual(&self, rng: &mut StdRng) -> Individual
pub fn random_individual(&self, rng: &mut StdRng) -> Individual
Generate a random individual
Sourcepub fn mutate(
&self,
individual: &mut Individual,
rng: &mut StdRng,
mutation_rate: f64,
)
pub fn mutate( &self, individual: &mut Individual, rng: &mut StdRng, mutation_rate: f64, )
Mutate an individual
Sourcepub fn crossover(
&self,
parent1: &Individual,
parent2: &Individual,
rng: &mut StdRng,
) -> (Individual, Individual)
pub fn crossover( &self, parent1: &Individual, parent2: &Individual, rng: &mut StdRng, ) -> (Individual, Individual)
Perform crossover between two individuals
Trait Implementations§
Source§impl Clone for ParameterSpace
impl Clone for ParameterSpace
Source§fn clone(&self) -> ParameterSpace
fn clone(&self) -> ParameterSpace
Returns a duplicate of the value. Read more
1.0.0 · 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 ParameterSpace
impl Debug for ParameterSpace
Auto Trait Implementations§
impl Freeze for ParameterSpace
impl RefUnwindSafe for ParameterSpace
impl Send for ParameterSpace
impl Sync for ParameterSpace
impl Unpin for ParameterSpace
impl UnsafeUnpin for ParameterSpace
impl UnwindSafe for ParameterSpace
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> 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