Simplex¶
GPyOpt does this and that…
-
class
olympus.planners.
Simplex
(goal='minimize', disp=False, maxiter=None, maxfev=None, initial_simplex=None, xatol=0.0001, fatol=0.0001, adaptive=False, init_guess=None, init_guess_method='random', init_guess_seed=None)[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.
-
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.