Version 4 (modified by pbelotti, 12 years ago) (diff)


Couenne, an exact solver for nonconvex MINLPs

Couenne (Convex Over and Under ENvelopes for Nonlinear Estimation) is a branch&bound algorithm to solve Mixed-Integer Nonlinear Programming (MINLP) problems:

The purpose of Couenne is to find global optima of nonconvex MINLPs. Couenne implements linearization, bound reduction, and sophisticated branching methods within a Branch&Bound framework. Its main components are:

  • an expression library;
  • separation of linearization cuts;
  • branching rules;
  • bound tightening methods.

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

Download, installation and usage

Note: For now we refer to an old version of Couenne. Instruction on how to obtain the new Couenne will be posted soon.

svn co Couenne

Once Couenne is correctly configured and built, it is run as follows:

Couenne/src/main/couenne <>

specifying a stub (.nl) as an input. Stub files can be generated from AMPL, for instance.

You may specify a set of options to tweak the performance of Couenne.

Couenne is maintained by Pietro Belotti (belotti@…).

Web page:

This project was initiated in 2006 by IBM and Carnegie Mellon University as part of a joint effort to develop algorithms for MINLP. You may find additional info (a publicly available library of test instances of Convex MINLPs and papers on MINLP) at

For contributing code you should either contact the project maintainer or write to the mailing list. You can find legal requirement at

Dependencies: CoinUtils?, Cbc, Cgl, Clp, Ipopt, Osi (from Coin-OR), ASL (Ampl Solver Library, see

External resources: Coin-OR, Common Public License.