coin-or / SHOT

A solver for mixed-integer nonlinear optimization problems
https://shotsolver.dev
Eclipse Public License 2.0
117 stars 25 forks source link

Anti epigraph reformulation #93

Closed andreaslundell closed 3 years ago

andreaslundell commented 3 years ago

GAMS is sometimes not able to extract the objective function from an epigraph constraint (e.g. smallinvSN*).

SHOT should then extract this itself.

andreaslundell commented 3 years ago

I guess there is some reason why this is not done automatically in GAMS @svigerske? 😄

svigerske commented 3 years ago

I wouldn't use "reason" and "GAMS" together in a sentence too carelessly :).

For some reason, GAMS ;) only reformulates the objective variable out if the "objective-equation" is of =E= type (and the objective variable is unbounded continuous and appears in only one equation and does so linearly). So nothing will happen for a =L= or =G= equation. Maybe someone thought that it would be bad if solutions feasible but non-optimal for the non-reformulated problem could have a different objective function value when evaluated in the reformulated problem. Or it has something to do with dual solution and mapping them.

It makes sense to have this reformulation in SHOT also for non-GAMS users, though.

andreaslundell commented 3 years ago

Yes, I agree... This would also fix an issue I have with unbounded MIP subproblems before cuts for the objective constraint have been added to the linear outer approximation.

andreaslundell commented 3 years ago

Fixes as of #110