[PPL-devel] [GIT] ppl/ppl(sparse_matrices): MIP_Problem: fix bug in steepest_edge_float_entering_index().

Marco Poletti poletti.marco at gmail.com
Thu Apr 15 07:38:30 CEST 2010


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

Author: Marco Poletti <poletti.marco at gmail.com>
Date:   Wed Apr 14 21:20:49 2010 +0200

MIP_Problem: fix bug in steepest_edge_float_entering_index().

---

 src/MIP_Problem.cc |   31 ++++++++++++++++---------------
 1 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/src/MIP_Problem.cc b/src/MIP_Problem.cc
index cb8d7c0..a7892fb 100644
--- a/src/MIP_Problem.cc
+++ b/src/MIP_Problem.cc
@@ -991,23 +991,24 @@ PPL::MIP_Problem::steepest_edge_float_entering_index() const {
       = tableau_i.unordered_end();
     if (j != j_end && (*j).first == 0)
       ++j;
-    for ( ; j != j_end && (*j).first < tableau_num_columns_minus_1; ++j) {
-      const dimension_type j_index = (*j).first;
-      const Coefficient& cost_j = working_cost[j_index];
-      const Coefficient& tableau_ij = (*j).second;
-      if (sgn(cost_j) == cost_sign) {
-        WEIGHT_BEGIN();
-        if (tableau_ij != 0) {
-          PPL_ASSERT(tableau_i_base_i != 0);
-          assign(float_tableau_value, tableau_ij);
-          assign(float_tableau_denum, tableau_i_base_i);
-          float_tableau_value /= float_tableau_denum;
-          float_tableau_value *= float_tableau_value;
-          challenger_dens[j_index] += float_tableau_value;
+    for ( ; j != j_end; ++j)
+      if ((*j).first < tableau_num_columns_minus_1) {
+        const dimension_type j_index = (*j).first;
+        const Coefficient& cost_j = working_cost[j_index];
+        const Coefficient& tableau_ij = (*j).second;
+        if (sgn(cost_j) == cost_sign) {
+          WEIGHT_BEGIN();
+          if (tableau_ij != 0) {
+            PPL_ASSERT(tableau_i_base_i != 0);
+            assign(float_tableau_value, tableau_ij);
+            assign(float_tableau_denum, tableau_i_base_i);
+            float_tableau_value /= float_tableau_denum;
+            float_tableau_value *= float_tableau_value;
+            challenger_dens[j_index] += float_tableau_value;
+          }
+          WEIGHT_ADD_MUL(338, tableau_num_rows);
         }
-        WEIGHT_ADD_MUL(338, tableau_num_rows);
       }
-    }
   }
   for (dimension_type j = tableau.num_columns() - 1; j-- > 1; ) {
     const Coefficient& cost_j = working_cost[j];




More information about the PPL-devel mailing list