TOMLAB OPTIMIZATION LOGO TOMLAB OPTIMIZATION AREA top banner
  # LOGIN   # REGISTER (FREE TRIAL)
  # myTOMLAB  
Products
*TOMLAB Base Module
 *Solvers
    clsSolve
    conSolve
    cutPlane
    DualSolve
    expSolve
    glbDirect
    glbFast
    glbSolve
    glcCluster
    glcDirect
    glcFast
    glcSolve
    goalSolve
    infLinSolve
    infSolve
    L1LinSolve
    L1Solve
    linRatSolve
    lpSimplex
    lsei
    milpSolve
    minlpSolve
    mipSolve
    multiMin
    multiMINLP
    nlpSolve
    pdco
    pdsco
    QLD
    qpSolve
    slsSolve
    sTrustr
    Tfmin
    Tfzero
    Tlsqr
    Tnnls
    ucSolve
*TOMLAB /MINOS
*TOMLAB /NPSOL
*TOMLAB /SNOPT
*TOMLAB /SOL
*TOMLAB /CGO
*TOMLAB /Xpress
*TOMLAB /CPLEX
*TOMLAB /GUROBI
*TOMLAB /MINLP
*TOMLAB /PENSDP
*TOMLAB /PENBMI
*TOMLAB /KNITRO
*TOMLAB /OQNLP
*TOMLAB /CONOPT
*TOMLAB /PROPT
*TOMLAB /NLPQL
*TOMLAB /LGO
*TOMLAB /GP
*TOMLAB /GENO
*TOMLAB /MAD
*TOMLAB /AMPL
*TOMLAB /MIPNLP
*TOMLAB /MISQP
*TOMLAB /MIDACO
*TOMLAB /LGO-MINLP
*Coming Products

glbSolve

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.