[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