The TOMLAB Optimization Environment in Matlab1

The TOMLAB Optimization Environment in Matlab1

AMO - Advanced Modeling and Optimization Volume 1, Number 1, 1999 The TOMLAB Optimization 1 Environment in Matlab 2 Kenneth Holmstrom Center for Mathematical Mo deling, Department of Mathematics and Physics Malardalen University, P.O. Box 883, SE-721 23 Vasteras, Sweden Abstract TOMLAB is a general purp ose, op en and integrated Matlab developmentenvironment 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 typ es of solvers; at the same time having full access to the p ower of Matlab . The design principle is: de ne your problem once, optimize using any suitable solver. In this pap er we discuss the design and contents of TOMLAB, as well as some applications where TOMLAB has b een successfully applied. TOMLAB is based on NLPLIB TB , a Matlab to olb ox for nonlinear programming and pa- rameter estimation, and OPERA TB 1.0 , a Matlab to olb ox for linear and discrete optimization. More than 65 di erent algorithms and graphical utilities are implemented. It is p ossible to call solvers in the Matlab Optimization Toolbox and general-purp ose solvers implemented in For- tran or C using a MEX- le interface. Currently, MEX- le interfaces have b een develop ed for MINOS, NPSOL, NPOPT, NLSSOL, LPOPT, QPOPT and LSSOL. A problem is solved by a direct call to a solver or bya general multi-solver driver routine, or interactively, using a graphical user interface (GUI) or a menu system. If analytical derivatives are not available, automatic di erentiation is easy using an interface to ADMAT/ADMIT TB. Furthermore, ve typ es of numerical di erentiation metho ds are included in NLPLIB TB . A large set of standard test problems are included, as well as example and demonstration les. New user-de ned problems are easily added. Furthermore, using MEX- le interfaces, problems in the CUTE test problem data base and problems de ned in the AMPL mo deling language can b e solved. TOMLAB currently solves small and medium size dense problems, where the available memory is the limit. TOMLAB is free for academic purp oses and down- loadable at our home page. Keywords: Mathematical Programming, Nonlinear Programming, Op erations Research, Matlab, CUTE, AMPL, Graphical User Interface, Software Engineering, Mathematical Software, Optimiza- tion, Algorithms, Nonlinear Least Squares. AMS Sub ject Classi cation: 90C99, 90C30, 90C99 1 Financed bytheMalardalen University Research Board, pro ject Applied Optimization and Modeling (TOM). 2 E-mail: [email protected]; URL: http://www.ima.mdh.se/tom. 47 The TOMLAB Optimization Environmentin Matlab 48 1 Intro duction Many scientists and engineers are using Matlab as a mo deling and analysis to ol, but for the solution of optimization problems, the supp ort is weak. That was one strong motivation for starting the de- velopment of TOMLAB [32,31]; a general-purp ose, op en and integrated developmentenvironment in Matlab for research and teaching in optimization. Another motivation was to provide p owerful to ols for the research on the hard-to-solve applied problems our research group are working on, by systematic development of a large set of usable optimization to ols. This pap er presents the design and contents of TOMLAB. To solve optimization problems, traditionally the user has b een forced to write a Fortran co de that calls some standard solver written as a Fortran subroutine. For nonlinear problems, the user must also write subroutines computing the ob jective function value and the vector of constraint function values. The needed derivatives are either explicitly co ded, computed by using numerical di erences or derived using automatic di erentiation techniques. In recentyears several mo deling languages are develop ed, like AIMMS [5], AMPL [21], ASCEND [49], GAMS [6, 10] and LINGO [1]. The mo deling system acts as a prepro cessor. The user describ es the details of his problem in a very verbal language; an opp osite to the concise mathematical description of the problem. The problem description le is normally mo di ed in a text editor, with help from example les solving the same typ e of problem. Much e ort is directed to the development of more user friendly interfaces. The mo del system pro cesses the input description le and calls any of the available solvers. For a solver to b e accessible in the mo deling system, sp ecial typ es of interfaces are develop ed. The mo deling language approach is suitable for many management and decision problems, but may not always b e the b est way for engineering problems, which often are nonlinear with a complicated problem description. Until recently, the supp ort for nonlinear problems in the mo deling languages has b een crude. This is now rapidly changing [16]. For p eople with a mathematical background, mo deling languages often seems to b e a very tedious way to de ne an optimization problem. There has b een several attempts to nd languages more suitable than Fortran or C/C++ to describ e mathematical problems, like the compact and p owerful APL language [39,50]. Nowadays, languages like Matlab has a rapid growth of users. Matlab was originally develop ed [45] as a prepro cessor to the standard Fortran subroutine libraries in numerical linear algebra, LINPACK [12] and EISPACK [53][22], much the same idea as the mo deling languages discussed ab ove. Matlab of to dayisanadvanced and p owerful to ol, with graphics, animation and advanced menu design p ossibilities integrated with the mathematics. The Matlab language has made the developmentoftoolboxes p ossible, whichserves as a direct extension to the language itself. Using Matlab as an environment for solving optimization problems o ers much more p ossibilities for analysis than just the pure solution of the problem. The concept of TOMLAB is to integrate all di erent systems, getting access to the b est of all worlds. Furthermore TOMLAB provides well-implemented solution algorithms for most common optimization problems. TOMLAB should be seen as a complement to existing mo del languages, for the user needing more p ower and exibilitythangiven by a mo deling system. _ Much e ort has b een put on advanced design utilizing the p ower and features of MatlabThe design principle is: de ne your problem once, optimize using any suitable solver. This is p ossible using general gateway and interface routines, global variables, string evaluations and structure arrays. When solving advanced applied problems, the design principle is of sp ecial imp ortance, as it might be a huge task to rewrite the function, constraint and derivative sp eci cations. A stack strategy for the global variables makes recursive calls p ossible, in e.g. separable nonlinear least squares algorithms. One structure holds all information ab out the problem and one holds the results. For the optimization algorithm develop er and the applied researcher in need of optimization to ols it is very easy to compare di erentsolvers or do test runs on thousands of problems. Atool is provided to automate the tedious work of making computational result tables from test runs, directly making LaTeX tables for inclusion in pap ers. TOMLAB should b e seen as a prop osal for The TOMLAB Optimization Environmentin Matlab 49 a standard for optimization in Matlab. In Sweden TOMLAB has b een used for several years in optimization courses. It is distributed free of charge for academic purp oses. During the rst months since the rst ocial release of TOMLAB, Decemb er 11, 1998, ab out 800 researchers and research groups havedownloaded the software. All users have b een requested to answer what applications they have in mind for TOMLAB,anditis clear that most elds of applied mathematics are represented. So there is an obvious need for go o d optimization to ols in the scienti c community. This pap er is organized as follows. In Section 2 we discuss the design of TOMLAB. Overviews of the two to olb oxes that are part of TOMLAB are given in Section 3 (NLPLIB TB [29]) and Section 4 (OPERA TB [29]). The graphical user interface (GUI) is further discussed in [15, 14]. The MEX- le interfaces to several solvers are discussed in Section 5, and the interface to the Matlab Optimization To olb ox [9] is discussed in Section 6. Currently TOMLAB may run problems de ned in CUTE [8] (Section 7) and AMPL [21] (Section 8). Finally, we end with some conclusions in Section 10. 2 The Design of TOMLAB As the scop e of TOMLAB is large and broad, there is a clear need of a well-designed system. It is also necessary to use the p ower of the Matlab language, to make the system exible and easy to use and maintain. Wehave used the concept of structure arrays and made use of b oth the abilityin Matlab to execute Matlab co de de ned as string expressions and to execute functions sp eci ed by a string. To b e able to live up to the basic design principle of TOMLAB, de ne your problem once, optimize using any suitable solver,very manydi erentinterface routines, as well as several interface layers was needed. It is a dicult task to provide the necessary information for a particular solver, esp ecially when the problem class is just a subset of the class of problems the particular solver is able to handle. Tosolve this design problem in a general and easily expandable way, we use one structure array that holds all information ab out the problem, all input for the solution pro cess.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    23 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us