Class RIndicator

java.lang.Object
org.moeaframework.core.indicator.NormalizedIndicator
org.moeaframework.core.indicator.RIndicator
All Implemented Interfaces:
Indicator
Direct Known Subclasses:
R1Indicator, R2Indicator, R3Indicator

public abstract class RIndicator extends NormalizedIndicator
Abstract class for implementing R indicator functions.

References:

  1. Hansen, M. P. and A. Jaszkiewicz (1998). Evaluating the Quality of Approximations to the Non-dominated Set. IMM Technical Report IMM-REP-1998-7.
  • Field Details

    • utilityFunction

      protected RIndicator.UtilityFunction utilityFunction
      The utility function used by the R2 calculation.
    • weights

      protected double[][] weights
      The weights, typically uniformly distributed.
  • Constructor Details

    • RIndicator

      public RIndicator(Problem problem, int subdivisions, NondominatedPopulation referenceSet, Normalizer normalizer, RIndicator.UtilityFunction utilityFunction)
      Constructs a new R indicator using the specified utility function.
      Parameters:
      problem - the problem
      subdivisions - the number of subdivisions along each objective
      referenceSet - the reference set
      normalizer - the user-provided normalizer, or null if the default is used
      utilityFunction - the utility function
  • Method Details

    • expectedUtility

      public double expectedUtility(NondominatedPopulation population)
      Computes the expected utility for the given population.
      Parameters:
      population - the population
      Returns:
      the expected utility
    • getDefaultSubdivisions

      public static int getDefaultSubdivisions(Problem problem)
      Returns the default number of subdivisions for a given problem. The defaults, for an M objective problem, are:
      • if M=2, then 500
      • if M=3, then 30
      • if M=4, then 12
      • if M=5, then 8
      • else 3
      Parameters:
      problem - the problem
      Returns:
      the default number of subdivisions for a given problem