I am using Concurrent Optimizer and callbacks and it seems to me, that callbacks are not called, although they should (or shouldn't?).
In the reference manual (https://www.gurobi.com/documentation/current/refman/concurrent_optimizer.html#sec:ConcurrentCallbacks) it says:
"Information retrieved by your callback (solutions, objective bounds, etc.) will come from a single model."
In the following post it was said that new incumbents are interexchanged between different threads:
In my callback I am using
if where == GRB.Callback.MIPSOL:
to write a solution to file when a new solution is found. I can't investigate it in the last details but it seems to me, that this only happens if a new solution was found in Instance 0. When the log says "Instance 1 was solved" the new solution is not written to file.
Is that the wanted behaviour?
Please sign in to leave a comment.