private void updateLog(
      double[] gama,
      double[] mi,
      double teta,
      double lambda,
      int k,
      double ub,
      double lb,
      ModelLagrange model) {

    String vec_gama = "";
    String vec_mi = "";

    printer.println("k:" + k);

    for (int i = 0; i < data.nLinks; i++) {
      vec_gama = vec_gama + " " + String.format("%5.2f", gama[i]);
    }
    printer.println(String.format("%-15s", "Gama:") + vec_gama);

    for (int i = 0; i < data.nLinks; i++) {
      vec_mi = vec_mi + " " + String.format("%5.2f", mi[i]);
    }
    printer.println(String.format("%-15s", "Mi:") + vec_mi);

    printer.println(String.format("%-15s", "Teta:") + String.format("%15.2f", teta));
    printer.println(String.format("%-15s", "Lambda:") + String.format("%15.2f", lambda));
    printer.println(String.format("%-15s", "Lower Bound:") + String.format("%15.2f", lb));
    printer.println(String.format("%-15s", "Upper Bound:") + String.format("%15.2f", ub));
    printer.println(
        String.format("%-15s", "GAP: ")
            + String.format("%15.2f", Math.abs(ub - lb) / ((1E-10) + lb)));
    printer.println(
        String.format("%-15s", "Time:") + String.format("%15.2f", model.getSolverTime()));
    printer.println("");
  }