Whilst doing that, I think I figured it out. It’s a numerical precision issue.
To make it simple, some_condition_on(vars) boils down to a geq expression g(x) >= N for some g and N.
Running it single-threaded, it happens that at that node deep in the tree, and for N=10, the retrieved value in the callback is (literally) g(x) = 9.999999999999999.
That’s why the condition does not hold and the program exits. This is not encountered for any (n>1)-threaded runs as mentioned previously.
My model is a MIP with cont. and 0-1 vars so I believe numerical issues are bound to happen… but is this normal behavior with regards to the number of threads?
Thank you,