Class HypervolumeStatistics

java.lang.Object
ec.Statistics
ec.simple.SimpleStatistics
ec.multiobjective.HypervolumeStatistics
All Implemented Interfaces:
Setup, Singleton, SteadyStateStatisticsForm, Serializable

public class HypervolumeStatistics extends SimpleStatistics
Measures the hypervolume of a population's Pareto front. Our implementation follows the WFG algorithm, described in Lyndon While, Lucas Bradstreet, and Luigi Barone, "A Fast Way of Calculating Exact Hypervolumes," IEEE Transactions on Evolutionary Computation, 16 (1), February, 2012.
See Also:
  • Field Details

  • Constructor Details

    • HypervolumeStatistics

      public HypervolumeStatistics()
  • Method Details

    • getReferencePoint

      public double[] getReferencePoint()
    • setup

      public void setup(EvolutionState state, Parameter base)
      Description copied from interface: Setup
      Sets up the object by reading it from the parameters stored in state, built off of the parameter base base. If an ancestor implements this method, be sure to call super.setup(state,base); before you do anything else.
      Specified by:
      setup in interface Setup
      Overrides:
      setup in class SimpleStatistics
    • postEvaluationStatistics

      public void postEvaluationStatistics(EvolutionState state)
      Description copied from class: Statistics
      GENERATIONAL: Called immediately after evaluation occurs.
      Overrides:
      postEvaluationStatistics in class SimpleStatistics
    • hypervolume

      public double hypervolume(ArrayList<Individual> paretoFront)
      Compute the hypervolume of the Pareto front induced by a collection of points, relative to the reference point that was provided to this class's setup() method.
    • hypervolume

      public static double hypervolume(ArrayList<Individual> paretoFront, double[] referencePoint)
      Compute the hypervolume of the Pareto front induced by a collection of points, relative to the provided reference point.
    • inclusiveHypervolume

      public double inclusiveHypervolume(Individual ind)
      Compute the hypervolume covered by a single individual, relative to the reference point that was provided to this class's setup() method.
    • inclusiveHypervolume

      public static double inclusiveHypervolume(Individual ind, double[] referencePoint)
      Compute the hypervolume covered by a single individual, relative to the provided reference point.
    • finalStatistics

      public void finalStatistics(EvolutionState state, int result)
      Logs the best individual of the run.
      Specified by:
      finalStatistics in interface SteadyStateStatisticsForm
      Overrides:
      finalStatistics in class SimpleStatistics