Package org.moeaframework.core.fitness
Class HypervolumeFitnessEvaluator
java.lang.Object
org.moeaframework.core.fitness.IndicatorFitnessEvaluator
org.moeaframework.core.fitness.HypervolumeFitnessEvaluator
- All Implemented Interfaces:
FitnessEvaluator
Indicator-based fitness using the hypervolume metric.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final double
Determines the reference point for the hypervolume metric. -
Constructor Summary
ConstructorDescriptionHypervolumeFitnessEvaluator
(Problem problem) Constructs a hypervolume fitness evaluator. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Returnstrue
if larger fitness values are preferred; otherwise smaller fitness values are preferred.double
calculateHypervolume
(Solution solution1, Solution solution2, int d) Calculates the hypervolume of the portion of the objective space that is dominated bysolution1
but not bysolution2
.protected double
calculateIndicator
(Solution solution1, Solution solution2) Returns the indicator value relative to the two solutions.Methods inherited from class org.moeaframework.core.fitness.IndicatorFitnessEvaluator
evaluate, getProblem, removeAndUpdate
-
Field Details
-
rho
public static final double rhoDetermines the reference point for the hypervolume metric. Larger fitness values are worse!- See Also:
-
-
Constructor Details
-
HypervolumeFitnessEvaluator
Constructs a hypervolume fitness evaluator.- Parameters:
problem
- the problem
-
-
Method Details
-
calculateIndicator
Description copied from class:IndicatorFitnessEvaluator
Returns the indicator value relative to the two solutions.- Specified by:
calculateIndicator
in classIndicatorFitnessEvaluator
- Parameters:
solution1
- the first solutionsolution2
- the second solution- Returns:
- the indicator value relative to the two solutions
-
calculateHypervolume
Calculates the hypervolume of the portion of the objective space that is dominated bysolution1
but not bysolution2
.- Parameters:
solution1
- the first solutionsolution2
- the second solutiond
- the current objective- Returns:
- the hypervolume of the portion of the objective space that is dominated by
solution1
but not bysolution2
.
-
areLargerValuesPreferred
public boolean areLargerValuesPreferred()Description copied from interface:FitnessEvaluator
Returnstrue
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
-