Package snobfit :: Module snobfit

Module snobfit

source code

Minimization of a function over a box in R^n.

This software python package SNOBFIT is used to solve the bound constrained (and soft constrained) noisy optimization of an expensive objective function. It combines global and local search by branching and local fits. The package is also made robust and flexible for practical use by allowing for hidden constraints, batch function evaluations, change of search regions, etc.

See more details in Paper: Snobfit - Stable Noisy Optimization by Branch and Fit. WALTRAUD HUYER and ARNOLD NEUMAIER, Universitat Wien

Usage

Usage: s = Snobfit( x, f, dx )
[xbest,fbest, iter] = s.solve( )

History:

  1. Ziwen Fu. 10/22/2008 Directly Translate from snobfit.m ( v2.1 )
  2. Ziwen Fu. 11/10/2008 Python Class version of Snobfit
Classes
  Snobfit
Minimization of a function over a box in R^n
Functions
 
snobfit(func, x0, bounds, p=0.5, dn=5, xglob=None, fglob=0, fac=0, rtol=1e-06, xtol=1e-06, ftol=1e-06, maxiter=2000, maxfun=2000, disp=0, retall=0, isLeastSqrt=False, retuct=False, constraint=None, callback=None, seed=None)
Minimize a function using the Snobfit algorithm with the box bound constrains.
source code
 
test() source code
 
ros(x) source code
 
test_ros()
Rosenbrock
source code
 
hsf18(x) source code
 
hsc18(x) source code
 
test_hsf18() source code
Function Details

snobfit(func, x0, bounds, p=0.5, dn=5, xglob=None, fglob=0, fac=0, rtol=1e-06, xtol=1e-06, ftol=1e-06, maxiter=2000, maxfun=2000, disp=0, retall=0, isLeastSqrt=False, retuct=False, constraint=None, callback=None, seed=None)

source code 

Minimize a function using the Snobfit algorithm with
the box bound constrains.

Description:
------------
Uses a Snobfit algorithm to find the minimum of function
of one or more variables with the [low, high] bounds.

Inputs:
-------
For properly use snobfit function, we must input the follow parameters:
func    the Python function or method to be minimized.
x0      the initial guess.
bounds  the box boundary, it is a list of (lowBounds, highBounds).

Outputs:
--------
xopt    minimizer of function.
fopt    value of function at minimum: fopt = func(xopt).
ncall   number of iterations.

Additional Inputs:
------------------
p        probability of generating a evaluation point of Class 4.
fac      Factor for multiplicative perturbation of the data.
fglob    the user specified global function value.
xglob    the user specified global minimum.
rtol     a relative error
xtol     acceptable relative error in xopt for convergence.
ftol     acceptable relative error in func(xopt) for convergence.
maxiter  the maximum number of iterations to perform.
maxfun   the maximum number of function evaluations.
disp     non-zero if fval and warnflag outputs are desired.
retall   non-zero to return list of solutions at each iteration.
callback an optional user-supplied function to call after each iteration.
         It is called as callback(n,xbest,fbest,improved)
isLeastSqrt the minimisation uses the least-squares function or not.
retuct   Return the uncertainty the fitting parameters or not?