Simplex

GPyOpt does this and that…

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

Nelder-Mead simplex algorithm. Implementation from SciPy.

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

  • disp (bool) – Set to True to print convergence messages.

  • maxiter (int) – Maximum allowed number of iterations. Will default to N*200, where N is the number of variables, if neither maxiter or maxfev is set. If both maxiter and maxfev are set, minimization will stop at the first reached.

  • maxfev (int) – Maximum allowed number of function evaluations. Will default to N*200, where N is the number of variables, if neither maxiter or maxfev is set. If both maxiter and maxfev are set, minimization will stop at the first reached.

  • initial_simplex (array_like of shape (N + 1, N)) – Initial simplex. If given, overrides x0. initial_simplex[j,:] should contain the coordinates of the j-th vertex of the N+1 vertices in the simplex, where N is the dimension.

  • xatol (float, optional) – Absolute error in xopt between iterations that is acceptable for convergence.

  • fatol (number, optional) – Absolute error in func(xopt) between iterations that is acceptable for convergence.

  • adaptive (bool, optional) – Adapt algorithm parameters to dimensionality of problem. Useful for high-dimensional minimization.

  • 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.