code: @Override
    public void evaluate(DoubleSolution solution) {
      int numberOfVariables = getNumberOfVariables() ;
  
      double[] f = new double[getNumberOfObjectives()];
      double[] x = new double[numberOfVariables] ;
  
      for (int i = 0; i < numberOfVariables; i++) {
        x[i] = solution.getVariableValue(i) ;
      }
          
      f[0] = (x[0]-2.0)*(x[0]-2.0)/2.0 + 
               (x[1]+1.0)*(x[1]+1.0)/13.0 + 3.0;
          
      f[1] = (x[0]+ x[1]-3.0)*(x[0]+x[1]-3.0)/175.0 +
               (2.0*x[1]-x[0])*(2.0*x[1]-x[0])/17.0 -13.0;
          
      f[2] = (3.0*x[0]-2.0*x[1]+4.0)*(3.0*x[0]-2.0*x[1]+4.0)/8.0 + 
               (x[0]-x[1]+1.0)*(x[0]-x[1]+1.0)/27.0 + 15.0;
          
          
      for (int i = 0; i < getNumberOfObjectives(); i++) {
        solution.setObjective(i,f[i]);        
      }
  
      this.evaluateConstraints(solution);
    }
docs: Evaluate() method