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]#

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

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

参数:
funccallable f(x,*args)

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

x01-D ndarray of float

自变量的初始猜测。

eqcons列表, 可选

一个长度为 n 的函数列表,使得在成功优化的问​​题中 eqcons[j](x,*args) == 0.0。

f_eqconscallable f(x,*args), 可选

返回一个 1-D 数组,其中每个元素在成功优化的问​​题中必须等于 0.0。如果指定了 f_eqcons,则 eqcons 将被忽略。

ieqcons列表, 可选

一个长度为 n 的函数列表,使得在成功优化的问​​题中 ieqcons[j](x,*args) >= 0.0。

f_ieqconscallable f(x,*args), 可选

返回一个 1-D ndarray,其中每个元素在成功优化的问​​题中必须大于或等于 0.0。如果指定了 f_ieqcons,则 ieqcons 将被忽略。

bounds列表, 可选

一个元组列表,指定每个自变量的下限和上限,例如 [(xl0, xu0),(xl1, xu1),…]。无穷大值将被解释为大的浮点值。

fprimecallable f(x,*args), 可选

一个评估 func 偏导数的函数。

fprime_eqconscallable f(x,*args), 可选

一个形式为 f(x, *args) 的函数,返回 m 行 n 列的等式约束法线数组。如果未提供,法线将被近似计算。fprime_eqcons 返回的数组大小应为 ( len(eqcons), len(x0) )。

fprime_ieqconscallable 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 是当前参数向量。

返回:
outndarray of float

func 的最终最小值。

fxndarray of float, 如果 full_output 为真

目标函数的最终值。

its整数, 如果 full_output 为真

迭代次数。

imode整数, 如果 full_output 为真

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

smode字符串, 如果 full_output 为真

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

另请参阅

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 : 达到迭代限制

示例

示例在 教程中给出