Version 56 (modified by pbonami, 14 years ago) (diff)


Welcome to the Bonmin homepage

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^n for all i in I and,
           x_i in R^n for all i not in I.

where f(x): R^n --> R, g(x): R^n --> R^m are twice continuously differentiable functions and I is a subset of {1,..,n}.

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 f and g are convex; in the case where f or g or both are non-convex they are heuristics.

You can try Bonmin through the NEOS web interface.

Bonmin is distributed under the Common Public License (CPL) on COIN-OR. The CPL is a license approved by the OSI (Open Source Initiative), thus Bonmin is OSI Certified Open Source Software.

For short download and installation instruction see GettingStarted.

More information on Bonmin installation and usage can be found in the Bonmin User's Manual.

More information on 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 by IBM Research Report RC23771, Oct. 2005.

Authors of the code

Project manager: Pierre Bonami


  • Pierre Bonami, (IBM Copr.)
  • John J. Forrest (IBM Copr.),
  • Lazlo Ladanyi (IBM Copr.),
  • Carl Laird, (Carnegie Mellon University),
  • Jon Lee (IBM Copr.)
  • Francois Margot (Carnegie Mellon University)
  • Andreas Waechter (IBM Copr.)


We warmly thank Larry T. Biegler, Andrew R Conn, Gerard Cornuejols, Ignacio E. Grossmann, Andrea Lodi and Nick Sawaya who all took part in various aspect to the design of the algorithm.

We, also, warmly thank Jeff Linderoth and Hans Mittelmann for their help on installing Bonmin on NEOS.

Improve this page, report a bug, contribute to Bonmin

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:

  1. Register and login,
  2. Report a bug.

As all Wiki pages, this page is editable, this means that you can modify the contents of this page simply by using your web-browser. First register and login then simply click on the "Edit this page" link at the bottom of the page. WikiFormatting will give you a detailed description of available Wiki formatting commands.