TOMLAB
Encyclopedia
The TOMLAB Optimization Environment is a modeling platform for solving applied optimization problems in MATLAB
.
, CPLEX
, SNOPT
and KNITRO
. Each such solver can be called to solve one single model formulation. The supported solvers are appropriate for many problems, including linear programming
, integer programming
, and global optimization
.
An interface to AMPL
makes it possible to formulate the problem in an algebraic format. The MATLAB Compiler enables the user to build stand-alone solutions. Sister products are available for LabVIEW
and Microsoft .NET.
Modeling is mainly facilitated by the TomSym
class.
MATLAB
MATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...
.
Description
TOMLAB is a general purpose development and modeling environment in MATLAB for research, teaching and practical solution of optimization problems. It enables a wider range of problems to be solved in MATLAB and provides many additional solvers.Optimization problems supported
- TOMLAB handles a wide range of problem types, among them:
- Linear programmingLinear programmingLinear programming is a mathematical method for determining a way to achieve the best outcome in a given mathematical model for some list of requirements represented as linear relationships...
- Quadratic programmingQuadratic programmingQuadratic programming is a special type of mathematical optimization problem. It is the problem of optimizing a quadratic function of several variables subject to linear constraints on these variables....
- Nonlinear programmingNonlinear programmingIn mathematics, nonlinear programming is the process of solving a system of equalities and inequalities, collectively termed constraints, over a set of unknown real variables, along with an objective function to be maximized or minimized, where some of the constraints or the objective function are...
- Mixed-integer programming
- Mixed-integer quadratic programming with or without convexConvex functionIn mathematics, a real-valued function f defined on an interval is called convex if the graph of the function lies below the line segment joining any two points of the graph. Equivalently, a function is convex if its epigraph is a convex set...
quadratic constraints - Mixed-integer nonlinear programming
- Linear and nonlinear least squaresLeast squaresThe method of least squares is a standard approach to the approximate solution of overdetermined systems, i.e., sets of equations in which there are more equations than unknowns. "Least squares" means that the overall solution minimizes the sum of the squares of the errors made in solving every...
with L1Taxicab geometryTaxicab geometry, considered by Hermann Minkowski in the 19th century, is a form of geometry in which the usual distance function or metric of Euclidean geometry is replaced by a new metric in which the distance between two points is the sum of the absolute differences of their coordinates...
, L2Lp spaceIn mathematics, the Lp spaces are function spaces defined using a natural generalization of the p-norm for finite-dimensional vector spaces...
and infinity norm - Exponential data fittingCurve fittingCurve fitting is the process of constructing a curve, or mathematical function, that has the best fit to a series of data points, possibly subject to constraints. Curve fitting can involve either interpolation, where an exact fit to the data is required, or smoothing, in which a "smooth" function...
- Global optimizationGlobal optimizationGlobal optimization is a branch of applied mathematics and numerical analysis that deals with the optimization of a function or a set of functions to some criteria.- General :The most common form is the minimization of one real-valued function...
- Semi-definite programmingSemidefinite programmingSemidefinite programming is a subfield of convex optimization concerned with the optimization of a linear objective functionover the intersection of the cone of positive semidefinite matrices with an affine space, i.e., a spectrahedron....
problem with bilinear matrix inequalities - Constrained goal attainmentGoal programmingGoal programming is a branch of multiobjective optimization, which in turn is a branch of multi-criteria decision analysis , also known as multiple-criteria decision making . This is an optimization programme. It can be thought of as an extension or generalisation of linear programming to handle...
- Geometric programming
- Genetic programmingGenetic programmingIn artificial intelligence, genetic programming is an evolutionary algorithm-based methodology inspired by biological evolution to find computer programs that perform a user-defined task. It is a specialization of genetic algorithms where each individual is a computer program...
- Costly or expensive black-boxBlack boxA black box is a device, object, or system whose inner workings are unknown; only the input, transfer, and output are known characteristics.The term black box can also refer to:-In science and technology:*Black box theory, a philosophical theory...
global optimization - Nonlinear complementarity problemsMixed complementarity problemMixed Complementarity Problem is a problem formulation in mathematical programming. Many well-known problem types are special cases of, or may be reduced to MCP...
- Linear programming
Additional features
- TOMLAB supports more areas than general optimization, for example:
- Optimal controlOptimal controlOptimal control theory, an extension of the calculus of variations, is a mathematical optimization method for deriving control policies. The method is largely due to the work of Lev Pontryagin and his collaborators in the Soviet Union and Richard Bellman in the United States.-General method:Optimal...
with PROPTPROPTThe PROPT MATLAB Optimal Control Software is a new generation platform for solving applied optimal control and parameters estimation problems.The platform was developed by MATLAB Programming Contest Winner, in 2008...
using Gauss and Chebyshev collocation. - Automatic differentiationAutomatic differentiationIn mathematics and computer algebra, automatic differentiation , sometimes alternatively called algorithmic differentiation, is a set of techniques to numerically evaluate the derivative of a function specified by a computer program...
with MAD - Interface to AMPLAMPLAMPL, an acronym for "A Mathematical Programming Language", is an algebraic modeling language for describing and solving high-complexity problems for large-scale mathematical computation AMPL, an acronym for "A Mathematical Programming Language", is an algebraic modeling language for describing and...
- Optimal control
Further details
TOMLAB supports solvers like GurobiGurobi
Gurobi is a commercial software package for solving large-scale linear optimization, quadratic optimization, and mixed-integer optimization problems...
, CPLEX
CPLEX
IBM ILOG CPLEX Optimization Studio is an optimization software package. In 2004, the work on CPLEX earned the first ....
, SNOPT
SNOPT
SNOPT is a software package for solving large-scale optimization problems written by Philip Gill, Walter Murray and Michael Saunders....
and KNITRO
KNITRO
KNITRO is a software package for solving large scale mathematical optimization problems. KNITRO is specialized for nonlinear optimization, but also solves linear programming problems, quadratic programming problems, and systems of nonlinear equations. The unknowns in these problems must be...
. Each such solver can be called to solve one single model formulation. The supported solvers are appropriate for many problems, including linear programming
Linear programming
Linear programming is a mathematical method for determining a way to achieve the best outcome in a given mathematical model for some list of requirements represented as linear relationships...
, integer programming
Integer programming
An integer programming problem is a mathematical optimization or feasibility program in which some or all of the variables are restricted to be integers. In many settings the term refers to integer linear programming, which is also known as mixed integer programming.Integer programming is NP-hard...
, and global optimization
Global optimization
Global optimization is a branch of applied mathematics and numerical analysis that deals with the optimization of a function or a set of functions to some criteria.- General :The most common form is the minimization of one real-valued function...
.
An interface to AMPL
AMPL
AMPL, an acronym for "A Mathematical Programming Language", is an algebraic modeling language for describing and solving high-complexity problems for large-scale mathematical computation AMPL, an acronym for "A Mathematical Programming Language", is an algebraic modeling language for describing and...
makes it possible to formulate the problem in an algebraic format. The MATLAB Compiler enables the user to build stand-alone solutions. Sister products are available for LabVIEW
LabVIEW
LabVIEW is a system design platform and development environment for a visual programming language from National Instruments. LabVIEW provides engineers and scientists with the tools needed to create and deploy measurement and control systems.The graphical language is named "G"...
and Microsoft .NET.
Modeling is mainly facilitated by the TomSym
TomSym
The TomSym MATLAB symbolic modeling engine is a platform for modeling applied optimization and optimal control problems.- Description :TomSym is complete modeling environment in Matlab with support for most built-in mathematical operators in Matlab. It is a combined modeling, compilation and...
class.
External links
- TOMLAB
- The TomSym modeling engine
- MAD (MATLAB Automatic Differentiation)
- AMPL
- PROPT - MATLAB Optimal Control Software