Monday, March 7, 2011

Mixed Integer Nonlinear Programming Solvers

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. 

1 comment:

  1. Here is a list of some other MINLP solvers as well:

    http://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)

    ReplyDelete