evaluate method
Takes the phenotype and returns its fitness score. The lower the
fitness score, the better the phenotype. Fitness score of 0.0
means
that the phenotype is perfect.
Implementation
@override
Future<R> evaluate(P phenotype) {
printf('Evaluating $phenotype');
cumulativeResult = _initialResult;
userData = null;
_completer = Completer<R>();
_next(phenotype, 0);
return _completer.future;
}