Be the first to like this
Presented in this document is a short description of a straightforward and effective technique to help diagnose infeasibilities in IMPL (Industrial Modeling and Programming Language). IMPL is mathematical programming based where many previous and useful studies on infeasibility diagnosis have been published (Greenberg, 1993; Chinneck, 1993; Chinneck, 2008). It is generally accepted that the “Irreducible Infeasibility Sets (IIS)” developed by Chinneck (1993) is a useful approach to diagnosing infeasibilities and can be found in all commercial LP-based solvers such as CPLEX, GUROBI and XPRESS. Unfortunately IIS performed on industrial optimization problems (IOP) is both slow and difficult to interpret especially for the end-user given that a plethora of IIS’s can be generated with little perceived connection between the variables or constraints contained in them.
Another useful and extensively implemented approach that can also be helpful in diagnosing infeasibilities in the linear part of either the MILP or NLP is the presolving or preprocessing techniques found in for example Fourer and Gay (1993) and Andersen and Andersen (1995). These are extremely powerful to reduce the size and in some cases the complexity of the matrix that is ultimately transferred to the LP, QP, MILP or SLP. Unfortunately, although they can quickly and accurately detect LP infeasibilities, they provide little information to aid in the infeasibility diagnosis (Chinneck, 2008) as well shall see later.
Instead, IMPL uses a well-known “tightening” technique to analyze the problem by focusing on the quantity phenomenon first given that it is our experience that in IOP’s, a great majority or percentage of the infeasibilities occur in this dimension. This is fortunate given that the constraints are linear in the variables and we can solve many LP’s rapidly as specialized network-flow problems where the dual simplex LP method is particularly efficient and if required we can solve several LP’s in-parallel.
Essentially, we have two types of infeasibilities in IOP’s i.e., “incomplete” and “inconsistent” models. Incomplete models are problems where we expect to solve the problem when the problem is ill-defined or insufficiently specified. Inconsistent models are problems where some parts of the problem are incongruent, misaligned or contradictory with other parts.