Class UFTournamentSelector<G extends Gene<?,G>,C extends Comparable<? super C>>
- All Implemented Interfaces:
Selector<G,C>
The selection of unique fitnesses lifts the selection bias towards over-represented fitnesses by reducing multiple solutions sharing the same fitness to a single point in the objective space. It is therefore no longer required to assign a crowding distance of zero to individual of equal fitness as the selection operator correctly enforces diversity preservation by picking unique points in the objective space.
Reference: Félix-Antoine Fortin and Marc Parizeau. 2013. Revisiting the NSGA-II crowding-distance computation. In Proceedings of the 15th annual conference on Genetic and evolutionary computation (GECCO '13), Christian Blum (Ed.). ACM, New York, NY, USA, 623-630. DOI= 10.1145/2463372.2463456
- Since:
- 4.1
- Version:
- 4.1
-
Constructor Summary
ConstructorsConstructorDescriptionUFTournamentSelector(Comparator<? super C> dominance, ElementComparator<? super C> comparator, ElementDistance<? super C> distance, ToIntFunction<? super C> dimension) Creates a newUFTournamentSelectorwith the functions needed for handling the multi-objective result typeC. -
Method Summary
-
Constructor Details
-
UFTournamentSelector
public UFTournamentSelector(Comparator<? super C> dominance, ElementComparator<? super C> comparator, ElementDistance<? super C> distance, ToIntFunction<? super C> dimension) Creates a newUFTournamentSelectorwith the functions needed for handling the multi-objective result typeC. For theVecclasses, a selector is created like in the following example:new UFTournamentSelector<>( Vec<T>::dominance, Vec<T>::compare, Vec<T>::distance, Vec<T>::length );- Parameters:
dominance- the pareto dominance comparatorcomparator- the vector element comparatordistance- the vector element distancedimension- the dimensionality of vector typeC- See Also:
-
-
Method Details
-
select
Description copied from interface:SelectorSelect phenotypes from the Population.- Specified by:
selectin interfaceSelector<G extends Gene<?,G>, C extends Comparable<? super C>> - Parameters:
population- The population to select from.count- The number of phenotypes to select.opt- Determines whether the individuals with higher fitness values or lower fitness values must be selected. This parameter determines whether the GA maximizes or minimizes the fitness function.- Returns:
- The selected phenotypes (a new Population).
-
ofVec
Return a new selector for the given result typeV. This method is a shortcut fornew UFTournamentSelector<>( Vec<T>::dominance, Vec<T>::compare, Vec<T>::distance, Vec<T>::length );- Type Parameters:
G- the gene typeT- the array type, e.g.double[]V- the multi object result type vector- Returns:
- a new selector for the given result type
V
-