Try our new documentation site (beta).
Filter Content By
Version
Text Search
${sidebar_list_label} - Back
Filter by Language
![next](https://www.gurobi.com/wp-content/plugins/hd_documentations/documentation/10.0/refman/next.png?x70725)
![up](https://www.gurobi.com/wp-content/plugins/hd_documentations/documentation/10.0/refman/up.png?x70725)
![previous](https://www.gurobi.com/wp-content/plugins/hd_documentations/documentation/10.0/refman/prev.png?x70725)
Next: Gurobi tolerances and the Up: Tolerances and user-scaling Previous: Tolerances and user-scaling
Models at the edge of infeasibility
- As we saw in the introduction, seemingly contradictory results
regarding the feasibility or infeasibility of a model can legitimately
occur for models that are at the boundary between feasibility and
infeasibility.
- A more complicated example is
,
. It has two bases, one where
is basic and one where
is basic. If
is basic, we get
, which is clearly infeasible. However, if
is basic we get
, which is feasible within tolerance. Different algorithms could lead to either of such bases and thus come to apparently contradictory feasibility results.
- Presolve reductions can also play a role. A presolve reduction,
e.g. fixing a variable to a bound, implicitly forces a tolerance of 0
for that variable. When solving the reduced model, the optimizer
therefore no longer has the option to "spread" a slight infeasibility
of the model over these variables and produce a solution that is
feasible within tolerances. This leads to seemingly contradictory
feasibilty results when solving the model with presolve enabled or
disabled.
- What can be done to diagnose such cases:
- First step is to tighten the
FeasibilityTol to
and try again. In many cases this will lead to a consistent declaration of infeasibility of the model at hand, which tells you that the model is on this boundary of infeasibiltiy.
- Use
feasRelax
to solve your model (again with a tight FeasibilityTol. This boundary case is identified by a non-zero relaxation value. - Compute the IIS (again with a tight FeasibilityTol) to analyze the infeasibility.
- First step is to tighten the
FeasibilityTol to
- Another source of seemlingly contradictory results is due to numerical issues of the model and will be discussed in the following subsections.
![next](https://www.gurobi.com/wp-content/plugins/hd_documentations/documentation/10.0/refman/next.png?x70725)
![up](https://www.gurobi.com/wp-content/plugins/hd_documentations/documentation/10.0/refman/up.png?x70725)
![previous](https://www.gurobi.com/wp-content/plugins/hd_documentations/documentation/10.0/refman/prev.png?x70725)
Next: Gurobi tolerances and the Up: Tolerances and user-scaling Previous: Tolerances and user-scaling
![](/wp-content/plugins/hd_documentations/content/images/documentation-ampl-guide.webp?x70725)
![](/wp-content/plugins/hd_documentations/content/images/documentation-cloud.webp?x70725)
![](/wp-content/plugins/hd_documentations/content/images/documentation-example-tour.webp?x70725)
![](/wp-content/plugins/hd_documentations/content/images/documentation-quick-start.webp?x70725)
![](/wp-content/plugins/hd_documentations/content/images/documentation-reference-manuals.webp?x70725)
![](/wp-content/plugins/hd_documentations/content/images/documentation-remote-services.webp?x70725)
![](/wp-content/plugins/hd_documentations/content/images/quickstart-os-linux.webp?x70725)
![](/wp-content/plugins/hd_documentations/content/images/quickstart-os-mac-osx.webp?x70725)
![](/wp-content/plugins/hd_documentations/content/images/quickstart-os-windows.webp?x70725)