public class MultiEvaluator extends java.lang.Object implements Evaluator<java.lang.Object>
MultiEvaluator
takes all registered Evaluator
s and uses
them to evaluate the phenotype. Use ProblemModule.addEvaluator(Class)
to add additional Evaluator
s.
The order of the Evaluator
s can be controlled using the
Priority
annotation for the Evaluator
classes.Modifier and Type | Field and Description |
---|---|
protected java.util.Set<Evaluator<java.lang.Object>> |
evaluators |
protected com.google.inject.Provider<Objectives> |
objectivesProvider |
Constructor and Description |
---|
MultiEvaluator(java.util.Set<Evaluator<java.lang.Object>> evaluators,
com.google.inject.Provider<Objectives> objectivesProvider)
Creates a new
MultiEvaluator . |
Modifier and Type | Method and Description |
---|---|
Objectives |
evaluate(java.lang.Object phenotype)
Evaluates a phenotype
Object and returns the results in the
Objectives . |
protected final java.util.Set<Evaluator<java.lang.Object>> evaluators
protected final com.google.inject.Provider<Objectives> objectivesProvider
@Inject public MultiEvaluator(java.util.Set<Evaluator<java.lang.Object>> evaluators, com.google.inject.Provider<Objectives> objectivesProvider)
MultiEvaluator
.evaluators
- the registered evaluatorsobjectivesProvider
- the objectives providerpublic Objectives evaluate(java.lang.Object phenotype)
Evaluator
Object
and returns the results in the
Objectives
.