1、minimize() 函数介绍
在 python 里用非线性规划求极值,最常用的就是 scipy.optimize.minimize()。
[官方介绍点这里](Constrained minimization of multivariate scalar functions)
使用格式是:
scipy.optimize.minimize(fun, x0, args=(), method=None, jac=None, hess=None, hessp=None, bounds=None, constraints=(), tol=None, callback=None, options=None)
其中:
fun:目标函数,返回单值,
x0:初始迭代值,
args:要输入到目标函数中的参数
method:求解的算法,目前可选的有
‘Nelder-Mead’
‘Powell’
‘CG’
‘BFGS’
‘Newton-CG’
‘L-BFGS-B’
‘TNC’
‘COBYLA’
‘SLSQP’
‘dogleg’
‘trust-ncg’
以及在 version 0.14.0,还能自定义算法
以上算法的解释和相关用法见 minimize 函数的官方说明文档,一般求极值多用 'SLSQP'算法
jac:目标函数的雅可比矩阵。可选项,仅适用于CG,BFGS,Newton-CG