TOMLAB is a general purpose development environment in MATLAB for
research, teaching and practical solution of optimization problems.
The TOMLAB optimization environment
for MATLAB, compilable with MCC,
is flexible, easy-to-use, robust and reliable for the solution
of most types of applied optimization problems.
TOMLAB has grown out of the need for advanced, robust and reliable tools to be used in the development of
algorithms and software for the solution of many different types of applied optimization problems.
There are many good tools available in the area of numerical analysis, operations research and optimization,
but because of the different languages and systems, as well as a lack of standardization, it is a time consuming
and complicated task to use these tools. Often one has to rewrite the problem formulation, rewrite the function
specifications, or make some new interface routine to make everything work. Therefore the first obvious and basic
design principle in TOMLAB is: Define your problem once, run all available solvers. The system takes care of all
interface problems, whether between languages or due to different demands on the problem specification.
In the process of optimization one sometimes want to graphically view the problem and the solution process,
especially for ill-conditioned nonlinear problems. Sometimes it is not clear what solver is best for the particular
type of problem and tests on different solvers can be of use. In teaching one wants to view the details of the
algorithms and look more carefully at the different algorithmic steps. When developing new algorithms tests on
thousands of problems are necessary to fully access the pros
and cons of the new algorithm. One might want to solve a practical problem very many times, with slightly
different conditions for the run. Or solve a control problem looping in real-time and solving the optimization
problem each time slot.
All these issues and many more are addressed with the TOMLAB optimization environment. TOMLAB gives easy
access to a large set of standard test problems, optimization solvers and utilities. Furthermore, it is easy to define
new problems in the TOMLAB Quick format, and try to solve them using any solver. To use TOMLAB in real-time control, the efficient
MEX-file interfaces calling fast Fortran solvers are of great importance.
TOMLAB supplies Matlab solver algorithms,
as well as many MEX-file
interfaces to well-known state-of-the-art
optimization software in the areas that TOMLAB covers.
The external solvers are distributed as compiled binary MEX DLLs on PC-systems,
and compiled MEX library files on Unix and other systems.
The TOMLAB Base Module includes all Matlab code
and a set of Mex file solvers.
Additional solver capacity is available by adding one or more
The well-known state-of-the-art solvers from the Stanford
Systems Optimization Laboratory (SOL) are available as
four different toolbox options,
see the list of products. TOMLAB /SOL was written by Professor Kenneth Holmström,
in cooperation with the Systems Optimization Laboratory (SOL) at Stanford
and UC San Diego.
All Stanford solvers are included in the
TOMLAB /SOL toolbox, the
most popular choice among TOMLAB users.
Note that the extra solvers also are utilized as sub solvers
by the Matlab solvers, giving extra speed and robustness.
Another bundle is available as the
TOMLAB /MINLP toolbox.
The four solvers are developed by Roger Fletcher and Sven Leyffer
at the University of Dundee.
The solvers solve QP, NLP, mixed-integer quadratic and mixed-integer
nonlinear problems. They are available in both dense and sparse
versions in the distribution.
The problem of solving optimization problems, where the functions
are very costly (CPU-intensive) and it is hard to
obtain any derivative information, is addressed in the
TOMLAB /CGO toolbox.
The toolbox includes two new solvers
for costly global optimization,
which are possible to mix together in the solution process.
Semidefinite programming and constraints formulated as linear matrix
inequalities (LMIs) are solved by the PENSDP solver
TOMLAB /PENSDP toolbox.
The TOMLAB /CPLEX
brings state-of-the-art mixed-integer
linear and quadratic programming into Matlab,
as large-scale simplex and barrier methods for linear
and quadratic programming.
Usable in e.g. advanced financial applications.
TOMLAB is compatible
with the MathWorks Optimization Toolbox 3.0 (see how
but solves more types of optimization problems,
and faster and more robust.