Q: I am using “Conopt” to solve a large scale model. But the message I get back from the solver says:
Infeasible solution. Reduced gradient less than tolerance How do I interpret this?
The messages mean what they say. If you look at the Solve Summary in the listing file you will see that the status is
Locally Infeasible. This means that there is no feasible solution near the point where CONOPT stopped. You should analyze the solution returned to get clues as to why this might be.
One possibility is that CONOPT has moved to a point that you can see is nowhere near where the correct solution must be. In that case, you can add bounds to important variables to keep CONOPT looking only in a reasonable region. Some strategies that may help are:
Another possibility is that the model is infeasible because you have a bug in your formulation and the equations are not really the ones that you intended. When you analyze the solution returned, you will see that equations that could not be satisfied are marked
INFES. The same is true for variables that could not be kept inside their bounds. You may very well see a pattern. Perhaps every variable in one block is marked
INFES even though you thought the equation would be easy to satisfy. You then need to analyze why CONOPT was unable to adjust variable values to satisfy that equation. Otherwise, try selectively removing some equations or relax them by adding slacks. This can help you find the equations that cause the infeasibility.