TOMLAB is a general purpose, open and integrated Matlab development environment for research and teaching in optimization on Unix and PC systems. One motivation for TOMLAB is to simplify research on practical optimization problems, giving easy access to all types of solvers; at the same time having full access to the power of Matlab. The design principle is: define your problem once, optimize using any suitable solver. In this paper we discuss the design and contents of TOMLAB, as well as some applications where TOMLAB has been successfully applied. TOMLAB is based on NLPLIB TB, a Matlab toolbox for nonlinear programming and pa rameter estimation, and OPERA TB 1.0, a Matlab toolbox for linear and discrete optimization. More than 65 different algorithms and graphical utilities are implemented. It is possible to call solvers in the Matlab Optimization Toolbox and generalpurpose solvers implemented in Fortran or C using a MEXfile interface. Currently, MEXfile interfaces have been developed for MINOS, NPSOL, NPOPT, NLSSOL, LPOPT, QPOPT and LSSOL. A problem is solved by a direct call to a solver or by a general multisolver driver routine, or interactively, using a graphical user interface (GUI) or a menu system. If analytical derivatives are not available, automatic differentiation is easy using an interface to ADMAT/ADMIT TB. Furthermore, five types of numerical differentiation methods are included in NLPLIB TB. A large set of standard test problems are included, as well as example and demonstration files. New userdefined problems are easily added. Furthermore, using MEXfile interfaces, problems in the CUTE test problem data base and problems defined in the AMPL modeling language can be solved. TOMLAB currently solves small and medium size dense problems, where the available memory is the limit. TOMLAB is free for academic purposes and down loadable at our home page. |