Couenne
Stable release |
0.5.2
|
---|---|
Development status | Active |
Written in | C++ |
Operating system | Cross-platform |
Website |
projects |
Convex Over and Under ENvelopes for Nonlinear Estimation (Couenne) is an open source library for solving global optimization problems, also termed mixed integer nonlinear optimization problems.[1] A global optimization problem requires to minimize a function, called objective function, subject to a set of constraints. Both the objective function and the constraints might be nonlinear and nonconvex. For solving these problems, Couenne uses a reformulation procedure[2] and provides a linear programming approximation of any nonconvex optimization problem.[3]
Couenne is an implementation of a branch-and-bound where every subproblem is solved by constructing a linear programming relaxation to obtain a lower bound. Branching may occur at both continuous and integer variables, which is necessary in global optimization problems. It requires the input to be specified in A Mathematical Programming Language (AMPL) .nl format, so as to be used from AMPL, and writes as an output a file .sol containing the best solution found until that moment (if the optimization is interrupted) or the global optimum if it completes without interruption.
The development of Couenne began in 2006 within a collaboration between IBM and Carnegie Mellon University. It is open-source software and is currently released under the Eclipse Public License v1.0.
The source code is available for download in the Computational Infrastructure for Operations Research COIN-OR repository and on Github. Couenne uses other packages both in COIN-OR (CBC, CLP, COIN-OR OSI, COIN-OR Bonmin, COIN-OR Cgl, Interior Point OPTimizer (IPOPT)) and outside (LAPACK, Basic Linear Algebra Subprograms (BLAS), MUltifrontal Massively Parallel sparse direct Solver (MUMPS), Nauty, Solving Constraint Integer Programs (SCIP), SoPlex).
See also
- BARON – a commercial solver for MINLP developed by Nick Sahinidis and others
- LINDO – a suite comprising LindoGlobal for solving global optimization problems
- SCIP – a freely available solver for MILP, MIQCQP, and global optimization problems
References
- ↑ P. Belotti, C. Kirches, S. Leyffer, J. Linderoth, J. Luedtke and A. Mahajan (2013). Mixed-integer nonlinear optimization. Acta Numerica, 22, pp 1-131. doi:10.1017/S0962492913000032. http://journals.cambridge.org/abstract_S0962492913000032
- ↑ M. Tawarmalani, N.V. Sahinidis. Convexification and global optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and applications. Vol. 65. Springer Science & Business Media, 2002.
- ↑ P. Belotti, J. Lee, L. Liberti, F. Margot, & A. Wächter (2009), Branching and bounds tightening techniques for non-convex MINLP. Optimization Methods & Software, 24(4-5), 597-634.