A Library of Mixed-Integer and Continuous Nonlinear Programming Instances
Home // Instances // Documentation // Download // Statistics
This website hosts a collection of problem instances from the diverse classes of mixed-integer nonlinear programming (MINLP) and continuous nonlinear programming (NLP).
Since 2001, the Mixed-Integer Nonlinear Programming Library (MINLPLib) and the Nonlinear Programming Library (GLOBALLib) have provided algorithm developers with a large and varied set of both theoretical and practical test models. In recent years, major updates to MINLPLib lead to the inclusion of more instances, more solution points, and more information on each instance. Additionally, also purely continuous instances have been added to MINLPLib, including those from GLOBALLib. The original MINLPLib is still available here and GLOBALLib is available here.
The primary format for all instances is the GAMS scalar format. Additionally, instances are provided in a number of other formats, as far as conversion is possible.
Maintainer: Stefan Vigerske, svigerske at gams.com
Changelogs: added and removed instances, added bounds
Call for Instances
We are looking for more interesting and challenging (MI)NLPs from all fields of Operations Research and Combinatorial Optimization, ideally those which have been built to model real life problems.
If you would like to contribute, please send your instances by e-mail. We accept any well-known format that can be translated into GAMS. This includes AMPL (preferrably .nl), GAMS, ZIMPL, BARON, CPLEX LP, MPS, PIP, and OSiL.
Further, if you have a MINLP model that you would like to discuss with other people, be reminded of the minlp.org initiative. We are monitoring minlp.org and add model instantiations from minlp.org to MINLPLib occassionally.
Frequently Asked Questions
- What are the default bounds on variables in a GAMS model?
See the GAMS documentation. Older GAMS versions used a default upper bound of 100 for integer variables. MINLPLib instances work around this by explicitly setting the option
intvarup=0, if GAMS >= 24.2.
- Do the reported solution points and dual bounds allow to rank the performance of solvers?
No. New solutions are usually only added when improving the primal bound. If several solvers find the same solution, it is random which solver is attributed to that solution. Further, the reported dual bounds are just the best value as computed in some run with some option settings on some machine at some time in the past.
- When is the "objective variable" counted in the variables count?
Since GAMS lacks the possibility to define a proper objective function, in the GAMS version of all (non-CNS) problem instances, a single "objective variable" is minimized or maximized. Often, this variable is reformulated out (removing the variable and restoring the actual objective function) when converting the instance into a different format. Also most solver interfaces in GAMS use this reformulation. In the properities of a problem instance, the objective variable is not counted if GAMS would reformulate the variable out. This happens if the objective variable is an unbounded continuous variable, it appears in only one equation, this appearance is linear, and the equation is an equality.