# TOMLAB  
# REGISTER (TOMLAB)
# LOGIN  
# myTOMLAB
TOMLAB LOGO

« Previous « Start » Next »

F  Motivation and Background to TOMLAB

Many scientists and engineers are using Matlab  as a modeling and analysis tool, but for the solution of optimization problems, the support is weak. That was one motive for starting the development of TOMLAB ;

To solve optimization problems, traditionally the user has been forced to write a Fortran code that calls some standard solver written as a Fortran subroutine. For nonlinear problems, the user must also write subroutines computing the objective function value and the vector of constraint function values. The needed derivatives are either explicitly coded, computed by using numerical differences or derived using automatic differentiation techniques.

In recent years several modeling languages are developed, like AIMMS [5], AMPL [27], ASCEND [65], GAMS [6, 13] and LINGO [1]. The modeling system acts as a preprocessor. The user describes the details of his problem in a very verbal language; an opposite to the concise mathematical description of the problem. The problem description file is normally modified in a text editor, with help from example files solving the same type of problem. Much effort is directed to the development of more user friendly interfaces. The model system processes the input description file and calls any of the available solvers. For a solver to be accessible in the modeling system, special types of interfaces are developed.

The modeling language approach is suitable for many management and decision problems, but may not always be the best way for engineering problems, which often are nonlinear with a complicated problem description. Until recently, the support for nonlinear problems in the modeling languages has been crude. This is now rapidly changing [21].

For people with a mathematical background, modeling languages often seems to be a very tedious way to define an optimization problem. There has been several attempts to find languages more suitable than Fortran or C/C++ to describe mathematical problems, like the compact and powerful APL language [54, 67]. Nowadays, languages like Matlab  has a rapid growth of users. Matlab  was originally created [59] as a preprocessor to the standard Fortran subroutine libraries in numerical linear algebra, LINPACK [19] and EISPACK [74] [30], much the same idea as the modeling languages discussed above.

Matlab  of today is an advanced and powerful tool, with graphics, animation and advanced menu design possibilities integrated with the mathematics. The Matlab  language has made the development of toolboxes possible, which serves as a direct extension to the language itself. Using Matlab  as an environment for solving optimization problems offers much more possibilities for analysis than just the pure solution of the problem. The increased quality of the Matlab  MEX-file interfaces makes it possible to run Fortran and C-programs on both PC and Unix systems.

The concept of TOMLAB  is to integrate all different systems, getting access to the best of all worlds. TOMLAB  should be seen as a complement to existing model languages, for the user needing more power and flexibility than given by a modeling system.

« Previous « Start » Next »