minimize(method=’L-BFGS-B’)#
- scipy.optimize.minimize(fun, x0, args=(), method=None, jac=None, hess=None, hessp=None, bounds=None, constraints=(), tol=None, callback=None, options=None)
使用 L-BFGS-B 算法最小化一个或多个变量的标量函数。
另请参阅
有关其余参数的文档,请参阅
scipy.optimize.minimize
- 选项:
- ——-
- dispNone 或 int
已弃用的选项,之前用于控制问题求解期间在屏幕上打印的文本。现在,代码不会发出任何输出,此关键字没有任何功能。
自版本 1.15.0 起弃用: 此关键字已弃用,将从 SciPy 1.17.0 中删除。
- maxcorint
用于定义有限内存矩阵的最大变量度量校正数。(有限内存 BFGS 方法不存储完整的黑塞矩阵,而是使用这么多项对其进行近似。)
- ftolfloat
当
(f^k - f^{k+1})/max{|f^k|,|f^{k+1}|,1} <= ftol
时,迭代停止。- gtolfloat
当
max{|proj g_i | i = 1, ..., n} <= gtol
时,迭代将停止,其中proj g_i
是投影梯度的第 i 个分量。- epsfloat 或 ndarray
如果 jac 为 None,则使用向前差分数值逼近雅可比矩阵的绝对步长。
- maxfunint
最大函数求值次数。请注意,由于通过数值微分评估梯度,此函数可能会违反此限制。
- maxiterint
最大迭代次数。
- iprintint, 可选
已弃用的选项,之前用于控制问题求解期间在屏幕上打印的文本。现在,代码不会发出任何输出,此关键字没有任何功能。
自版本 1.15.0 起弃用: 此关键字已弃用,将从 SciPy 1.17.0 中删除。
- maxlsint, 可选
最大线搜索步骤数(每次迭代)。默认为 20。
- finite_diff_rel_stepNone 或 array_like, 可选
如果
jac 在 ['2-point', '3-point', 'cs']
中,则用于数值逼近雅可比矩阵的相对步长。绝对步长计算为h = rel_step * sign(x) * max(1, abs(x))
,可能会调整以适合边界。对于method='3-point'
,忽略 h 的符号。如果为 None(默认),则自动选择步长。
注意
选项 ftol 通过
scipy.optimize.minimize
接口公开,但直接调用scipy.optimize.fmin_l_bfgs_b
会直接公开 factr。两者之间的关系是ftol = factr * numpy.finfo(float).eps
。即,factr 乘以默认的机器浮点精度以得出 ftol。