public double Evaluate(IChromosome chromosome)
{
double[] xy;
// do native translation first
xy = Translate(chromosome);
// get function value
double functionValue = OptimizationFunction(xy[0], xy[1]);
// return fitness value
return (mode == Modes.Maximization) ? functionValue : 1 / functionValue;
}