minimize(method=’TNC’)#
- scipy.optimize.minimize(fun, x0, args=(), method=None, jac=None, hess=None, hessp=None, bounds=None, constraints=(), tol=None, callback=None, options=None)
使用截斷牛頓法 (TNC) 演算法最小化一個或多個變數的純量函數。
參見
關於其餘參數的文件,請參閱
scipy.optimize.minimize
- 選項:
- ——-
- epsfloat 或 ndarray
如果 jac 為 None,則為透過正向差分法數值逼近 Jacobian 時使用的絕對步長。
- scalefloat 列表
套用至每個變數的縮放因子。如果為 None,則區間有界變數的因子為 up-low,其他變數為 1+|x]。預設為 None。
- offsetfloat
從每個變數減去的值。如果為 None,則區間有界變數的偏移量為 (up+low)/2,其他變數為 x。
- dispbool
設為 True 以印出收斂訊息。
- maxCGitint
每次主迭代中 hessian*vector 評估的最大次數。如果 maxCGit == 0,則選擇的方向為 -gradient;如果 maxCGit < 0,則 maxCGit 設定為 max(1,min(50,n/2))。預設為 -1。
- etafloat
線搜尋的嚴格程度。如果 < 0 或 > 1,則設定為 0.25。預設為 -1。
- stepmxfloat
線搜尋的最大步長。可能會在呼叫期間增加。如果太小,將設定為 10.0。預設為 0。
- accuracyfloat
有限差分計算的相對精度。如果 <= machine_precision,則設定為 sqrt(machine_precision)。預設為 0。
- minfevfloat
最小函數值估計。預設為 0。
- ftolfloat
停止準則中 f 值的精度目標。如果 ftol < 0.0,則 ftol 設定為 0.0;預設為 -1。
- xtolfloat
停止準則中 x 值的精度目標 (在套用 x 縮放因子之後)。如果 xtol < 0.0,則 xtol 設定為 sqrt(machine_precision)。預設為 -1。
- gtolfloat
停止準則中投影梯度值的精度目標 (在套用 x 縮放因子之後)。如果 gtol < 0.0,則 gtol 設定為 1e-2 * sqrt(accuracy)。不建議將其設定為 0.0。預設為 -1。
- rescalefloat
用於觸發 f 值重新縮放的縮放因子 (以 log10 為單位)。如果為 0,則在每次迭代時重新縮放。如果值很大,則永遠不重新縮放。如果 < 0,則 rescale 設定為 1.3。
- finite_diff_rel_stepNone 或 array_like,選用
如果
jac in ['2-point', '3-point', 'cs']
,則為用於數值逼近 Jacobian 的相對步長。絕對步長計算為h = rel_step * sign(x) * max(1, abs(x))
,可能會調整以符合邊界。對於method='3-point'
,會忽略 h 的符號。如果為 None (預設),則會自動選取步長。- maxfunint
函數評估的最大次數。如果為 None,則 maxfun 設定為 max(100, 10*len(x0))。預設為 None。