Package org.opt4j.core.common.archive
Class Crowding
java.lang.Object
org.opt4j.core.common.archive.Crowding
- All Implemented Interfaces:
- FrontDensityIndicator
The 
Crowding, see "A fast and elitist multiobjective genetic
 algorithm : NSGA-II, K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan
 Evolutionary Computation, IEEETransactions on, vol. 6, no. 2, pp. 182-197,
 August 2002.", calculates the crowding distance of Individuals as
 used for instance in the the Nsga2 algorithm. A bounding box around
 each individual is defined and restricted by the neighboring individuals in
 each dimension. The crowding distance is the sum of the side-lengths of the
 bounding box. If an individual does not have neighbors on all sides, the
 crowding distance is maximal. A normalization in each dimension is applied.- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptiongetDensityValues(Collection<Individual> individuals) Returns the density values for a collection onIndividuals.order(Map<Individual, Double> values) Returns an ordered list of theIndividuals corresponding to their crowding distance.
- 
Constructor Details- 
Crowdingpublic Crowding()
 
- 
- 
Method Details- 
orderReturns an ordered list of theIndividuals corresponding to their crowding distance.Individuals with a high crowding distance are sorted to the front.- Parameters:
- values- the map of individuals to their crowding distance values
- Returns:
- the sorted list of individuals based on their crowding distance
 
- 
getDensityValuesDescription copied from interface:FrontDensityIndicatorReturns the density values for a collection onIndividuals.- Specified by:
- getDensityValuesin interface- FrontDensityIndicator
- Parameters:
- individuals- the individuals
- Returns:
- a map of each individual to its density value
 
 
-