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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.