pub struct TournamentSelector { /* private fields */ }
Expand description

The TournamentSelector implements the tournament selection method. It runs tournaments with a small size of participants and pick the best performing individuals from each tournament.

The number of participants in each tournament is configurable by the tournament_size field. A tournament size of 1 is called 1-way tournament and is equivalent to random selection.

The final selection is picked from the best performing participants in each tournament but with a probability. The probability gives also chances to the second best, third best and so on. The probability is configurable by the probability field. A probability of 1.0 means the tournament is deterministic. The best and only the best individual of each tournament is selected.

To avoid that candidates chosen once are selected again they are removed from the list of candidates. Though this can be configured as well. The field remove_selected_individuals controls whether selected candidates are removed or not.

This TournamentSelector can be used for single-objective fitness values as well as multi-objective fitness values.

Implementations

Constructs a new instance of the TournamentSelector.

Returns the selection ratio.

The selection ratio is the fraction of number of parents that are selected on every call of the select_from function and the number of individuals in the population.

Sets the selection ratio to a new value.

The selection ratio is the fraction of number of parents that are selected on every call of the select_from function and the number of individuals in the population.

Returns the number of individuals per parents use by this selector.

Sets the number of individuals per parents to the given value.

Returns the size of one tournament.

Sets the size of one tournament to a given value. The value must be a positive integer greater 0.

A tournament size of 1 is called 1-way tournament and is equivalent to random selection.

Returns the probability to pick candidates from one tournament.

Set the probability to pick candidates from one tournament to the given value. The value must be between 0 and 1.0 (inclusive).

A probability of 1.0 means the tournament is deterministic. The best and only the best individual of each tournament is selected.

Returns whether individuals are removed from the list of candidates after they have been picked once.

Sets whether individuals shall be removed from the list of candidates after they have been picked once.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

The name of the operator used for display purposes. The name should make clear to the user of the simulation which implementation of which kind of operator is being performed. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Selects individuals from the given population according to the implemented selection strategy. Read more

Can be used for multi-objective optimization

Can be used for single-objective optimization

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.