LBFGS

does this and that…

class olympus.planners.Lbfgs(*args, **kwargs)[source]

L-BFGS-B optimizer based on the SciPy implementation.

Parameters
  • goal (str) – The optimization goal, either ‘minimize’ or ‘maximize’. Default is ‘minimize’.

  • disp (None or int) – If disp is None (the default), then the supplied version of iprint is used. If disp is not None, then it overrides the supplied version of iprint with the behaviour you outlined.

  • eps (float) – Step size used for numerical approximation of the jacobian.

  • ftol (float) – The iteration stops when (f^k - f^{k+1})/max{|f^k|,|f^{k+1}|,1} <= ftol.

  • gtol (float) – The iteration will stop when max{|proj g_i | i = 1, …, n} <= gtol where pg_i is the i-th component of the projected gradient.

  • maxcor (int) – The maximum number of variable metric corrections used to define the limited memory matrix. (The limited memory BFGS method does not store the full hessian but uses this many terms in an approximation to it.)

  • maxfun (int) – Maximum number of function evaluations.

  • maxiter (int) – Maximum number of iterations.

  • maxls (int, optional) – Maximum number of line search steps (per iteration).

  • init_guess (array, optional) – initial guess for the optimization

  • init_guess_method (str) – method to construct initial guesses if init_guess is not provided. Choose from: random

  • init_guess_seed (str) – random seed for init_guess_method

Methods

tell([observations])

Provide the planner with all previous observations.

ask([return_as])

suggest new set of parameters

recommend([observations, return_as])

Consecutively executes tell and ask: tell the planner about all previous observations, and ask about the next query point.

optimize(emulator[, num_iter, verbose])

Optimizes a surface for a fixed number of iterations.

set_param_space(param_space)

Defines the parameter space over which the planner will search.