
Module: ppl/ppl Branch: sparse_matrices Commit: ed8ebcb3b3f7d99523f0e142ba11c5703951a8b3 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=ed8ebcb3b3f7d...
Author: Marco Poletti poletti.marco@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; }