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=np.float64(1.4901161193847656e-08), callback=None)[source]#

最小化使用顺序最小二乘规划的函数

Python 接口函数,用于 Dieter Kraft最初实现的 SLSQP 优化子例程。

参数:
func可调用 f(x,*args)

目标函数。必须返回一个标量。

x0浮点的 1-D nd数组

自变量的初始猜测。

eqcons列表,可选

长度为 n 的函数组成的列表,其中 eqcons[j](x,*args) == 0.0 表示优化问题已成功解决。

f_eqcons可调用 f(x,*args),可选

返回一维数组,若优化问题已成功解决,则数组中各元素都必须等于 0.0。如果指定了 f_eqcons,则忽略 eqcons。

ieqcons列表,可选

长度为 n 的函数组成的列表,其中 ieqcons[j](x,*args) >= 0.0 表示优化问题已成功解决。

f_ieqcons可调用 f(x,*args),可选

返回一维 ndarray 数组,若优化问题已成功解决,则数组中各元素都必须大于或等于 0.0。如果指定了 f_ieqcons,则忽略 ieqcons。

bounds列表,可选

元组列表,用于确定各自变量的下限和上限 [(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) ) 的尺寸进行定型。

args序列,可选

传递给 func 和 fprime 的附加参数。

iter整数,可选

最大迭代次数。

acc浮点数,可选

所需精度。

iprint整数,可选

fmin_slsqp 的详细程度

  • iprint <= 0 : 静默操作

  • iprint == 1 : 完成后打印摘要 (默认)

  • iprint >= 2 : 打印各次迭代的状态和摘要

disp整数,可选

覆盖 iprint 接口 (更推荐)。

full_output布尔值,可选

若为 False,则仅返回 func 的最小值 (默认)。否则,输出最终目标函数以及摘要信息。

epsilon浮点数,可选

有限差分导数估计的步长。

callback可调用,可选

每次迭代后调用,形式为 callback(x),其中 x 是当前的参数向量。

返回值:
out浮点ndarray

func的最终最小化器。

fx浮点ndarray,如果full_output为真

目标函数的最终值。

itsint,如果full_output为真

迭代次数。

imodeint,如果full_output为真

从优化器退出的模式(见下文)。

smode字符串,如果full_output为真

描述从优化器退出的模式的消息。

另请参阅

最小化

多变量函数的最小化算法的接口。特别是参见‘SLSQP’方法

注释

退出模式的定义如下

-1 : Gradient evaluation required (g & a)
 0 : Optimization terminated successfully
 1 : Function evaluation required (f & c)
 2 : More equality constraints than independent variables
 3 : More than 3*n iterations in LSQ subproblem
 4 : Inequality constraints incompatible
 5 : Singular matrix E in LSQ subproblem
 6 : Singular matrix C in LSQ subproblem
 7 : Rank-deficient equality constraint subproblem HFTI
 8 : Positive directional derivative for linesearch
 9 : Iteration limit reached

示例

示例在教程中给出