Class Normalizer

java.lang.Object
org.moeaframework.core.indicator.Normalizer

public class Normalizer extends Object
Normalizes populations so that all objectives reside in the range [0, 1]. This normalization ignores infeasible solutions, so the resulting normalized population contains no infeasible solutions. A reference set should be used to ensure the normalization is uniformly applied.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Normalizer(Problem problem, double[] minimum, double[] maximum)
    Constructs a normalizer for normalizing population so that all objectives reside in the range [0, 1].
    Normalizer(Problem problem, Population population)
    Constructs a normalizer for normalizing populations so that all objectives reside in the range [0, 1].
    Normalizer(Problem problem, Population population, double delta)
    Constructs a normalizer for normalizing populations so that all objectives reside in the range [0, 1].
    Normalizer(Problem problem, Population population, double[] referencePoint)
    Constructs a normalizer for normalizing populations so that all objectives reside in the range [0, 1].
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns a new non-dominated population containing the normalized solutions from the specified population.
    normalize(Population population)
    Returns a new population containing the normalized solutions from the specified population.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Normalizer

      public Normalizer(Problem problem, Population population)
      Constructs a normalizer for normalizing populations so that all objectives reside in the range [0, 1]. This constructor derives the minimum and maximum bounds from the given population.
      Parameters:
      problem - the problem
      population - the population defining the minimum and maximum bounds
      Throws:
      IllegalArgumentException - if the population set contains fewer than two solutions, or if there exists an objective with an empty range
    • Normalizer

      public Normalizer(Problem problem, Population population, double delta)
      Constructs a normalizer for normalizing populations so that all objectives reside in the range [0, 1]. This constructor derives the minimum and maximum bounds from the given population and a given delta.
      Parameters:
      problem - the problem
      population - the population defining the minimum and maximum bounds
      delta - a delta added to the maximum value (used when computing the reference point for hypervolume calculations)
      Throws:
      IllegalArgumentException - if the population set contains fewer than two solutions, or if there exists an objective with an empty range
    • Normalizer

      public Normalizer(Problem problem, Population population, double[] referencePoint)
      Constructs a normalizer for normalizing populations so that all objectives reside in the range [0, 1]. This constructor derives the minimum and maximum bounds from the given population and a given delta.
      Parameters:
      problem - the problem
      population - the population defining the minimum and maximum bounds
      referencePoint - the reference point if defined (used for hypervolume calculations)
      Throws:
      IllegalArgumentException - if the population set contains fewer than two solutions, or if there exists an objective with an empty range
    • Normalizer

      public Normalizer(Problem problem, double[] minimum, double[] maximum)
      Constructs a normalizer for normalizing population so that all objectives reside in the range [0, 1]. This constructor allows defining the minimum and maximum bounds explicitly.
      Parameters:
      problem - the problem
      minimum - the minimum bounds of each objective
      maximum - the maximum bounds of each objective
  • Method Details

    • normalize

      public NondominatedPopulation normalize(NondominatedPopulation population)
      Returns a new non-dominated population containing the normalized solutions from the specified population.
      Parameters:
      population - the population
      Returns:
      a new non-dominated population containing the normalized solutions from the specified population
    • normalize

      public Population normalize(Population population)
      Returns a new population containing the normalized solutions from the specified population.
      Parameters:
      population - the population
      Returns:
      a new population containing the normalized solutions from the specified population