solver:infeasible_solution._reduced_gradient_less_than_tolerance

This shows you the differences between two versions of the page.

Both sides previous revision Previous revision | |||

solver:infeasible_solution._reduced_gradient_less_than_tolerance [2021/02/19 21:24] Atharv Bhosekar removed |
— (current) | ||
---|---|---|---|

Line 1: | Line 1: | ||

- | ====== Infeasible solution. Reduced gradient less than tolerance ====== | ||

- | 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: | ||

- | * Try to solve your model with a different NLP solver | ||

- | * Try to solve it with a global solver. This may give an indication whether feasible points exist at all. | ||

- | * Provide a better starting point. The default starting values of zero are often not appropriate. | ||

- | * Provide better bounds and look at the scaling of the model. | ||

- | * Try to solve some smaller instances of the model. | ||

- | |||

- | |||

- | 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. | ||

- | |||

- | |||

- | |||