[Bcp-tickets] [Branch-Cut-Price Framework] #10: Incorrect counting
of processed nodes; crash
Branch-Cut-Price Framework
coin-trac at coin-or.org
Tue Dec 26 09:09:50 EST 2006
#10: Incorrect counting of processed nodes; crash
------------------------+---------------------------------------------------
Reporter: fmargot | Owner: somebody
Type: defect | Status: new
Priority: major | Milestone:
Component: component1 | Version:
Keywords: |
------------------------+---------------------------------------------------
This is for the tar ball BCP-1.0.0, but the code in the stable version
looks similar.
It seems that the counting of processed nodes when BCP hits the time limit
is incorrect. I get:
TM: Time has ran out.
TM: Best lower bound in this phase: 17.000000
WARNING! processed != p->search_tree.processed()
WARNING! Please file a bug report.
When printing these values, I get:
processed: 2195 p->search_tree.processed(): 1329
This happens using stein27.mps with an upper bound of 18.1, a time limit
of 10 seconds and BCP in Branch-and-Bound (using best bound) mode.
This comes from BCP_tm_user::display_final_information(). Moreover, when
using
BCP_RemoveExploredBranches 1
it happens that in the loop of BCP_tm_user::display_final_information()
starting with
for (BCP_vec<BCP_tm_node*>::iterator node = p->search_tree.begin();
node != p->search_tree.end();
++node) {
(around line 291 in BCP_tm_user.cpp), *node is sometimes NULL, creating a
crash. I fixed this by adding at the beginning of the loop:
if(*node == NULL) {
continue;
}
I am not sure if this is the best fix.
--
Ticket URL: <https://projects.coin-or.org/Bcp/ticket/10>
Branch-Cut-Price Framework <http://projects.coin-or.org/Bcp>
A parallel framework for branch-cut-price algorithms.
More information about the Bcp-tickets
mailing list