[PPL-devel] [GIT] ppl/ppl(master): Added some weights. Added some debugging prints.

Roberto Bagnara bagnara at cs.unipr.it
Tue Jul 14 17:38:45 CEST 2009


Module: ppl/ppl
Branch: master
Commit: a17f3bf228fb1388c7f9ab46a44928376f182da9
URL:    http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=a17f3bf228fb1388c7f9ab46a44928376f182da9

Author: Roberto Bagnara <bagnara at cs.unipr.it>
Date:   Tue Jul 14 17:36:47 2009 +0200

Added some weights.  Added some debugging prints.

---

 src/Box.templates.hh |    2 +-
 src/MIP_Problem.cc   |   20 +++++++++++++++-----
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/src/Box.templates.hh b/src/Box.templates.hh
index a43a74f..e6a550d 100644
--- a/src/Box.templates.hh
+++ b/src/Box.templates.hh
@@ -2619,7 +2619,7 @@ Box<ITV>
     for (Constraint_System::const_iterator i = cs_begin; i != cs_end; ++i)
       propagate_constraint_no_check(*i);
 
-    WEIGHT_ADD_MUL(1, propagation_weight);
+    WEIGHT_ADD_MUL(40, propagation_weight);
     // Check if the client has requested abandoning all expensive
     // computations.  If so, the exception specified by the client
     // is thrown now.
diff --git a/src/MIP_Problem.cc b/src/MIP_Problem.cc
index 284ccb0..22603f7 100644
--- a/src/MIP_Problem.cc
+++ b/src/MIP_Problem.cc
@@ -940,7 +940,7 @@ PPL::MIP_Problem::steepest_edge_exact_entering_index() const {
     // `lcm_basis' will no longer be needed.
     lcm_basis *= lcm_basis;
     std::swap(squared_lcm_basis, lcm_basis);
-    WEIGHT_ADD_MUL(2, tableau_num_rows);
+    WEIGHT_ADD_MUL(444, tableau_num_rows);
   }
 
   // Defined here to avoid repeated (de-)allocations.
@@ -988,7 +988,7 @@ PPL::MIP_Problem::steepest_edge_exact_entering_index() const {
 	std::swap(current_den, challenger_den);
 	entering_index = j;
       }
-      WEIGHT_ADD_MUL(1, tableau_num_rows);
+      WEIGHT_ADD_MUL(47, tableau_num_rows);
     }
   }
   return entering_index;
@@ -1041,7 +1041,7 @@ PPL::MIP_Problem::linear_combine(Row& x,
     }
   x[k] = 0;
   x.normalize();
-  WEIGHT_ADD_MUL(1, x_size);
+  WEIGHT_ADD_MUL(83, x_size);
 }
 
 // See pages 42-43 of [PapadimitriouS98].
@@ -1112,7 +1112,7 @@ PPL::MIP_Problem
       if (sign > 0
 	  || (sign == 0 && base[i] < base[exiting_base_index]))
 	exiting_base_index = i;
-      WEIGHT_ADD(1);
+      WEIGHT_ADD(1044);
     }
   }
   return exiting_base_index;
@@ -1608,7 +1608,7 @@ PPL::MIP_Problem::solve_mip(bool& have_incumbent_solution,
       PPL_DIRTY_TEMP_COEFFICIENT(num);
       PPL_DIRTY_TEMP_COEFFICIENT(den);
       lp.evaluate_objective_function(p, num, den);
-      std::cerr << "new value found: " << num << "/" << den << std::endl;
+      std::cout << "new value found: " << num << "/" << den << std::endl;
 #endif
     }
     return lp_status;
@@ -1625,11 +1625,21 @@ PPL::MIP_Problem::solve_mip(bool& have_incumbent_solution,
   {
     MIP_Problem lp_aux = lp;
     lp_aux.add_constraint(Variable(nonint_dim) <= tmp_coeff1);
+#if PPL_NOISY_SIMPLEX
+    using namespace IO_Operators;
+    std::cout << "descending with: "
+              << (Variable(nonint_dim) <= tmp_coeff1) << std::endl;
+#endif
     solve_mip(have_incumbent_solution, incumbent_solution_value,
 	      incumbent_solution_point, lp_aux, i_vars);
   }
   // TODO: change this when we will be able to remove constraints.
   lp.add_constraint(Variable(nonint_dim) >= tmp_coeff2);
+#if PPL_NOISY_SIMPLEX
+  using namespace IO_Operators;
+  std::cout << "descending with: "
+            << (Variable(nonint_dim) >= tmp_coeff2) << std::endl;
+#endif
   solve_mip(have_incumbent_solution, incumbent_solution_value,
 	    incumbent_solution_point, lp, i_vars);
   return have_incumbent_solution ? lp_status : UNFEASIBLE_MIP_PROBLEM;




More information about the PPL-devel mailing list