In the output log (typically gurobi.log), you might see the message
User MIP start did not produce a new incumbent solutionThis message is printed when Gurobi rejects a provided MIP start. There are several possible reasons for this:
- A Gurobi heuristic during presolve found a solution that matches or surpasses the quality of the MIP start solution.
- For a partial MIP start, the limited exploration did not find a new incumbent solution.
- The provided MIP start is infeasible for the model. In this case there might be an additional message similar to the following to give you some hint:
User MIP start violates constraint c1 by 2934.000000000- There are numerical issues, e.g., the MIP start is only almost feasible or only feasible within tolerances.
In the last two cases Gurobi may reject the MIP start at first but then may go back and try the MIP start again after presolve. In the log you will then see:
Another try with MIP start
If you want to diagnose an infeasible MIP start, you can try fixing the variables in the model to their values in your MIP start (by setting both their lower and upper bound attribute to the MIP start value).
If the resulting MIP model is infeasible, you can then compute an IIS on this model to get additional information that might help to identify the cause of the infeasibility.