minimize(method=’Powell’)#
- scipy.optimize.minimize(fun, x0, args=(), method=None, jac=None, hess=None, hessp=None, bounds=None, constraints=(), tol=None, callback=None, options=None)
- Minimization of scalar function of one or more variables using the modified Powell algorithm. - Parameters:
- funcallable
- The objective function to be minimized: - fun(x, *args) -> float - where - xis a 1-D array with shape (n,) and- argsis a tuple of the fixed parameters needed to completely specify the function.
- x0ndarray, shape (n,)
- Initial guess. Array of real elements of size (n,), where - nis the number of independent variables.
- argstuple, optional
- Extra arguments passed to the objective function and its derivatives (fun, jac and hess functions). 
- methodstr or callable, optional
- The present documentation is specific to - method='powell', but other options are available. See documentation for- scipy.optimize.minimize.
- boundssequence or Bounds, optional
- Bounds on decision variables. There are two ways to specify the bounds: - Instance of - Boundsclass.
- Sequence of - (min, max)pairs for each element in x. None is used to specify no bound.
 - If bounds are not provided, then an unbounded line search will be used. If bounds are provided and the initial guess is within the bounds, then every function evaluation throughout the minimization procedure will be within the bounds. If bounds are provided, the initial guess is outside the bounds, and direc is full rank (or left to default), then some function evaluations during the first iteration may be outside the bounds, but every function evaluation after the first iteration will be within the bounds. If direc is not full rank, then some parameters may not be optimized and the solution is not guaranteed to be within the bounds. 
- optionsdict, optional
- A dictionary of solver options. All methods accept the following generic options: - maxiterint
- Maximum number of iterations to perform. Depending on the method each iteration may use several function evaluations. 
- dispbool
- Set to True to print convergence messages. 
 - See method-specific options for - method='powell'below.
- callbackcallable, optional
- Called after each iteration. The signature is: - callback(xk) - where - xkis the current parameter vector.
 
- Returns:
- resOptimizeResult
- The optimization result represented as a - OptimizeResultobject. Important attributes are:- xthe solution array,- successa Boolean flag indicating if the optimizer exited successfully and- messagewhich describes the cause of the termination. See- OptimizeResultfor a description of other attributes.
 
 - See also - For documentation for the rest of the parameters, see - scipy.optimize.minimize- Options:
- ——-
- dispbool
- Set to True to print convergence messages. 
- xtolfloat
- Relative error in solution xopt acceptable for convergence. 
- ftolfloat
- Relative error in - fun(xopt)acceptable for convergence.
- maxiter, maxfevint
- Maximum allowed number of iterations and function evaluations. Will default to - N*1000, where- Nis 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.
- direcndarray
- Initial set of direction vectors for the Powell method. 
- return_allbool, optional
- Set to True to return a list of the best solution at each of the iterations.