SNOBFIT

This algorithm combines global and local search by branching and local fits, and can be used to solve the noisy optimization of an expensive objective function.

This planner uses the SQSnobFit library, which needs to be installed if you want to use this algorithm. For more information please visit the SNOBFIT website.

class olympus.planners.Snobfit(goal='minimize', init_guess=None, init_guess_method='random', init_guess_seed=None)[source]
Parameters
  • 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.

ask(return_as=None)

suggest new set of parameters

Parameters

return_as (string) – choose data type for returned parameters allowed options (dict, array)

Returns

newly generated parameters

Return type

ParameterVector

optimize(emulator, num_iter=1, verbose=False)

Optimizes a surface for a fixed number of iterations.

Parameters
  • emulator (object) – Emulator or a Surface instance to optimize over.

  • num_iter (int) – Maximum number of iterations allowed.

  • verbose (bool) – Whether to print information to screen.

Returns

Campaign object with information about the optimization, including all parameters

tested and measurements obtained.

Return type

campaign (Campaign)

recommend(observations=None, return_as=None)

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

Parameters
  • observations (list of ???) –

  • return_as (string) – choose data type for returned parameters allowed options (dict, array)

Returns

newly generated parameters

Return type

list

set_param_space(param_space)

Defines the parameter space over which the planner will search.

Parameters

param_space (ParameterSpace) – a ParameterSpace object defining the space over which to search.

tell(observations=<olympus.campaigns.observations.Observations object>)

Provide the planner with all previous observations.

Parameters

observations (Observations) – an Observation object containing all previous observations. This defines the history of the campaign seen by the planner. The default is None, i.e. there are no previous observations.