Reduce time to prove optimality in a partial MIP algorithmAwaiting user input
I have a partial MIP algorithm. This algorithm solves a problem iteratively by fixing a portion of variables (decreasing the problem size). An initial solution is always given to the solver in each iteration.
After some iterations, the algorithm finds a good solution, and it becomes time-consuming to prove the optimality in each iteration. I have restricted the timeLimit of the solver, so, the solver may terminate before proving the optimality.
At iteration `t` of the algorithm, let us suppose the algorithm starts with `a%` optimality gap, does not improve the incumbent solution and terminates with `b%` optimality gap (`a >= b` and `b>0`). What sorts of information should I pass to the solver in iteration `t+1` so it starts with `b%` optimality gap, not with with `a%` optimality gap?
Could you please provide a minimal reproducible example? For this you could provide 2 models, 1 which is solved with an initial point which starts with a% gap and is solved up to b% gap and a second one which is solved afterwards. This would make understanding of the issue easier. Note that uploading files in the Community Forum is not possible but we discuss an alternative in Posting to the Community Forum.
At the particular iteration t you mentioned, do you fix some variables after solving the model up to b% optimality gap? Or do you just provide the last point as initial point?
Please note that it is not possible to save MIP cuts generated by Gurobi during the optimization run and pass them to a next run, except for when you do only minor model changes. Thus, it is possible that Gurobi has to recompute some of the cuts to reach b% gap again.0
Please sign in to leave a comment.