User Tools

Site Tools

Difference between NLP and DNLP-Models

Q: Is there any disadvantage in using DNLP instead of a NLP?

Submitted by Arne Drud: The distinction between NLP and DNLP is (currently) only in the GAMS compiler where certain constructs are defined as potentially dangerous and the modeler must explicitly say that she or he recognizes the danger with the clause “using dnlp”.

The solvers do not know whether a model is an NLP or DNLP. They could get the information from GAMS but currently none of them ask. The solvers work as if the model is nice and smooth, and if it is not smooth then they may get in trouble. We hope that they recover gracefully from this trouble, but you cannot be sure.

Therefore, if a model is smooth despite some ABS or MAX functions, then there is no reason to reformulate it using smooth approximations.