https://blog.csdn.net/jiang425776024/article/details/87885969
官方文档:
https://docs.scipy.org/doc/scipy-0.18.1/reference/tutorial/optimize.html#constrained-minimization-of-multivariate-scalar-functions-minimize
scipy.optimize.minimize()的用法
函数形式:
scipy.optimize.minimize(fun, x0, args=(), method=None, jac=None, hess=None, hessp=None, bounds=None, constraints=(), tol=None, callback=None, options=None)
参数介绍:
fun:目标函数, fun(x,*args)->float, x是一个一维数值shape(n,), args是一个tuple.
x0:初值。ndarray,shape(n,)
args:参数,tuple
method:优化方法,可选。如果缺失,将从 BFGS, L-BFGS-B, SLSQP中选择一个,根据这个问题是否有约束来决定。一般对于有约束的问题,常用SLSQP方法。可选的方法有:
‘Nelder-Mead’
‘Powell’
‘CG’
‘BFGS’
‘Newton-CG’
‘L-BFGS-B’
‘TNC’
‘COBYLA’
‘SLSQP’
‘trust-constr’
‘dogleg’
‘trust-ncg’
‘trust-exact’
‘trust-krylov’
custom - a callable object (added in version 0.14.0), see below for
description.
jac:雅可比矩阵,可选参考。但是对于这些方法: CG, BFGS, Newton-CG, L-BFGS-B, TNC, SLSQP, dogleg, trust-ncg, trust-krylov, trust-exact and trust-constr,是需要的。jac(x, *args) -> array_like, shape (n,)
hess:hessian矩阵,可选。但是对于 Newton-CG, dogleg, trust-ncg, trust-krylov, trust-exact and trust-constr,是必须的。hess(x, *args) -> {LinearOperator, spmatrix, array}, (n, n)
hessp:hessian*p矩阵,可选。但对于:Newton-CG, trust-ncg, trust-krylov, trust-constr,是需要的。如果有