SNOBFIT

SNOBFIT (Stable Noisy Optimization by Branch and FIT) is a MATLAB 6 package for the robust and fast solution of noisy optimization problems with continuous variables varying within bound, possibly subject to additional soft constraints. Discrete variables are not supported.

Objective function values must be provided by a file-based interface; care is taken that the optimization proceeds reasonably even when the interface produces noisy or even occasionally undefined results (hidden constraints). The interface makes it possible to use SNOBFIT with new data entered by hand, or by any automatic or semiautomatic experimental system.

This makes SNOBFIT very suitable for applications to the selection of continuous parameter settings for simulations or experiments, performed with the goal of optimizing some user-specified criterion. Since multiple data points can be entered, SNOBFIT can take advantage of parallel function evaluations.

The method combines a branching strategy to enhance the chance of finding a global minimum with a sequential quadratic programming method based on fitted quadratic models to have good local properties. Various safeguards address many possible pitfalls that may arise in practical applications, for which most other optimization routines are ill-prepared. Soft constraints are taken care of by a new penalty-type method with strong theoretical properties.

In order to use SNOBFIT, one needs the MINQ bound-constrained quadratic programming package.

The gzipped tar file snobfit_v2.1.tar.gz (319K) contains the Matlab source code, drivers, test examples for Version 2.1 (2007), and the paper

This paper describes the usage of the package and the method implemented. Please quote this paper when using this package in scientific work.

(The gzipped tar files snobfit_v1.tar.gz (200K) and snobfit_v2.tar.gz (292K) contains the Matlab source code, drivers, test examples and documentation for the obsolete Version 1 (2004) and Version 2 (2006). They contain some bugs and should no longer be used.)

There is also a python version of SNOBFIT by Ziwen Fu; this version is not maintained by us.


Global (and Local) Optimization
Statistics Links
Mathematical Software

my home page (http://www.mat.univie.ac.at/~neum)

Arnold Neumaier (Arnold.Neumaier@univie.ac.at)