Bonmin (Basic Open-source Nonlinear Mixed INteger programming) is an experimental open-source C++ code for solving general MINLP (Mixed Integer NonLinear Programming) problems of the form:
min f(x) s.t. g_L <= g(x) <= g_U x_L <= x <= x_U x_i in Z for all i in I and, x_i in R for all i not in I.
f(x): R^n --> R,
g(x): R^n --> R^m are twice continuously differentiable functions and
I is a subset of
Bonmin features several algorithms
- B-BB is a NLP-based branch-and-bound algorithm,
- B-OA is an outer-approximation decomposition algorithm,
- B-QG is an implementation of Quesada and Grossmann's branch-and-cut algorithm,
- B-Hyb is a hybrid outer-approximation based branch-and-cut algorithm.
The algorithms in Bonmin are exact when the functions
g are convex; in the case where
g or both are non-convex they are heuristics.
For global optima of non-convex MINLPs, a Reformulation-Linearization based Branch-and-bound project is available in COIN-OR: Couenne
There is also an interface to MATLAB OPTI Toolbox under development by Jonathan Currie.
For short download and installation instruction see GettingStarted. Binaries are available as part of the CoinAll binaries.
Description of the underlying algorithms in Bonmin can be found in: P. Bonami, L.T. Biegler, A.R. Conn, G. Cornuejols, I.E. Grossmann, C.D. Laird, J. Lee, A. Lodi, F. Margot, N.Sawaya and A. Waechter, An Algorithmic Framework for Convex Mixed Integer Nonlinear Programs. Discrete Optimization. 5(2):186-204, 2008.
Project manager: Pierre Bonami
- Pietro Belotti, (Carnegie Mellon University),
- Pierre Bonami, (Université de la Méditérannée)
- Claudia D'Ambrosio (CNRS LIX, Ecole Polytechnique),
- John J. Forrest (IBM Copr.),
- Laszlo Ladanyi (IBM Copr.),
- Carl Laird, (Carnegie Mellon University),
- Jon Lee (IBM Copr.),
- Francois Margot (Carnegie Mellon University),
- Stefan Vigerske (GAMS Development Corp.),
- Andreas Waechter (IBM Copr.)
The code has been developed as part of a collaboration between Carnegie Mellon University and IBM Research to study new algorithms for MINLPs. Credit should be given to our colleagues in this collaboration (which are not already cited as contributors): Larry T. Biegler, Andrew R Conn, Gerard Cornuejols, Ignacio E. Grossmann, Andrea Lodi and Nick Sawaya. They all took a very significant part in every aspects of the work and research which lead to Bonmin.
- COIN-OR Initiative
- IBM CMU Open Source MINLP project
- Bonmin mailing list
- coin-discuss mailing list
- Report a bug
- ReleasesHistory page
- HintTricks wiki page
- DevelopperWiki page
- AMPL provides binaries for many major platforms
- NEOS provides a web-interface to Bonmin and various other solvers.
- Matlab Interface + Windows x86 & x64 Interface Binaries (OPTI Toolbox)
- Hans Mittelmann provides some independent benchmark comparing Bonmin to other MINLP solvers on problems with only quadratic constraints or objective: http://plato.asu.edu/ftp/convex.html
As an open-source code, contributions to Bonmin are welcome. To submit a contribution to Bonmin please follow the COIN-OR guidelines.
The preferred way to report a bug is to use the ticket system. To report a bug using this system: