当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy optimize.fmin_slsqp用法及代码示例


本文简要介绍 python 语言中 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)#

使用顺序最小二乘法最小化函数

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

参数

func 可调用 f(x,*args)

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

x0 浮点数的一维数组

自变量的初始猜测。

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),可选

返回一个 1-D 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 浮点数

func 的最终最小化器。

fx 浮点数数组,如果 full_output 为真

目标函数的最终值。

its 整数,如果 full_output 为真

迭代次数。

imode 整数,如果 full_output 为真

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

smode 字符串,如果 full_output 为真

说明优化器退出模式的消息。

注意

退出模式定义如下

-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

例子

教程中给出了示例。

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.optimize.fmin_slsqp。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。