[Cbc] setting setUseElapsedTime caused RINS to immediately time out

fpeng fpeng at imap.srv.cs.cmu.edu
Wed Jan 28 11:30:51 EST 2015


Hello Cbc community,

I'm seeing an issue when using wall time instead of cputime in CBC: 
after calling setUseElapsedTime(true) (which should make cbc use wall 
time instead of the default cpu time), all RINS runs during cbc 
branchandbound will time out almost immediately, something like:

Cbc0028I Starting sub-tree for CbcHeuristicRINS - maximum nodes 200
Cbc0020I Exiting on maximum time
Cbc0005I Partial search - best objective 1e+50 (best possible 
-391348.59), took 0 iterations and 0 nodes (1422388648.51 seconds)
Cbc0035I Maximum depth 0, 0 variables fixed on reduced cost
Cbc0029I Ending sub-tree for CbcHeuristicRINS
Cbc0045I Heuristic RINS took 0.139259 seconds (no good)

although the rest of the cbc run seems normal and uses the correct wall 
time to terminate without a problem. I used the default RINS and didn't 
change any settings. I believe RINS smallbranchandbound is using the 
main branchandbound routine, so it's perplexing to see the time handled 
incorrectly here.

Some background: the reason I wanted to use wall time is that cpu time 
doesn't translate to wall time very well in parallel: if I have multiple 
cores, setting setMaximumSeconds(tLim*numCores) doesn't always terminate 
cbc after tLim seconds, and sometimes I get vastly different termination 
times. If anyone knows what's happening here please let me know.

Thanks!
Fei



More information about the Cbc mailing list