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.
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.
The Infeasibility Analysis page appears in menu:
Navigating to the page brings the user to this screen:
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.
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
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
- We forgot to configure valid shipping paths from the
M1Suppliers to these Customers.
- We erroneously entered demand for Product
M1for 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.