Class HypervolumeFitnessEvaluator

java.lang.Object
org.moeaframework.core.fitness.IndicatorFitnessEvaluator
org.moeaframework.core.fitness.HypervolumeFitnessEvaluator
All Implemented Interfaces:
FitnessEvaluator

public class HypervolumeFitnessEvaluator extends IndicatorFitnessEvaluator
Indicator-based fitness using the hypervolume metric.
  • Field Details

    • rho

      public static final double rho
      Determines the reference point for the hypervolume metric. Larger fitness values are worse!
      See Also:
  • Constructor Details

    • HypervolumeFitnessEvaluator

      public HypervolumeFitnessEvaluator(Problem problem)
      Constructs a hypervolume fitness evaluator.
      Parameters:
      problem - the problem
  • Method Details

    • calculateIndicator

      protected double calculateIndicator(Solution solution1, Solution solution2)
      Description copied from class: IndicatorFitnessEvaluator
      Returns the indicator value relative to the two solutions.
      Specified by:
      calculateIndicator in class IndicatorFitnessEvaluator
      Parameters:
      solution1 - the first solution
      solution2 - the second solution
      Returns:
      the indicator value relative to the two solutions
    • calculateHypervolume

      public double calculateHypervolume(Solution solution1, Solution solution2, int d)
      Calculates the hypervolume of the portion of the objective space that is dominated by solution1 but not by solution2.
      Parameters:
      solution1 - the first solution
      solution2 - the second solution
      d - the current objective
      Returns:
      the hypervolume of the portion of the objective space that is dominated by solution1 but not by solution2.
    • areLargerValuesPreferred

      public boolean areLargerValuesPreferred()
      Description copied from interface: FitnessEvaluator
      Returns true if larger fitness values are preferred; otherwise smaller fitness values are preferred.
      Returns:
      true if larger fitness values are preferred; otherwise smaller fitness values are preferred