public class MultiEvaluator extends java.lang.Object implements Evaluator<java.lang.Object>
MultiEvaluator takes all registered Evaluators and uses
them to evaluate the phenotype. Use ProblemModule.addEvaluator(Class)
to add additional Evaluator s.
The order of the Evaluators 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)
EvaluatorObject and returns the results in the
Objectives.