The purpose of the Feasibility Report is to help you isolate the source of infeasibilities in your model. Most often, an infeasible result simply means that you’ve made a mistake in formulating your model, such as specifying a <= relation when you meant to use >=. However, if your model contains hundreds of constraints, it can be quite challenging to locate an error of this type. By isolating the infeasibility to a small subset of the constraints, the Feasibility Report can show you where to look, and hence save you a good deal of time.

To produce the Feasibility Report, Solver may test many different variations of your model, each one with different combinations of your original constraints. This process ultimately leads to a so-called “Irreducibly Infeasible System” (IIS) of constraints and variable bounds which, taken together, make the problem infeasible, but with the property that if any one of the constraints or bounds is *removed* from the IIS, the problem becomes feasible.

In a model with many constraints that “interact” with each other in complex ways, there may be many possible subsets of the constraints and bounds that constitute an IIS. Often, some of these subsets have many fewer constraints than others. Solver attempts to find an IIS containing as few constraints as possible, trying first to eliminate “formula” constraints and then to eliminate simple variable bounds – since it is usually easier to understand the effects of variable bounds on the infeasibility of the resulting IIS.

The **Feasibility** Report performs a complete analysis of your model, including bounds on the variables, to find the smallest possible subset of these constraints that is still infeasible. This can sometimes take a great deal of computing time (if necessary, you can interrupt the analysis and production of the report by pressing the ESC key). The **Feasibility-Bounds** alternative performs a similar analysis of the constraints, but does not attempt to eliminate bounds on the variables, to save computing time.