# myTOMLAB  
*TOMLAB Base Module
*TOMLAB /Xpress
*Coming Products


The Tomlab solver glbSolve.m solves box-bounded global optimization problems using only function values. The algorithm implemented is an improved version of the Jones et al. DIRECT algorithm.

In comparative tests glbSolve.m has shown to perform very well on standard test problems. The Applied Optimization and Modeling group (TOM) freely distributes an early version of glbSolve.m, written in pure Matlab code as a stand-alone version called gblSolve.m. The current Tomlab version is more efficient implementation, as seen in the CPU time test below. The difference is more striking, the more function evaluations are needed. This is especially important if accuracy is needed or the dimension of the problem is larger.

Comparison between the Tomlab version and the free version of glbSolve

The tests are made on a Dell Dimension 733 MHz running Matlab 6.0.0. All problems are part of the standard Tomlab distribution. The Problem Number is the corresponding Tomlab test problem number in the file glb_prob.m. The solvers are running until the global optimum is found with relative accuracy 1E-5 or the number of iterations have reached 500. The timings include a one line per iteration printout.

Test of glbFast and glcFast, new Fortran Mex versions of glbSolve and glcSolve

The test also shows the results for the new Tomlab solver glbFast, which is a Fortran MEX implementation of glbSolve.m. It is order of magnitude faster. The results for glcFast, the Fortran MEX version of glcSolve, are also shown. They solve constrained global optimization problems, but because of a slight change in the DIRECT algorithm, they might be faster for box-bounded problems without constraints. This is often seen for higher dimensional problems.

Note that the fastest way to solve the test problems is to use glcCluster.

Problem Number Problem Name Number of variables Number of function evaluations Number of iterations glbSolve glbFast glcFast
          Tomlab solver Free solver Tomlab Tomlab
          Time in seconds Time in seconds Time (s) Time (s)
9 Schubert 2 3463 138 7.1 7.9 1.8 2.8
11 Sphere model 5 3215 17 4.5 9.8 0.7 0.4
12 Sphere model 10 353889 38 2997 78310 126.7 28.9
14 Griewank 5 45955 500 832 1600 98.8 34.9
21 Michalewicz 10 26965 500 673 1784 64.7 8.7

  Main features:

  • glbSolve implements the algorithm DIRECT by D. R. Jones, C. D. Perttunen and B. E. Stuckman presented in the paper Lipschitzian Optimization Without the Lipschitz Constant, JOTA  Vol. 79, No. 1, October 1993.
  • glbSolve is using the algorithm conhull to return all points on the convex hull, even redundant ones. conhull is based on the algorithm GRAHAMSHULL, pages 108-109 in Computational Geometry by Franco P. Preparata and Michael Ian Shamos.

    Tomlab Optimization © 1989-2016. All rights reserved.    Last updated: Oct 17, 2016. Site map.