Hello,
I’m using GAMS interfaced with matlab, and I was wondering if it is possible to obtain a default output from gams in case the problem is infeasible?
By this I mean, that if problem is infeasible “result.l =e= 100000”.
Thank you.
Hello,
I’m using GAMS interfaced with matlab, and I was wondering if it is possible to obtain a default output from gams in case the problem is infeasible?
By this I mean, that if problem is infeasible “result.l =e= 100000”.
Thank you.
Laurus,
GAMS has a robust data-handling capability for just such a need. Something like this will do it:
if {(m.modelStat eq 4),
result.L = 9999999;
};
But the model status can be many things, even for an infeasible model. There are nice compile-time constants to help keep that straight.
https://www.gams.com/latest/docs/UG_GamsCall.html#GAMSAOmodelstat
https://www.gams.com/latest/docs/UG_GamsCall.html#UG_GamsCall_CompileTimeConstants
It might be better to bring the model status back to Matlab and use that more directly. For example, maybe you want to do the “usual” thing if the model status is %modelStat.optimal%, but something else in other cases.
scalar modStat;
solve m …
modStat = m.modelStat;
HTH,
-Steve