optimize API reference#

Optimizers#

class optimize.neldermead.IterativeNelderMead(obj=None, alpha=1.0, gamma=2.0, sigma=0.5, delta=0.5, xtol_rel=1e-06, ftol_rel=1e-06, n_iterations=None, no_improve_break=3, penalty=1000000.0, max_f_evals=None, initial_scale_factor=0.5, obj_args=None, obj_kwargs=None, maximize=False)#

Bases: object

An iterative Nelder-Mead optimizer for high-dimensional parameter spaces.

Construct the iterative Nelder-Mead optimizer.

Parameters
  • obj (callable, optional) – The objective to call. Defaults to None and must be set later.

  • alpha (float, optional) – Nelder-Mead hyper-parameter. Defaults to 1.0.

  • gamma (float, optional) – Nelder-Mead hyper-parameter. Defaults to 2.0.

  • sigma (float, optional) – Nelder-Mead hyper-parameter. Defaults to 0.5.

  • delta (float, optional) – Nelder-Mead hyper-parameter. Defaults to 0.5.

  • xtol (float, optional) – The relative x tolderance for convergence. Defaults to 1E-8.

  • ftol (float, optional) – The relative f tolerance for convergence. Defaults to 1E-8.

  • n_iterations (int, optional) – The number of iterations. Defaults to len(p0).

  • no_improve_break (int, optional) – The number of times in a row the solver must converge before actually breaking. Defaults to 3.

  • penalty (float, optional) – The penalty to add to the objective for each BoundedParameter. Defaults to 1E6.

  • max_f_evals (float, optional) – The maximum number of f evaluations. Defaults to 500 * len(p0).

  • initial_scale_factor (float or str, optional) – A scale factor to initiate the initial simplex. Defaults to 0.5.

  • obj_args (tuple, optional) – Additional argument

initialize_parameters(p0, lower_bounds=None, upper_bounds=None, parameter_names=None, vary=None)#

Initialize the remaining solver options with the initial parameters.

Parameters
  • p0 (Parameters or np.ndarray) – The initial parameters.

  • lower_bounds (np.ndarray, optional) – The lower bounds if using numpy vectors.

  • upper_bounds (np.ndarray, optional) – The upper bounds if using numpy vectors.

  • parameter_names (np.ndarray, optional) – The parameter names if using numpy vectors.

  • vary (np.ndarray, optional) – An array of ones and zeros of whether or not to vary that parameter if using numpy vectors.

initialize_simplex()#

Initialize the initial full simplex.

penalize(pars, f)#

Penalize the objective function for bounded parameters.