docs: @Override
    public void evaluate(DoubleSolution solution) {
      double[] fx = new double[getNumberOfObjectives()];
      double[] x = new double[getNumberOfVariables()];
      for (int i = 0; i < getNumberOfVariables(); i++) {
        x[i] = solution.getVariableValue(i) ;
      }
  
      fx[0] = 4.0 * x[0] * x[0] + 4 * x[1] * x[1];
      fx[1] = (x[0] - 5.0) * (x[0] - 5.0) + (x[1] - 5.0) * (x[1] - 5.0);
  
      solution.setObjective(0, fx[0]);
      solution.setObjective(1, fx[1]);
  
      this.evaluateConstraints(solution);
    }