Monday, September 19, 2011

Cplex MIP and time limits

Looks like Cplex tries to do something smart just before it hits a time limit: see the logs in In there you see that the gap is reduced just before the time limit kicks in, almost independent of the value of the time limit itself.


Above: run with 100 seconds time limit and below: 1000 seconds time limit.



You would almost think it would be beneficial for Cplex to have this end-of-time behavior every now and then.

Note: these runs are on one thread (thus hopefully deterministic – may be apart from the exact iteration number where the time limit kicks in). The statement “The answer to this is an implementational detail: when you use time limits, the solving process becomes non-deterministic close to the end of the time limit.” does not completely satisfy me. I would like to have a better understanding about what is happening here.