Second Phase -Infeasibility Analysis

In any problem of practical size, it is easy to overlook conflicting input requirements that cannot produce a feasible solution. When this occurs, the Infeasibility Analysis page will appear in the workflow.


As a simple example, imagine that the total demand entered in the input Dataset summed over all customers for a particular product exceeds the total supply for that same product summed overall suppliers. This means we have entered more demand than supply for a product.

In this case, there is no feasible solution that meets all the required demands, yet does not exceed the maximum available supply for each of the suppliers.

There are many other ways the input data sets can contain contradictory requirements with the result that no feasible solution exists.

When the solver detects such an infeasibility problem, a warning message is displayed. You can go to the Infeasibility Analysis page in the workflow for help in finding the contradictory inputs.

In general, the Infeasibility Analysis should be viewed as a tool to provide clues for what to examine in the input Dataset for input contradictions or omissions, as it is usually the case that a given infeasibility could be caused by several different input errors.


The Infeasibility Analysis page appears in the workflow:


Navigating to the page brings the user to this screen:


To generate this example, an insufficient supply of Product noncrystalline was offered. The upper left table shows that some Customer demand was not met, but the remaining tables on this page are empty, and we cannot yet determine which customers or products are problematic. To determine this, the model is rerun from this screen in a “relaxed” mode (by clicking the AIMMS Logo button on the bottom right of the screen). In this mode, some of the constraints are temporarily relaxed – to allow the optimizer to determine which ones are infeasible (or contradictory).

After the solution completes, a notification appears: The model was solved correctly, but only after certain constraints were relaxed.


Dismissing this message shows results from the Analysis including Unmet Customer Demand.


From the Unmet Customer Demand table, we can immediately see that the shortfall is for Product noncrystalline at the listed customers. Some possible input data problems that could cause this include:

  • We forgot to configure Suppliers with sufficient Capacity for product noncrystalline
  • We forgot to configure valid shipping paths from the noncrystalline Suppliers to these Customers.
  • We erroneously entered a demand for Product noncrystalline for these Customers when they actually have none.

The next step would be to review the input data for these problems, make the required corrections, and rerun.