coin-or / Cbc

COIN-OR Branch-and-Cut solver
Other
770 stars 110 forks source link

Cbc will not obey the time limit if the the root LP relaxation takes longer than the time limit to solve #514

Open lucazav opened 2 years ago

lucazav commented 2 years ago

I came across the following case:

Pyomo solver.solve stuck for big problem using cbc

it was found that the timeout parameter provided via Pyomo to CBC was causing the freeze. Timeout time was less than the time it took to resolve the root LP relaxation, and thus the solver would stuck.

It would be preferable to abort the process even if the solver is in the relaxation phase, returning a clear error message because of the timeout.

tkralphs commented 2 years ago

If I understood the discussion in the Pyomo issue, then it seems the problem isn't that Cbc is "stuck" and there is no "freeze," it's just that Cbc will not obey the time limit if the the root LP relaxation takes longer than the time limit to solve. This is a known issue for which there is not a quick fix. If you could re-word the title and description of the issue to reflect the true nature of the situation, that would be helpful.

lucazav commented 2 years ago

@tkralphs done the problem is that if I set a timeout, CBC runs indefinitely and I had to stop the kernel. If I don't set the timeout, CBC gives me the information that the problem is infeasible in 15 minutes. So CBC actually locks up if I set the timeout.