Package org.moeaframework.core.indicator
Class DefaultNormalizer
java.lang.Object
org.moeaframework.core.indicator.DefaultNormalizer
Class for constructing normalizers, allowing users to override defaults for specific problems. The search order is:
- A normalizer configured by the user by calling
override(org.moeaframework.core.Problem, double[], double[])
- A normalizer configured by the user in the properties file "moeaframework.properties"
- The default normalizer computed from the provided reference set
org.moeaframework.problem.NAME.normalization.minimum = 0,0,0 org.moeaframework.problem.NAME.normalization.maximum = 1,1,1Normalization can also be disabled on specific problems by setting:
org.moeaframework.problem.NAME.normalization.disabled = trueIn previous versions, hypervolume supported configuring an ideal and and reference point, which are analogous to the new minimum and maximum settings. These older settings are still supported. Additionally, hypervolume can also be configured using either a problem-specific or a global delta:
org.moeaframework.problem.NAME.normalization.delta = 0.2 org.moeaframework.core.indicator.hypervolume.delta = 0.2
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Removes any overrides.void
disableNormalization
(String problemName) Disables normalization for the given problem.void
disableNormalization
(Problem problem) Disables normalization for the given problem.getHypervolumeNormalizer
(Problem problem, NondominatedPopulation referenceSet) Returns the normalizer used for hypervolume calculations for the given problem and reference set.static DefaultNormalizer
Returns the default normalizer used when computing performance indicators.getNormalizer
(Problem problem, NondominatedPopulation referenceSet) Returns the normalizer configured for the given problem and reference set.void
Provides specific minimum and maximum bounds used for normalizing the given problem.void
Provides specific minimum and maximum bounds used for normalizing the given problem.static void
setInstance
(DefaultNormalizer instance) Sets the default normalizer used when computing performance indicators.
-
Method Details
-
getInstance
Returns the default normalizer used when computing performance indicators.- Returns:
- the default normalizer
-
setInstance
Sets the default normalizer used when computing performance indicators.- Parameters:
instance
- the default normalizer
-
clearOverrides
public void clearOverrides()Removes any overrides. -
getNormalizer
Returns the normalizer configured for the given problem and reference set.- Parameters:
problem
- the problemreferenceSet
- the reference set- Returns:
- the normalizer
-
getHypervolumeNormalizer
Returns the normalizer used for hypervolume calculations for the given problem and reference set.- Parameters:
problem
- the problemreferenceSet
- the reference set- Returns:
- the hypervolume normalizer
-
override
Provides specific minimum and maximum bounds used for normalizing the given problem.- Parameters:
problem
- the problemminimum
- the minimum bounds, the last value will be repeated if the problem has more objectivesmaximum
- the maximum bounds, the last value will be repeated if the problem has more objectives
-
override
Provides specific minimum and maximum bounds used for normalizing the given problem.- Parameters:
problemName
- the problem nameminimum
- the minimum bounds, the last value will be repeated if the problem has more objectivesmaximum
- the maximum bounds, the last value will be repeated if the problem has more objectives
-
disableNormalization
Disables normalization for the given problem. The given name must match the value ofProblem.getName()
.- Parameters:
problem
- the problem
-
disableNormalization
Disables normalization for the given problem. The given name must match the value ofProblem.getName()
.- Parameters:
problemName
- the problem name
-