Package org.moeaframework.core.indicator
Class Normalizer
java.lang.Object
org.moeaframework.core.indicator.Normalizer
Normalizes populations so that all objectives reside in the range
[0, 1]
. This normalization ignores
infeasible solutions, so the resulting normalized population contains no infeasible solutions. A reference set
should be used to ensure the normalization is uniformly applied.-
Constructor Summary
ConstructorDescriptionNormalizer
(Problem problem, double[] minimum, double[] maximum) Constructs a normalizer for normalizing population so that all objectives reside in the range[0, 1]
.Normalizer
(Problem problem, Population population) Constructs a normalizer for normalizing populations so that all objectives reside in the range[0, 1]
.Normalizer
(Problem problem, Population population, double delta) Constructs a normalizer for normalizing populations so that all objectives reside in the range[0, 1]
.Normalizer
(Problem problem, Population population, double[] referencePoint) Constructs a normalizer for normalizing populations so that all objectives reside in the range[0, 1]
. -
Method Summary
Modifier and TypeMethodDescriptionnormalize
(NondominatedPopulation population) Returns a new non-dominated population containing the normalized solutions from the specified population.normalize
(Population population) Returns a new population containing the normalized solutions from the specified population.
-
Constructor Details
-
Normalizer
Constructs a normalizer for normalizing populations so that all objectives reside in the range[0, 1]
. This constructor derives the minimum and maximum bounds from the given population.- Parameters:
problem
- the problempopulation
- the population defining the minimum and maximum bounds- Throws:
IllegalArgumentException
- if the population set contains fewer than two solutions, or if there exists an objective with an empty range
-
Normalizer
Constructs a normalizer for normalizing populations so that all objectives reside in the range[0, 1]
. This constructor derives the minimum and maximum bounds from the given population and a given delta. This delta offsets the maximum bounds, typically for hypervolume calculations, to ensure there is a non-zero distance between the extremal points and the reference point.- Parameters:
problem
- the problempopulation
- the population defining the minimum and maximum boundsdelta
- a delta added to the maximum value- Throws:
IllegalArgumentException
- if the population set contains fewer than two solutions, or if there exists an objective with an empty range
-
Normalizer
Constructs a normalizer for normalizing populations so that all objectives reside in the range[0, 1]
. This constructor derives the minimum and maximum bounds from the given population and a given reference point. This is typically used by hypervolume calculations, which measures the volume of spacing between each solution and the reference point.- Parameters:
problem
- the problempopulation
- the population defining the minimum and maximum boundsreferencePoint
- the reference point; ifnull
, the bounds are based on the population- Throws:
IllegalArgumentException
- if the population set contains fewer than two solutions, or if there exists an objective with an empty range
-
Normalizer
Constructs a normalizer for normalizing population so that all objectives reside in the range[0, 1]
. This constructor allows defining the minimum and maximum bounds explicitly.- Parameters:
problem
- the problemminimum
- the minimum bounds of each objectivemaximum
- the maximum bounds of each objective
-
-
Method Details
-
normalize
Returns a new non-dominated population containing the normalized solutions from the specified population.- Parameters:
population
- the population- Returns:
- a new non-dominated population containing the normalized solutions from the specified population
-
normalize
Returns a new population containing the normalized solutions from the specified population.- Parameters:
population
- the population- Returns:
- a new population containing the normalized solutions from the specified population
-