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 under the Analytics menu.

Example

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 over all suppliers. This means we have entered more demand than supply for a product.

In this case, there is no feasible solution which 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 Analytics > Infeasibility Analysis page 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.

../../_images/infeasibility-01.png

The Infeasibility Analysis page appears in menu:

../../_images/infeasibility-02.png

Navigating to the page brings the user to this screen:

../../_images/infeasibility-03.png

To generate this example, insufficient supply of Product M1 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 as directed). 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.

../../_images/infeasibility-04.png

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

../../_images/infeasibility-05.png

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

  • We forgot to configure Suppliers with sufficient Capacity for product M1
  • We forgot to configure valid shipping paths from the M1 Suppliers to these Customers.
  • We erroneously entered demand for Product M1 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.