While my current research is not directly on mixed integer nonlinear programming (MINLP), which is a hot topic these days, I have felt an urge to learn and the necessity to develop fast algorithms for such a kind of problems. Last week, one of my friends from Electrical Engineering asked me which solver can solve mixed integer nonlinear programming problems. I told him several options:
1. Bonmin, can solve MINLP whose objective functions are required to be convex
2. Couenne, is similar to Bonmin, while the problems can extend to nonconvex ones.
3. KNITRO, designed for nonlinear optimization problems, can also solve convex mixed integer nonlinear problems.
The first two solvers are affiliated with COIN-OR, which are open-source. KNITRO is a commercial one.
Here is a list of some other MINLP solvers as well:
ReplyDeletehttp://plato.asu.edu/sub/nlores.html#mixedinteger
DFL
derivative-free codes for bound and inequality constrained problems (f90)
MIDACO
Mixed Integer Distributed Ant Colony Optimization (Matlab, C/C++, Fortran)
MILANO
Matlab-based mixed-integer linear and nonlinear solver
MINLP_BB
branch&bound and QP/SQP
Minotaur
source and Linux/Mac binaries
LaGO
B&C, Linux binary, binary variables only, GAMS interface
BARON
Branch And Reduce Optimization Navigator (avail. from AIMMS, GAMS)
BNB
B&B, Matlab, needs optimization toolbox
FMINCONSET
B&B, variables may be restricted to discrete sets, Matlab, needs optimization toolbox
AlphaEcp
WinNt/95 binary, requires CPLEX and f90
OPBDP binaries
0-1 variables, objective and constraints polynomial (C++) A Davis-Putnam Based Enumeration Algorithm for Linear Pseudo-Boolean Optimization
And a couple other ones as well that were not mentioned:
APOPT (IP/SQP NLP with B&B/OA)
DICOPT (with CONOPT2CPLEX as NLPMIP solver)
SBB in GAMS (with CONOPT2 as NLP solver)