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.
  • 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
    • 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
    • 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
    • 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