[PPL-devel] [GIT] ppl/ppl(sparse_matrices): MIP_Problem: fix performance regression in steepest_edge_float_entering_index(), introduced in commit 6DA127.

Marco Poletti poletti.marco at gmail.com
Mon Apr 26 21:33:03 CEST 2010


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

Author: Marco Poletti <poletti.marco at gmail.com>
Date:   Mon Apr 26 13:39:51 2010 +0200

MIP_Problem: fix performance regression in steepest_edge_float_entering_index(), introduced in commit 6DA127.

---

 src/MIP_Problem.cc |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/MIP_Problem.cc b/src/MIP_Problem.cc
index 984a5a2..88b7d6f 100644
--- a/src/MIP_Problem.cc
+++ b/src/MIP_Problem.cc
@@ -1070,13 +1070,13 @@ PPL::MIP_Problem::steepest_edge_float_entering_index() const {
       }
     }
   }
-  std::vector<std::pair<dimension_type, double> >::const_iterator
-    k = columns.begin();
-  std::vector<std::pair<dimension_type, double> >::const_iterator
-    k_end = columns.end();
+  std::vector<std::pair<dimension_type, double> >::const_reverse_iterator
+    k = columns.rbegin();
+  std::vector<std::pair<dimension_type, double> >::const_reverse_iterator
+    k_end = columns.rend();
   for ( ; k != k_end; ++k) {
     // challenger_dens[*k] is the square of the challenger value.
-    if (entering_index == 0 || k->second >= current_value_squared) {
+    if (entering_index == 0 || k->second > current_value_squared) {
       current_value_squared = k->second;
       entering_index = k->first;
     }




More information about the PPL-devel mailing list