scipy.optimize.

fmin_slsqp#

scipy.optimize.fmin_slsqp(func, x0, eqcons=(), f_eqcons=None, ieqcons=(), f_ieqcons=None, bounds=(), fprime=None, fprime_eqcons=None, fprime_ieqcons=None, args=(), iter=100, acc=1e-06, iprint=1, disp=None, full_output=0, epsilon=1.4901161193847656e-08, callback=None)[source]#

使用循序最小平方規劃法最小化函數

最初由 Dieter Kraft 實作的 SLSQP 最佳化子常式的 Python 介面函數。

參數:
func可呼叫物件 f(x,*args)

目標函數。必須回傳一個純量值。

x0float 的 1-D ndarray

自變數的初始猜測值。

eqconslist,選用

長度為 n 的函數列表,在成功最佳化的問題中,eqcons[j](x,*args) == 0.0。

f_eqcons可呼叫物件 f(x,*args),選用

回傳一個 1-D 陣列,在成功最佳化的問題中,每個元素必須等於 0.0。如果指定了 f_eqcons,則會忽略 eqcons。

ieqconslist,選用

長度為 n 的函數列表,在成功最佳化的問題中,ieqcons[j](x,*args) >= 0.0。

f_ieqcons可呼叫物件 f(x,*args),選用

回傳一個 1-D 陣列,在成功最佳化的問題中,每個元素必須大於或等於 0.0。如果指定了 f_ieqcons,則會忽略 ieqcons。

boundslist,選用

指定每個自變數下限和上限的元組列表 [(xl0, xu0),(xl1, xu1),...]。無限值將被解釋為大的浮點數值。

fprime可呼叫物件 f(x,*args),選用

一個評估 func 偏導數的函數。

fprime_eqcons可呼叫物件 f(x,*args),選用

形式為 f(x, *args) 的函數,其回傳 m 乘 n 的等式約束法向量陣列。如果未提供,法向量將被近似。fprime_eqcons 回傳的陣列大小應為 ( len(eqcons), len(x0) )。

fprime_ieqcons可呼叫物件 f(x,*args),選用

形式為 f(x, *args) 的函數,其回傳 m 乘 n 的不等式約束法向量陣列。如果未提供,法向量將被近似。fprime_ieqcons 回傳的陣列大小應為 ( len(ieqcons), len(x0) )。

argssequence,選用

傳遞給 func 和 fprime 的額外參數。

iterint,選用

最大迭代次數。

accfloat,選用

要求的準確度。

iprintint,選用

fmin_slsqp 的詳細程度

  • iprint <= 0 : 靜默操作

  • iprint == 1 : 完成時印出摘要 (預設)

  • iprint >= 2 : 印出每次迭代的狀態和摘要

dispint,選用

覆寫 iprint 介面 (建議使用)。

full_outputbool,選用

如果為 False,則僅回傳 func 的最小化器 (預設)。否則,輸出最終目標函數和摘要資訊。

epsilonfloat,選用

有限差分導數估計的步長。

callback可呼叫物件,選用

在每次迭代後呼叫,形式為 callback(x),其中 x 是目前的參數向量。

回傳值:
outfloat 的 ndarray

func 的最終最小化器。

fxfloat 的 ndarray,如果 full_output 為 true

目標函數的最終值。

itsint,如果 full_output 為 true

迭代次數。

imodeint,如果 full_output 為 true

最佳化器的退出模式 (請參閱下方)。

smodestring,如果 full_output 為 true

描述最佳化器退出模式的訊息。

參見

minimize

多變數函數最小化演算法的介面。特別參見 ‘SLSQP’ 方法

註解

退出模式定義如下

  • -1 : 需要梯度評估 (g & a)

  • 0 : 最佳化成功終止

  • 1 : 需要函數評估 (f & c)

  • 2 : 等式約束比自變數還多

  • 3 : LSQ 子問題中迭代次數超過 3*n

  • 4 : 不等式約束不相容

  • 5 : LSQ 子問題中的奇異矩陣 E

  • 6 : LSQ 子問題中的奇異矩陣 C

  • 7 : 秩虧等式約束子問題 HFTI

  • 8 : 線搜尋的正向導數

  • 9 : 達到迭代限制

範例

範例在教學文件中提供。