genx/selection/
mod.rs

1//! The `selection` module provides implementation of the
2//! functions to select a set of individuals out of the total
3//! population to do crossover for generating new individuals.
4//!
5//! The provided functions are organized in sub-modules
6//! named after the utilized selection method:
7//! * `random`
8//! * `rank`
9//! * `roulette_wheel`
10//! * `steady_state`
11//! * `stochastic_universal`
12//! * `tournament`
13//!
14//! All the functions take in atleast two arguments a Vector of floating
15//! point values that contains fitness values of individuals, and
16//! number of individuals to select. Finally functions return indices of
17//! selected individuals.
18//!
19//! You can read more about selection schemas and their working from the [wikipedia page](https://en.wikipedia.org/wiki/Selection_(genetic_algorithm))
20
21pub mod random;
22
23pub mod rank;
24
25pub mod roulette_wheel;
26
27pub mod steady_state;
28
29pub mod stochastic_universal;
30
31pub mod tournament;
32
33// Re-exports
34pub use self::random::random_selection;
35pub use self::rank::rank_selection;
36pub use self::roulette_wheel::roulette_wheel_selection;
37pub use self::steady_state::steady_state_selection;
38pub use self::stochastic_universal::stochastic_universal_selection;
39pub use self::tournament::tournament_selection;