code: private void scaleToPositive() {
      // Obtain min value
      double minScalarization = Double.MAX_VALUE;
      for (S solution : getSolutionList()) {
        if (scalarization.getAttribute(solution) < minScalarization) {
          minScalarization = scalarization.getAttribute(solution);
        }
      }
      if (minScalarization < 0) {
        // Avoid scalarization values of 0
        double eps = 10e-6;
        for (S solution : getSolutionList()) {
          scalarization.setAttribute(solution, eps + scalarization.getAttribute(solution) + minScalarization);
        }
      }
    }
docs: The niching mechanism of ESPEA only works if the scalarization values are
  positive. Otherwise scalarization values cannot be interpreted as charges
  of a physical system that signal desirability.
  
  <p>
  Scalarization values are scaled to positive values by subtracting the
  minimum scalariaztion value from all archive members and adding a small
  positive constant eps.