Package org.moeaframework.core.indicator
Class PISAHypervolume
java.lang.Object
org.moeaframework.core.indicator.NormalizedIndicator
org.moeaframework.core.indicator.PISAHypervolume
- All Implemented Interfaces:
Indicator
Hypervolume indicator as implemented by the PISA library. This version is computationally expensive and is being
replaced by
WFGNormalizedHypervolume
.-
Field Summary
Fields inherited from class org.moeaframework.core.indicator.NormalizedIndicator
problem
-
Constructor Summary
ConstructorDescriptionPISAHypervolume
(Problem problem, Normalizer normalizer) Constructs a hypervolume evaluator for the specified problem using the given minimum and maximum bounds.PISAHypervolume
(Problem problem, NondominatedPopulation referenceSet) Constructs a hypervolume evaluator for the specified problem and reference set. -
Method Summary
Modifier and TypeMethodDescriptionstatic double
calculateHypervolume
(List<Solution> population, int numberOfSolutions, int numberOfObjectives) The internal, un-normalized hypervolume calculation.double
evaluate
(NondominatedPopulation approximationSet) Returns the value of this unary quality indicator given the specified non-dominated population.protected static void
Inverts the objective values since this hypervolume algorithm operates on maximization problems.Methods inherited from class org.moeaframework.core.indicator.NormalizedIndicator
getNormalizedReferenceSet, normalize
-
Constructor Details
-
PISAHypervolume
Constructs a hypervolume evaluator for the specified problem and reference set. SeeDefaultNormalizer
for details on configuring normalization.- Parameters:
problem
- the problemreferenceSet
- the reference set
-
PISAHypervolume
Constructs a hypervolume evaluator for the specified problem using the given minimum and maximum bounds.- Parameters:
problem
- the problemnormalizer
- a user-provided normalizer
-
-
Method Details
-
invert
Inverts the objective values since this hypervolume algorithm operates on maximization problems.- Parameters:
problem
- the problemsolution
- the solution to be inverted
-
calculateHypervolume
public static double calculateHypervolume(List<Solution> population, int numberOfSolutions, int numberOfObjectives) The internal, un-normalized hypervolume calculation. While this method is public, we do not encourage its use since incorrect arguments can cause unexpected behavior. Instead, use thePISAHypervolume(Problem, NondominatedPopulation)
constructor to create a normalizing version of the hypervolume calculation.- Parameters:
population
- the populationnumberOfSolutions
- the number of solutionsnumberOfObjectives
- the number of objectives- Returns:
- the hypervolume metric
-
evaluate
Description copied from interface:Indicator
Returns the value of this unary quality indicator given the specified non-dominated population.- Parameters:
approximationSet
- the non-dominated population to be evaluated- Returns:
- the value of this quality indicator given the specified non-dominated population
-