AIMMS Knowledge Base Article - KB00004

Infeasible model

Summary

Symptoms

After executing a solve statement in your model, AIMMS returns with the message that your model is infeasible.

Cause

There are different causes for an infeasible model. The problem is to find out what the exact cause is.

Resolution

Math Program InspectorThe Math Program Inspector contains a collection of tools that can help you to find the cause of errors in your linear model. There is a chapter in the AIMMS User's Guide about the Math Program Inspector.

Infeasibility FinderYou can activate the Infeasibility Finder of the solver. This is an option that writes extra information to the listing file when the model is infeasible. The Infeasibility Finder is available for the solvers CPLEX, GUROBI, XA, BARON and CONOPT. Check the Help on this option for more information. You can set the option as follows:

After setting this option, run your model and open the listing file via the menu: File – Open – Listing File, or via the explorer in the log-folder of your AIMMS project (*.lis).

Constraint listingYou can create a constraint listing file to see the actual generated constraints and to see which ones are infeasible (by searching on ****). You can do this by setting the following option:

The listing file can be opened via the menu: File – Open – Listing File, or via the explorer in the log-folder of your AIMMS project (*.lis).

Infeasibility analysisIn the chapter Solving Mathematical Programs in the AIMMS Language Reference, there is a section 'Infeasibility analysis'. In this section another way to find infeasibilities is explained. The used method is based on adding excess variables to your model and AIMMS offers support to automatically extend your mathematical program with excess variables during the generation of the matrix for the solver. How to use this feature is described in the mentioned section.

AIMMS PresolverIf your model is nonlinear then you can let the AIMMS Presolver try to detect the cause of the infeasibility. You can do this by setting the following options:

The information is printed in the listing file which can be opened via the menu: File – Open – Listing File, or via the explorer in the log-folder of your AIMMS project (*.lis). More information about the AIMMS Presolver can be found in the chapter Advanced Methods for Nonlinear Programs in the AIMMS Language Reference.