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)[源代码][源代码]#

使用序列最小二乘编程最小化函数

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

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

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

x0一维浮点数 ndarray

独立变量的初始猜测值。

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。

边界列表,可选

指定每个自变量的下限和上限的元组列表 [(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) )。

参数序列,可选

传递给 func 和 fprime 的额外参数。

iterint, 可选

最大迭代次数。

accfloat, 可选

请求的准确性。

iprintint, 可选

fmin_slsqp 的冗长程度:

  • iprint <= 0 : 静默操作

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

  • iprint >= 2 : 打印每次迭代的进度和总结

dispint, 可选

覆盖 iprint 接口(首选)。

完整输出bool, 可选

如果为 False,则仅返回 func 的最小化器(默认)。否则,输出最终的目标函数和摘要信息。

epsilonfloat, 可选

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

回调可调用,可选

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

返回:
浮点数 ndarray

func 的最终最小化器。

fx如果 full_output 为 true,则为 float 的 ndarray

目标函数的最终值。

它的int, 如果 full_output 为 true

迭代次数。

imodeint, 如果 full_output 为 true

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

smode字符串,如果 full_output 为真

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

参见

minimize

用于多元函数最小化算法的接口。特别参见 ‘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

示例

示例在 教程 中给出。