pub struct GaSolver {
pub population_size: usize,
pub crossover_rate: f64,
pub mutation_rate: f64,
pub tournament_size: usize,
pub elitism: usize,
/* private fields */
}Expand description
Genetic Algorithm solver for TSP
Fields§
§population_size: usizePopulation size
crossover_rate: f64Crossover probability
mutation_rate: f64Mutation probability
tournament_size: usizeTournament selection size
elitism: usizeElitism: number of best individuals to preserve
Implementations§
Source§impl GaSolver
impl GaSolver
Sourcepub fn with_population_size(self, size: usize) -> Self
pub fn with_population_size(self, size: usize) -> Self
Set population size
Sourcepub fn with_crossover_rate(self, rate: f64) -> Self
pub fn with_crossover_rate(self, rate: f64) -> Self
Set crossover rate
Sourcepub fn with_mutation_rate(self, rate: f64) -> Self
pub fn with_mutation_rate(self, rate: f64) -> Self
Set mutation rate
Sourcepub fn with_tournament_size(self, size: usize) -> Self
pub fn with_tournament_size(self, size: usize) -> Self
Set tournament size
Sourcepub fn with_elitism(self, count: usize) -> Self
pub fn with_elitism(self, count: usize) -> Self
Set elitism count
Trait Implementations§
Auto Trait Implementations§
impl Freeze for GaSolver
impl RefUnwindSafe for GaSolver
impl Send for GaSolver
impl Sync for GaSolver
impl Unpin for GaSolver
impl UnwindSafe for GaSolver
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