Class Indicators

java.lang.Object
org.moeaframework.core.indicator.Indicators
All Implemented Interfaces:
Function<NondominatedPopulation,Indicators.IndicatorValues>

public class Indicators extends Object implements Function<NondominatedPopulation,Indicators.IndicatorValues>
Helper for evaluating multiple performance indicators, primarily for avoiding repetitive calculations that would occur if creating each indicator separately. Normalized indicators are, by default, normalized using the provided reference set. See DefaultNormalizer for ways to customize normalization.
  • Constructor Details

    • Indicators

      public Indicators(Problem problem, NondominatedPopulation referenceSet)
      Constructs a new Indicators object for the given problem.
      Parameters:
      problem - the problem
      referenceSet - the reference set
  • Method Details

    • all

      public static Indicators all(Problem problem, NondominatedPopulation referenceSet)
      Creates an instance of this class that evaluates all performance indicators.
      Parameters:
      problem - the problem
      referenceSet - the reference set
      Returns:
      the constructed instance
    • standard

      public static Indicators standard(Problem problem, NondominatedPopulation referenceSet)
      Creates an instance of this class that evaluates all standard performance indicators. This excludes the R-indicators.
      Parameters:
      problem - the problem
      referenceSet - the reference set
      Returns:
      the constructed instance
    • of

      public static Indicators of(Problem problem, NondominatedPopulation referenceSet)
      Creates a new instance of this class with no configured indicators.
      Parameters:
      problem - the problem
      referenceSet - the reference set
      Returns:
      the constructed instance
    • apply

      public Indicators.IndicatorValues apply(NondominatedPopulation approximationSet)
      Specified by:
      apply in interface Function<NondominatedPopulation,Indicators.IndicatorValues>
    • applyAll

      public List<Indicators.IndicatorValues> applyAll(List<NondominatedPopulation> approximationSets)
      Calculates the indicators for a list of approximation sets.
      Parameters:
      approximationSets - the approximation sets
      Returns:
      the indicator values
    • withEpsilons

      public Indicators withEpsilons(Epsilons epsilons)
      Sets the ε values used by the indicators.
      Parameters:
      epsilons - the ε values
      Returns:
      a reference to this object so calls can be chained together
    • withSubdivisions

      public Indicators withSubdivisions(int subdivisions)
      Sets the number of subdivisions used by the R-indicators.
      Parameters:
      subdivisions - the number of subdivisions
      Returns:
      a reference to this object so calls can be chained together
    • getSelectedIndicators

      public EnumSet<StandardIndicator> getSelectedIndicators()
      Returns the performance indicators that will be evaluated.
      Returns:
      the selected performance indicators
    • include

      public Indicators include(StandardIndicator indicator)
      Enables the evaluation of the given performance indicator.
      Parameters:
      indicator - the indicator to enable
      Returns:
      a reference to this object so calls can be chained together
    • include

      public Indicators include(EnumSet<StandardIndicator> indicators)
      Enables the evaluation of the selected indicators.
      Parameters:
      indicators - the indicators to enable
      Returns:
      a reference to this object so calls can be chained together
    • includeHypervolume

      public Indicators includeHypervolume()
      Enables the evaluation of the hypervolume metric.
      Returns:
      a reference to this object so calls can be chained together
    • withHypervolume

      public Indicators withHypervolume(double[] referencePoint)
      Configures the hypervolume metric using the given reference point. The hypervolume is then measured between the Pareto front and this reference point.
      Parameters:
      referencePoint - the reference point
      Returns:
      a reference to this object so calls can be chained together
    • withHypervolume

      public Indicators withHypervolume(double[] minimum, double[] maximum)
      Configures the hypervolume metric using the given minimum and maximum bounds of the Pareto set.
      Parameters:
      minimum - the minimum bounds
      maximum - the maximum bounds
      Returns:
      a reference to this object so calls can be chained together
    • includeGenerationalDistance

      public Indicators includeGenerationalDistance()
      Enables the evaluation of the generational distance metric.
      Returns:
      a reference to this object so calls can be chained together
    • includeGenerationalDistancePlus

      public Indicators includeGenerationalDistancePlus()
      Enables the evaluation of the generational distance plus metric.
      Returns:
      a reference to this object so calls can be chained together
    • includeInvertedGenerationalDistance

      public Indicators includeInvertedGenerationalDistance()
      Enables the evaluation of the inverted generational distance metric.
      Returns:
      a reference to this object so calls can be chained together
    • includeInvertedGenerationalDistancePlus

      public Indicators includeInvertedGenerationalDistancePlus()
      Enables the evaluation of the inverted generational distance plus metric.
      Returns:
      a reference to this object so calls can be chained together
    • includeAdditiveEpsilonIndicator

      public Indicators includeAdditiveEpsilonIndicator()
      Enables the evaluation of the additive ε-indicator metric.
      Returns:
      a reference to this object so calls can be chained together
    • includeMaximumParetoFrontError

      public Indicators includeMaximumParetoFrontError()
      Enables the evaluation of the maximum Pareto front error metric.
      Returns:
      a reference to this object so calls can be chained together
    • includeSpacing

      public Indicators includeSpacing()
      Enables the evaluation of the spacing metric.
      Returns:
      a reference to this object so calls can be chained together
    • includeContribution

      public Indicators includeContribution()
      Enables the evaluation of the contribution metric.
      Returns:
      a reference to this object so calls can be chained together
    • includeR1

      public Indicators includeR1()
      Enables the evaluation of the R1 indicator.
      Returns:
      a reference to this object so calls can be chained together
    • includeR2

      public Indicators includeR2()
      Enables the evaluation of the R2 indicator.
      Returns:
      a reference to this object so calls can be chained together
    • includeR3

      public Indicators includeR3()
      Enables the evaluation of the R3 indicator.
      Returns:
      a reference to this object so calls can be chained together
    • includeStandardMetrics

      public Indicators includeStandardMetrics()
      Enables the evaluation of all standard metrics. This excludes the R-indicators.
      Returns:
      a reference to this object so calls can be chained together
    • includeAllMetrics

      public Indicators includeAllMetrics()
      Enables the evaluation of all metrics.
      Returns:
      a reference to this object so calls can be chained together