The
min function is a very dangerous one. To discourage users to use this function we don't allow this in an NLP model, and you are forced to declare the model as a DNLP model. The problem is that the
min function is not differentiable, just like the
max and the
abs. The best advice I can give you is: stay away from them. In your case we can reformulate the model quite easily to make it a normal NLP, which solves without problems with MINOS:
Code: Select all
obj1.. y=L=xa+xd;
obj2.. y=L=xb+xd;
obj3.. y=L=xc+xd;
This is possible because we maximize
y, which will assume automatically in the optimal solution the minimum of the three right-hand sides.
Chapter
NLP and DNLP Models of the CONOPT Manual has some more examples of the reformulation of DNLP models.
There are also several GAMS intrinsic functions that smoothly approximate
MIN(f,g). The motivation for putting these in GAMS was for use in reformulation approaches for MCP and MPEC models - the complementarity conditions can be cast as equations using the
MIN function, and the smoothed
MIN functions allow solution via NLP solvers. For example, the Fischer-Burmeister function and the Chen-Mangasarian function are both smoothed
MIN functions available in GAMS, and since they are intrinsics you only need to write
NcpF(f,g,mu) or
NcpCM(f,g,mu), where
mu is the smoothing parameter. You can get the exact definition for these functions and others that may also help you by looking at section
NCP functions of the NLPEC solver manual.