4
$\begingroup$

I'm using CBC with PuLP to solve a small unit commitment problem. I'm finding that with certain combinations of input parameters, CBC simply stalls. With other input parameters, it solves, usually in 10 seconds or so.

I've applied a 20 second time limit, but when it stalls, this is not triggered.

Typically, the last few lines of output are below.

Any ideas what could be causing this?

Cbc0013I At root node, 182 cuts changed objective from 2190655.4 to 2191172.3 in 20 passes

Cbc0014I Cut generator 0 (Probing) - 0 row cuts average 0.0 elements, 1 column cuts (8 active) in 2.461 seconds - new frequency is 5

Cbc0014I Cut generator 1 (Gomory) - 2461 row cuts average 103.2 elements, 0 column cuts (0 active) in 0.301 seconds - new frequency is 1

Cbc0014I Cut generator 2 (Knapsack) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.329 seconds - new frequency is 1000

Cbc0014I Cut generator 3 (Clique) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.016 seconds - new frequency is -100

Cbc0014I Cut generator 4 (MixedIntegerRounding2) - 553 row cuts average 105.5 elements, 0 column cuts (0 active) in 0.376 seconds - new frequency is 1

Cbc0014I Cut generator 5 (FlowCover) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.909 seconds - new frequency is -100

Cbc0014I Cut generator 6 (TwoMirCuts) - 360 row cuts average 89.7 elements, 0 column cuts (0 active) in 0.516 seconds - new frequency is -100

Cbc0010I After 0 nodes, 1 on tree, 10044587 best solution, best possible 2191172.3 (11.70 seconds)

$\endgroup$
3
$\begingroup$

CBC does have its fair share of bugs, especially when it comes to proper termination.

If you are running in multithreaded mode try running in serial (or vice-versa), and see if that helps.

If you are feeling particularly adventurous, you can comment out all the code related to the "SIGNAL_TRAP" and recompile CBC. This helps with proper termination (especially when running with timeouts), although it seems to crash more often as a result.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.