docs: private void evaluateConstraints(DoubleSolution solution)  {
      double[] constraint = new double[this.getNumberOfConstraints()];
  
      double x1 = solution.getVariableValue(0);
      double x2 = solution.getVariableValue(1);
          
      constraint[0] = -x2 - (4.0 * x1) + 4.0  ;
      constraint[1] = x1 + 1.0 ;
      constraint[2] = x2 - x1 + 2.0 ;
  
      double overallConstraintViolation = 0.0;
      int violatedConstraints = 0;
      for (int i = 0; i < getNumberOfConstraints(); i++) {
        if (constraint[i]<0.0){
          overallConstraintViolation+=constraint[i];
          violatedConstraints++;
        }
      }
  
      overallConstraintViolationDegree.setAttribute(solution, overallConstraintViolation);
      numberOfViolatedConstraints.setAttribute(solution, violatedConstraints);
    }