TOMLAB Problem Types and Solver Routines
This page is part of the TOMLAB Manual. See TOMLAB Manual. |
Section Problem Types Defined in TOMLAB defines all problem types in TOMLAB. Each problem definition is accompanied by brief suggestions on suitable solvers. This is followed in Solver Routines in TOMLAB by a complete list of the available solver routines in TOMLAB and the various available extensions, such as /SOL and /CGO.
Problem Types Defined in TOMLAB
Unconstrained Optimization Problem
The unconstrained optimization (uc) problem is defined as
where and . For unbounded variables, the corresponding elements of may be set to .
Recommended solvers: TOMLAB /KNITRO and TOMLAB /SNOPT.
The TOMLAB Base Module routine ucSolve includes several of the most popular search step methods for unconstrained optimization. The search step methods for unconstrained optimization included in ucSolve are: the Newton method, the quasi-Newton BFGS and DFP method, the Fletcher-Reeves and Polak-Ribiere conjugate-gradient method, and the Fletcher conjugate descent method. The quasi-Newton methods may either update the inverse Hessian (standard) or the Hessian itself. The Newton method and the quasi-Newton methods updating the Hessian use a subspace minimization technique to handle rank problems. The quasi-Newton algorithms also use safe guarding techniques to avoid rank problem in the updated matrix.
Another TOMLAB Base Module solver suitable for unconstrained problems is the structural trust region algorithm sTrustr, combined with an initial trust region radius algorithm. It treats partially separable functions. Safeguarded BFGS or DFP are used for the quasi-Newton update, if the analytical Hessian is not used. The set of constrained nonlinear solvers could also be used for unconstrained problems.
Quadratic Programming Problem
The quadratic programming (qp) problem is defined as
where , , , and .
Recommended solvers: TOMLAB /KNITRO, TOMLAB /SNOPT and TOMLAB /MINLP.
A positive semidefinite F -matrix gives a convex QP, otherwise the problem is nonconvex. Nonconvex quadratic programs are solved with a standard active-set method, implemented in the TOM routine qpSolve. qpSolve explicitly treats both inequality and equality constraints, as well as lower and upper bounds on the variables (simple bounds). It converges to a local minimum for indefinite quadratic programs.
In TOMLAB MINOS in the general or the QP-version (QP-MINOS), or the dense QP solver QPOPT may be used. In the TOMLAB /SOL extension the SQOPT solver is suitable for both dense and large, sparse convex QP and SNOPT works fine for dense or sparse nonconvex QP.
For very large-scale problems, an interior point solver is recommended, such as TOMLAB /KNITRO or TOMLAB /BARNLP.
TOMLAB /CPLEX, TOMLAB /Xpress and TOMLAB /XA should always be considered for large-scale QP problems.
Constrained Nonlinear Optimization Problem
The constrained nonlinear optimization problem (con) is defined as
where , , , and .
Recommended solvers: TOMLAB /SNOPT, TOMLAB /NPSOL and TOMLAB /KNITRO.
For general constrained nonlinear optimization a sequential quadratic programming (SQP) method by Schittkowski is implemented in the TOMLAB Base Module solver conSolve. conSolve also includes an implementation of the Han-Powell SQP method. There are also a TOMLAB Base Module routine nlpSolve implementing the Filter SQP by Fletcher and Leyffer.
Another constrained solver in TOMLAB is the structural trust region algorithm sTrustr, described above. Currently, sTrustr only solves problems where the feasible region, defined by the constraints, is convex. TOMLAB /MINOS solves constrained nonlinear programs. The TOMLAB /SOL extension gives an additional set of general solvers for dense or sparse problems.
sTrustr, pdco and pdsco in TOMLAB Base Module handle nonlinear problems with linear constraints only.
There are many other options for large-scale nonlinear optimization to consider in TOMLAB. TOMLAB /CONOPT, TOMLAB /BARNLP, TOMLAB /MINLP, TOMLAB /NLPQL and TOMLAB /SPRNLP.
Box-bounded Global Optimization Problem
The box-bounded global optimization (glb) problem is defined as
where , , i.e. problems that have finite simple bounds on all variables.
Recommended solvers: TOMLAB /LGO and TOMLAB /CGO with TOMLAB /SOL.
The TOM solver glbSolve implements the DIRECT algorithm, which is a modification of the standard Lipschitzian approach that eliminates the need to specify a Lipschitz constant. In glbSolve no derivative information is used. For global optimization problems with expensive function evaluations the TOMLAB /CGO routine ego implements the Efficient Global Optimization (EGO) algorithm. The idea of the EGO algorithm is to first fit a response surface to data collected by evaluating the objective function at a few points. Then, EGO balances between finding the minimum of the surface and improving the approximation by sampling where the prediction error may be high.
Global Mixed-integer Nonlinear Programming Problem
The global mixed-integer nonlinear programming (glc) problem is defined as
where , , , and .
The variables , the index subset of , are restricted to be integers.
Recommended solvers: TOMLAB /OQNLP.
The TOMLAB Base Module solver glcSolve implements an extended version of the DIRECT algorithm, that handles problems with both nonlinear and integer constraints.
Linear Programming Problem
The linear programming (lp) problem is defined as
where ,
, and .
Recommended solvers: TOMLAB /CPLEX, TOMLAB /Xpress and TOMLAB /XA. The TOMLAB Base Module solver lpSimplex implements a simplex algorithm for lp problems.
When a dual feasible point is known in (6) it is efficient to use the dual simplex algorithm implemented in the TOMLAB Base Module solver DualSolve. In TOMLAB /MINOS the LP interface to MINOS, called LP-MINOS is efficient for solving large, sparse LP problems. Dense problems are solved by LPOPT. The TOMLAB /SOL extension gives the additional possibility of using SQOPT to solve large, sparse LP.
The recommended solvers normally outperforms all other solvers.
Mixed-integer Programming Problem
The mixed-integer programming problem (mip) is defined as
Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{array}{ll} \min\limits_{x} & f(x) = c^T x \\ & \\ s/t & \begin{array}{lcccl} x_{L} & \leq & x & \leq & x_{U}, \\ b_{L} & \leq & A x & \leq & b_{U}, ~x_{j} \in \mathbb{N}\ ~~\forall j \in I \\ \end{array} \end{array} }
where Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle c, x, x_L, x_U \in \mathbb{R}^n}
, Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle A \in \mathbb{R}^{m_1 \times n}}
, and Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle b_L,b_U \in \mathbb{R}^{m_1}}
. The variables Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x \in I}
, the index subset of Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle 1,...,n}
are restricted to be
integers. Equality constraints are defined by setting the lower
bound equal to the upper bound, i.e. for constraint Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i: b_{L}(i) = b_{U}(i)}
.
Recommended solvers: TOMLAB /CPLEX, TOMLAB /Xpress and TOMLAB /XA.
Mixed-integer programs can be solved using the TOMLAB Base Module routine mipSolve that implements a standard branch-and-bound algorithm. When dual feasible solutions are available, mipSolve is using the TOMLAB dual simplex solver DualSolve to solve subproblems, which is significantly faster than using an ordinary linear programming solver, like the TOMLAB lpSimplex. mipSolve also implements user defined priorities for variable selection, and different tree search strategies. For 0/1 - knapsack problems a round-down primal heuristic is included. Another TOMLAB Base Module solver is the cutting plane routine cutplane, using Gomory cuts. It is recommended to use mipSolve with the LP version of MINOS with warm starts for the subproblems, giving great speed improvement. The TOMLAB /Xpress extension gives access to the state-of-the-art LP, QP, MILP and MIQP solver Xpress-MP. For many MIP problems, it is necessary to use such a powerful solver, if the solution should be obtained in any reasonable time frame. TOMLAB /CPLEX is equally powerful as TOMLAB /Xpress and also includes a network solver.
Linear Least Squares Problem
The linear least squares (lls) problem is defined as
Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{array}{ll} \min\limits_{x} & f(x) = \frac{1}{2} || C x - d || \\ & \\ s/t & \begin{array}{lcccl} x_{L} & \leq & x & \leq & x_{U}, \\ b_{L} & \leq & A x & \leq & b_{U} \\ \end{array} \end{array} }
where Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x, x_L, x_U \in \mathbb{R}^n}
, Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle d \in \mathbb{R}^M}
,
Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle C \in \mathbb{R}^{M \times n}}
,
Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle A \in \mathbb{R}^{m_1 \times n}}
, Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle b_L,b_U \in \mathbb{R}^{m_1}}
and Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle c_L,c(x),c_U \in \mathbb{R}^{m_2}}
.
Recommended solvers: TOMLAB /LSSOL.
Tlsqr solves unconstrained sparse lls problems. lsei solves the general dense problems. Tnnls is
a fast and robust replacement for the Matlab nnls. The general least squares solver clsSolve may also be used.
In the TOMLAB
/NPSOL or TOMLAB /SOL extension the LSSOL solver is suitable for dense linear least squares problems.
Constrained Nonlinear Least Squares Problem
The constrained nonlinear least squares (cls) problem is defined as
Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{array}{ll} \min\limits_{x} & f(x) = \frac{1}{2} r(x)^T r(x) \\ & \\ s/t & \begin{array}{lcccl} x_{L} & \leq & x & \leq & x_{U}, \\ b_{L} & \leq & A x & \leq & b_{U} \\ c_{L} & \leq & c(x) & \leq & c_{U} \\ \end{array} \end{array} }
where Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x, x_L, x_U \in \mathbb{R}^n}
, Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle r(x) \in \mathbb{R}^M}
,
Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle A \in \mathbb{R}^{m_1 \times n}}
, Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle b_L,b_U \in \mathbb{R}^{m_1}}
and Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle c_L,c(x),c_U \in \mathbb{R}^{m_2}}
.
Recommended solvers: TOMLAB /NLSSOL.
The TOMLAB Base Module nonlinear least squares solver clsSolve treats problems with bound constraints in a similar way as the routine ucSolve. This strategy is combined with an active-set strategy to handle linear equality and inequality constraints.
clsSolve includes seven optimization methods for nonlinear least squares problems, among them: the Gauss-Newton method, the Al-Baali-Fletcher and the Fletcher-Xu hybrid method, and the Huschens TSSM method. If rank problems occur, the solver uses subspace minimization. The line search algorithm used is the same as for unconstrained problems.
Another fast and robust solver is NLSSOL, available in the TOMLAB /NPSOL or the TOMLAB /SOL extension toolbox.
One important utility routine is the TOMLAB Base Module line search algorithm LineSearch, used by the solvers conSolve, clsSolve and ucSolve. It implements a modified version of an algorithm by Fletcher. The line search algorithm uses quadratic and cubic interpolation. Another TOMLAB Base Module routine, preSolve, is running a presolve analysis on a system of linear qualities, linear inequalities and simple bounds. An algorithm by Gondzio, somewhat modified, is implemented in preSolve.
Linear Semi-definite Programming Problem
The linear semi-definite programming problem with linear matrix inequalities (sdp) is defined as
Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{array}{rccccl} \min\limits_{x} & {f(x) = {c^T}x} \\ & \\s/t & x_{L} & \leq & x & \leq & x_{U}\\ & b_{L} & \leq & Ax & \leq & b_{U} \\ & {r}{Q^{i}_0 + Q^{i}_{k}x_{k} \sum{k=1}^{n} \preccurlyeq 0,\qquad i=1,\ldots,m.} \\ \end{array} }
where Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle c, x, x_L, x_U \in \mathbb{R}^n} , Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle A \in \mathbb{R}^{m_l\times n}} , Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle b_L,b_U \in \mathbb{R}^{m_l}} and Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle Q^{i}_{k}} are symmetric matrices of similar dimensions in each constraint Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i} . If there are several LMI constraints, each may have it's own dimension.
Recommended solvers: TOMLAB /PENSDP and TOMLAB /PENBMI.
The linear semi-definite programming problem with bilinear matrix inequalities (bmi) is defined similarly to but with the matrix inequality
Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle Q^{i}_0 + \sum_{k=1}^{n} Q^{i}_{k} x_{k} + \sum_{k=1}^{n} \sum_{l=1}^{n} x_{k}x_{l} K^{i}_{kl} \preccurlyeq 0 }
The MEX solvers pensdp and penbmi treat sdp and bmi problems, respectively. These are available in the TOMLAB /PENSDP and TOMLAB /PENBMI toolboxes.
The MEX-file solver pensdp available in the TOMLAB /PENSDP toolbox implements a penalty method aimed at large-scale dense and sparse sdp problems. The interface to the solver allows for data input in the sparse SDPA input format as well as a TOMLAB specific format corresponding to.
The MEX-file solver penbmi available in the TOMLAB /PENBMI toolbox is similar to pensdp, with added support for the bilinear matrix inequalities.
Solver Routines in TOMLAB
TOMLAB Base Module
TOMLAB includes a large set of optimization solvers. Most of them were originally developed by the Applied Optimization and Modeling group (TOM). Since then they have been improved e.g. to handle Matlab sparse arrays and been further developed. #Table: The optimization solvers in TOMLAB Base Module.. lists the main set of TOM optimization solvers in all versions of TOMLAB.
Table: The optimization solvers in TOMLAB Base Module.
Function | Description |
---|---|
clsSolve | Constrained nonlinear least squares. Handles simple bounds and linear equality and inequality constraints using an active-set strategy. Implements Gauss-Newton, and hybrid quasi-Newton and Gauss-Newton methods. |
conSolve | Constrained nonlinear minimization solver using two different sequential quadratic programming methods. |
cutPlane | Mixed-integer programming using a cutting plane algorithm. |
DualSolve | Solves a linear program with a dual feasible starting point. |
glbSolve | Box-bounded global optimization, using only function values. |
glcCluster | Hybrid algorithm for constrained mixed-integer global optimization. Uses a combination of glcFast (DIRECT) and a clustering algorithm. |
glcSolve | Global mixed-integer nonlinear programming, using no derivatives. |
infSolve | Constrained minimax optimization. Reformulates problem and calls any suitable nonlinear solver. |
lpSimplex | Linear programming using a simplex algorithm. |
MilpSolve | Mixed-integer programming using branch and bound. |
multiMin | General constrained mixed-integer global optimization problems. |
multiMINLP | General constrained mixed-integer global optimization problems where the number of integer combinations nMax is huge and relaxation of the integer constraint is possible. |
L1Solve | Constrained L1 optimization. Reformulates problem and calls any suitable nonlinear solver. |
mipSolve | Mixed-integer programming using a branch-and-bound algorithm. |
nlpSolve | Constrained nonlinear minimization solver using a filter SQP algorithm. |
pdcoTL | Linearly constrained nonlinear minimization solver using a primal- dual barrier algorithm. |
pdscoTL | Linearly constrained nonlinear minimization solver using a primal- dual barrier algorithm, for separable functions. |
qpSolve | Non-convex quadratic programming. |
slsSolve | Sparse constrained nonlinear least squares. Reformulates problem and calls any suitable sparse nonlinear solver. |
sTrustr | Constrained convex optimization of partially separable functions, using a structural trust region algorithm. |
ucSolve | Unconstrained optimization with simple bounds on the parameters. Implements Newton, quasi-Newton and conjugate-gradient methods. |
Additional Fortran solvers in TOMLAB are listed in #Table: Additional solvers in TOMLAB.. They are called using a set of MEX-file interfaces developed in TOMLAB.
Table: Additional solvers in TOMLAB.
Function | Description |
---|---|
goalSolve | Solves sparse multi-objective goal attainment problems |
lsei | Dense constrained linear least squares |
qld | Convex quadratic programming |
Tfzero | Finding a zero to f(x) in an interval, x is one-dimensional. |
Tlsqr | Sparse linear least squares. |
Tnnls | Nonnegative constrained linear least squares |
TOMLAB /BARNLP
The add-on toolbox TOMLAB /BARNLP solves large-scale nonlinear programming problems using a sparse primal-dual interior point algorithm, in conjunction with a filter for globalization. The solver package was developed in co-operation with Boeing Phantom Works. The TOMLAB /BARNLP package is described in a separate manual available at http://tomopt.com.
TOMLAB /CGO
The add-on toolbox TOMLAB /CGO solves costly global optimization problems. The solvers are listed in #Table: Additional solvers in TOMLAB /CGO.. They are written in a combination of Matlab and Fortran code, where the Fortran code is called using a set of MEX-file interfaces developed in TOMLAB.
Table: Additional solvers in TOMLAB /CGO.
Function | Description |
---|---|
rbfSolve | Costly constrained box-bounded optimization using a RBF algorithm. |
ego | Costly constrained box-bounded optimization using the Efficient Global Optimization (EGO) algorithm. |
TOMLAB /CONOPT
The add-on toolbox TOMLAB /CONOPT solves large-scale nonlinear programming problems with a feasible path GRG method . The solver package was developed in co-operation with Arki Consulting and Development A/S. The TOMLAB /CONOPT is described in a separate manual available at http://tomopt.com. There is also m-file help available.
TOMLAB /CPLEX
The add-on toolbox TOMLAB /CPLEX solves large-scale mixed-integer linear and quadratic programming prob- lems. The solver package was developed in co-operation with ILOG S.A. The TOMLAB /CPLEX solver package and interface are described in a manual available at http://tomopt.com.
TOMLAB /KNITRO
The add-on toolbox TOMLAB /KNITRO solves large-scale nonlinear programming problems with interior (barrier) point trust-region methods. The solver package was developed in co-operation with Ziena Optimization Inc. The TOMLAB /KNITRO manual is available at http://tomopt.com.
TOMLAB /LGO
The add-on toolbox TOMLAB /LGO solves global nonlinear programming problems. The LGO solver package is developed by Pint´er Consulting Services, Inc. The TOMLAB /LGO manual is available at http://tomopt.com/.
TOMLAB /MINLP
The add-on toolbox TOMLAB /MINLP provides solvers for continuous and mixed-integer quadratic programming
(qp,miqp) and continuous and mixed-integer nonlinear constrained optimization (con, minlp).
All four solvers, written by Roger Fletcher and Sven Leyffer, University of Dundee, Scotland, are available in sparse and dense versions. The solvers are listed in #Table: Solver routines in TOMLAB /MINLP..
The TOMLAB /MINLP manual is available at http://tomopt.com.
Table: Solver routines in TOMLAB /MINLP.
Function | Description |
---|---|
bqpd | Quadratic programming using a null-space method. |
miqpBB | Mixed-integer quadratic programming using bqpd as subsolver. |
filterSQP | Constrained nonlinear minimization using a Filtered Sequential QP method. |
minlpBB | Constrained, mixed-integer nonlinear minimization using a branch- and-bound search scheme. filterSQP is used as NLP solver. |
TOMLAB /MINOS
Another set of Fortran solvers were developed by the Stanford Optimization Laboratory (SOL). #Table: The SOL optimization solvers in TOMLAB /MINOS. lists the solvers included in TOMLAB /MINOS. The solvers are called using a set of MEX-file interfaces developed as part of TOMLAB. All functionality of the SOL solvers are available and changeable in the TOMLAB framework in Matlab.
Table: The SOL optimization solvers in TOMLAB /MINOS.
Function | Description |
---|---|
MINOS 5.51 | Sparse linear and nonlinear programming with linear and nonlin- ear constraints. |
LP-MINOS | A special version of the MINOS 5.5 MEX-file interface for sparse linear programming. |
QP-MINOS | A special version of the MINOS 5.5 MEX-file interface for sparse quadratic programming. |
LPOPT 1.0-10 | Dense linear programming. |
QPOPT 1.0-10 | Non-convex quadratic programming with dense constraint matrix and sparse or dense quadratic matrix. |
TOMLAB /OQNLP
The add-on toolbox TOMLAB /OQNLP uses a multistart heuristic algorithm to find global optima of smooth constrained nonlinear programs (NLPs) and mixed-integer nonlinear programs (MINLPs). The solver package was developed in co-operation with Optimal Methods Inc. The TOMLAB /OQNLP manual is available at http://tomopt.com/
TOMLAB /NLPQL
The add-on toolbox TOMLAB /NLPQL solves dense nonlinear programming problems, multi criteria optimiza- tion problems and nonlinear fitting problems. The solver package was developed in co-operation with Klaus Schittkowski. The TOMLAB /NLPQL manual is available at http://tomopt.com.
TOMLAB /NPSOL
The add-on toolbox TOMLAB /NPSOL is a sub package of TOMLAB /SOL. The package includes the MINOS solvers as well as NPSOL, LSSOL and NLSSOL. The TOMLAB /NPSOL manual is available at http://tomopt.
TOMLAB /PENBMI
The add-on toolbox TOMLAB /PENBMI solves linear semi-definite programming problems with linear and bilinear matrix inequalities. The solvers are listed in #Additional solvers in TOMLAB /PENBMI.. They are written in a combination of Matlab and C code. The TOMLAB /PENBMI manual is available at http://tomopt.com.
Additional solvers in TOMLAB /PENBMI.
Function | Description |
---|---|
penbmi | Sparse and dense linear semi-definite programming using a penalty algorithm. |
penfeas bmi | Feasibility check of systems of linear matrix inequalities, using penbmi. |
TOMLAB /PENSDP
The add-on toolbox TOMLAB /PENSDP solves linear semi-definite programming problems with linear matrix inequalities. The solvers are listed in #Table: Additional solvers in TOMLAB /PENSDP.. They are written in a combination of Matlab and C code. The TOMLAB /PENSDP manual is available at http://tomopt.com.
Table: Additional solvers in TOMLAB /PENSDP.
Function | Description |
---|---|
pensdp | Sparse and dense linear semi-definite programming using a penalty algorithm. |
penfeas_sdp | Feasibility check of systems of linear matrix inequalities, using pensdp. |
TOMLAB /SNOPT
The add-on toolbox TOMLAB /SNOPT is a sub package of TOMLAB /SOL. The package includes the MINOS solvers as well as SNOPT and SQOPT. The TOMLAB /SNOPT manual is available at http://tomopt.com.
TOMLAB /SOL
The extension toolbox TOMLAB /SOL gives access to the complete set of Fortran solvers developed by the Stanford Systems Optimization Laboratory (SOL). These solvers are listed in #Table: The SOL optimization solvers in TOMLAB /MINOS. and #Table: The optimization solvers in the TOMLAB /SOL toolbox..
Table: The optimization solvers in the TOMLAB /SOL toolbox.
Function | Description |
---|---|
NPSOL 5.02 | Dense linear and nonlinear programming with linear and nonlinear constraints. |
SNOPT 6.2-2 | Large, sparse linear and nonlinear programming with linear and nonlinear constraints. |
SQOPT 6.2-2 | Sparse convex quadratic programming. |
NLSSOL 5.0-2 | Constrained nonlinear least squares. NLSSOL is based on NPSOL. No reference except for general NPSOL reference. |
LSSOL 1.05-4 | Dense linear and quadratic programs (convex), and constrained linear least squares problems. |
TOMLAB /SPRNLP
The add-on toolbox TOMLAB /SPRNLP solves large-scale nonlinear programming problems. SPRNLP is a state- of-the-art sequential quadratic programming (SQP) method, using an augmented Lagrangian merit function and safeguarded line search. The solver package was developed in co-operation with Boeing Phantom Works. The TOMLAB /SPRNLP package is described in a separate manual available at http://tomopt.com.
TOMLAB /XA
The add-on toolbox TOMLAB /XA solves large-scale linear, binary, integer and semi-continuous linear program- ming problems, as well as quadratic programming problems. The solver package was developed in co-operation with Sunset Software Technology. The TOMLAB /XA package is described in a separate manual available at http://tomopt.com.
TOMLAB /Xpress
The add-on toolbox TOMLAB /Xpress solves large-scale mixed-integer linear and quadratic programming prob- lems. The solver package was developed in co-operation with Dash Optimization Ltd. The TOMLAB /Xpress solver package and interface are described in the html manual that comes with the installation package. There is also a TOMLAB /Xpress manual available at http://tomopt.com.
Finding Available Solvers
To get a list of all available solvers, including Fortran, C and Matlab Optimization Toolbox solvers, for a certain solvType, call the routine SolverList with solvType as argument. solvType should either be a string ('uc', 'con' etc.) or the corresponding solvType number as given in following #Table: solvProbType. For example, if wanting a list of all available solvers of solvType con, then
SolverList('con')
gives the output
>> SolverList('con'); Tomlab recommended choice for Constrained Nonlinear Programming (NLP) npsol Other solvers for NLP Licensed: nlpSolve conSolve sTrustr constr minos PDCO snopt fmincon filterSQP PDSCO knitro conopt nlpqlp Non-licensed: NONE Solvers also handling NLP Licensed: glcSolve glcFast glcCluster lgo minlpBB ego rbfSolve arbfmip Non-licensed: NONE
SolverList also returns two output arguments: all available solvers as a string matrix and a vector with the corresponding solvType for each solver.
Note that solvers for a more general problem type may be used to solve the problem. In #Table: solvProbType an attempt has been made to classify these relations.
Table: solvProbType
The problem classes (probType) possible to solve with each type of solver (solvType) is marked with an x. When the solver is in theory possible to use, but from a practical point of view is probably not suitable, parenthesis are added (x).
solvType | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
probType | uc | qp | con | ls | lls | cls | mip | lp | glb | glc |
uc | x | x | x | (x) | ||||||
qp | x | x | (x) | |||||||
con | x | (x) | ||||||||
ls | x | x | x | (x) | ||||||
lls | x | x | x | x | x | (x) | ||||
cls | x | x | (x) | |||||||
mip | x | (x) | ||||||||
lp | x | x | x | x | (x) | |||||
glb | (x) | x | x | |||||||
glc | (x) | x | ||||||||
exp | x | x | (x) | x | (x) |