Program: 64717
Project: 64717
Buggy source:
/** 
 * @param weights: a vector containing the weights for the aggregative approach
 * @author Juan J. DurilloThis methods creates a single-objective instance using a weighted aggregative approach and write all the information to file
 */
public void createSingleObjectiveInstance(int[] weights){
  if (weights.length != objectives_) {
    Logger.getLogger(ReadInstance.class.getName()).log(Level.SEVERE,"String_Node_Str");
  }
  try {
    String name="String_Node_Str";
    for (int k=0; k < objectives_; k++) {
      name+="String_Node_Str" + weights[k];
    }
    Configuration.logger_.info(name);
    Configuration.logger_.info(fileName_ + name);
    FileOutputStream fos=new FileOutputStream(fileName_ + name);
    OutputStreamWriter osw=new OutputStreamWriter(fos);
    BufferedWriter bw=new BufferedWriter(osw);
    bw.write(facilities_ + "String_Node_Str");
    bw.newLine();
    bw.newLine();
    String line;
    for (int i=0; i < facilities_; i++) {
      line="String_Node_Str";
      for (int j=0; j < facilities_; j++) {
        line+=a_matrix[i][j] + "String_Node_Str";
      }
      bw.write(line);
      bw.newLine();
    }
    bw.newLine();
    for (int i=0; i < facilities_; i++) {
      line="String_Node_Str";
      for (int j=0; j < facilities_; j++) {
        int aggregateValue=0;
        for (int k=0; k < objectives_; k++) {
          aggregateValue+=weights[k] * b_matrixs[k][i][j];
        }
        line+=aggregateValue + "String_Node_Str";
      }
      bw.write(line);
      bw.newLine();
    }
    bw.close();
  }
 catch (  FileNotFoundException ex) {
    Logger.getLogger(ReadInstance.class.getName()).log(Level.SEVERE,"String_Node_Str",ex);
  }
catch (  IOException ex1) {
    Logger.getLogger(ReadInstance.class.getName()).log(Level.SEVERE,"String_Node_Str",ex1);
  }
}

Fixed version (ground truth):
/** 
 * @param a vector containing the weights for the aggregative approach
 * @author Juan J. DurilloThis methods creates a single-objective instance using a weighted aggregative approach and write all the information to file
 */
public void createSingleObjectiveInstance(int[] weights){
  if (weights.length != objectives_) {
    Logger.getLogger(ReadInstance.class.getName()).log(Level.SEVERE,"String_Node_Str");
  }
  try {
    String name="String_Node_Str";
    for (int k=0; k < objectives_; k++) {
      name+="String_Node_Str" + weights[k];
    }
    Configuration.logger_.info(name);
    Configuration.logger_.info(fileName_ + name);
    FileOutputStream fos=new FileOutputStream(fileName_ + name);
    OutputStreamWriter osw=new OutputStreamWriter(fos);
    BufferedWriter bw=new BufferedWriter(osw);
    bw.write(facilities_ + "String_Node_Str");
    bw.newLine();
    bw.newLine();
    String line;
    for (int i=0; i < facilities_; i++) {
      line="String_Node_Str";
      for (int j=0; j < facilities_; j++) {
        line+=a_matrix[i][j] + "String_Node_Str";
      }
      bw.write(line);
      bw.newLine();
    }
    bw.newLine();
    for (int i=0; i < facilities_; i++) {
      line="String_Node_Str";
      for (int j=0; j < facilities_; j++) {
        int aggregateValue=0;
        for (int k=0; k < objectives_; k++) {
          aggregateValue+=weights[k] * b_matrixs[k][i][j];
        }
        line+=aggregateValue + "String_Node_Str";
      }
      bw.write(line);
      bw.newLine();
    }
    bw.close();
  }
 catch (  FileNotFoundException ex) {
    Logger.getLogger(ReadInstance.class.getName()).log(Level.SEVERE,"String_Node_Str",ex);
  }
catch (  IOException ex1) {
    Logger.getLogger(ReadInstance.class.getName()).log(Level.SEVERE,"String_Node_Str",ex1);
  }
}