Saturday, August 11, 2012

Infes and Nopt

GAMS flags rows and columns in the solution by NOPT or INFES if they are non-optimal or infeasible. The NOPT basically signal the marginal of the row or column has the wrong sign. A marginal on a row is simply the dual and a marginal on a column is the reduced cost (this can be interpreted as the dual if the bound was written as a constraint instead).

If the model is infeasible it does not make sense to report NOPTs. In this case we don’t even know about which objective we are talking about (phase I or phase II objective). Hence the following output of GAMS/CPlex is really a bug in the Cplex link:


**** REPORT SUMMARY :      115     NONOPT ( NOPT)
                           257 INFEASIBLE (INFES)

---- EQU mula2  linearization of a(p,o)=c(p)*u(o)

                      LOWER     LEVEL     UPPER    MARGINAL

project1 .indirect     -INF       .         .         EPS      
project1 .direct       -INF       .         .       -1.000  NOPT
project1 .tech         -INF       .         .         EPS      
project1 .social       -INF       .         .       -1.000  NOPT

---- EQU mulb2  linearization of b(p,i)=c(p)*v(i)

                  LOWER     LEVEL     UPPER    MARGINAL

project1 .cost     -INF  8.6094E+6      .       -1.000 INFES
project2 .cost     -INF  8.6094E+6      .       -1.000 INFES
project3 .cost     -INF  8.6094E+6      .       -1.000 INFES