In the output log (typically gurobi.log), you might see the message
User MIP start did not produce a new incumbent solution
This message is printed when Gurobi rejects a provided MIP start. There are several possible reasons for this:
- Gurobi already has a solution that is at least as good as the provided MIP start.
- 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.