| [ MINLP World Home | Board | Solvers | MINLPLib | Links | GamsWorld Group | Search | Contact ] |
|---|
There are several MINLP solvers available, both free codes from research institutions and commercial codes from various vendors. The solvers differ in the methods they use, in whether they find globally optimal solution with proven optimality, and in the size of models they can handle, and in the format of models they accept.
| AlphaECP | Extended Cutting Plane Algorithm from T.Westerlund, Abo Akademi University, Finland |
| BARON | Branch-and-Reduce algorithm from N. Sahinidis, University of Illinois Urbana-Champaign |
| DICOPT | Outer-Approximation algorithm from I.E. Grossmann, Carnegie Mellon University |
| LOGMIP | LogMIP (acronym of Logical Mixed Integer Programming) is a solver for or generalized disjunctive programs (GDP) |
| LINDOGLOBAL | LindoGlobal is a solver for proven global solutions from Lindo Systems, Inc. |
| MINLP | Branch-and-Bound algorithm from R. Fletcher and S. Leyffer, The University of Dundee |
| SBB | Branch-and-Bound algorithm from ARKI Consulting and Development |
AlphaECP is a general purpose MINLP solver. The ECP (extended cutting plane) method is based on cutting plane techniques and the solution of a sequence of mixed integer linear programming problems only. Mixed integer problems, with a pseudo-convex objective function subject to pseudo convex inequality constraints, can be solved to global optimality with the method.
BARON is a computational system for solving non convex optimization problems to global optimality. Purely continuous, purely integer, and mixed-integer nonlinear problems can be solved with the software. The Branch And Reduce Optimization Navigator derives its name from its combining interval analysis and duality in its reduce arsenal with enhanced branch and bound concepts as it winds its way through the hills and valleys of complex optimization problems in search of global solutions.
DICOPT (DIscrete and Continuous OPTimizer) is an extension of the outer-approximation algorithm with equality relaxation strategies. DICOPT solves a series of NLP and MIP sub-problems using any solver supported by GAMS. Although, the algorithms has provisions to handle non-convexities, it does not always find the global solution.
LINDOGlobal finds guaranteed globally optimal solutions to general nonlinear problems with continuous and/or discrete variables.
The LINDO global optimization procedure (GOP) employs branch-and-cut methods to break an NLP model down into a list of subproblems. Each subproblem is analyzed and a) is shown to not have a feasible or optimal solution, or b) an optimal solution to the subproblem is found, e.g., because the subproblems is shown to be convex, or c) the subproblem is further split into two or more subproblems which are then placed on the list. Given appropriate tolerances, after a finite, though possibly large number of steps a solution provably global optimal to tolerances is returned. Traditional nonlinear solvers can get stuck at suboptimal, local solutions. This is no longer the case when using the global solver.
LogMIP has two main components:
MINLP implements a branch-and-bound algorithm searching a tree whose nodes correspond to continuous non linearly constrained optimization problems. The continuous problems are solved using filterSQP, a Sequential Quadratic Programming solver which is suitable for solving large non linearly constrained problems.
SBB is a GAMS solver for Mixed Integer Nonlinear Programming (MINLP) models. It is based on a combination of the standard Branch and Bound method known from Mixed Integer Linear Programming and some of the standard NLP solvers already supported by GAMS. During the solution process SBB solves a number relaxed MINLP models with tighter and tighter bounds on some of the integer variables. The solutions to these submodels are assumed to provide valid bounds on the objective function. SBB will find the global optimum if the underlying RMINLP model is convex. If the submodels are not convex then some submodels may be solved to a local optimum that is not global, and they may terminate in a locally infeasible point even if feasible solutions exist. If a submodel cannot be solved with the default NLP solver then SBB has the ability to try to solve it with a sequence of other solvers.