scipy.optimize.

LinearConstraint#

class scipy.optimize.LinearConstraint(A, lb=-inf, ub=inf, keep_feasible=False)[源代码]#

变量上的线性约束。

约束具有以下一般不等式形式

lb <= A.dot(x) <= ub

此处,自变量 x 的向量作为形状为 (n,) 的 ndarray 传递,矩阵 A 的形状为 (m, n)。

可以使用相等边界来表示等式约束,或者使用无限边界来表示单侧约束。

参数:
A{array_like, 稀疏矩阵}, 形状 (m, n)

定义约束的矩阵。

lb, ub稠密 array_like, 可选

约束的下限和上限。每个数组必须具有形状 (m,) 或为标量,在后一种情况下,边界对于约束的所有分量都相同。使用 np.inf 并带有适当的符号来指定单侧约束。设置 lbub 的分量相等以表示等式约束。请注意,您可以通过根据需要设置 lbub 的不同分量来混合不同类型的约束:区间、单侧或等式。默认为 lb = -np.infub = np.inf (无限制)。

keep_feasiblebool 类型的稠密 array_like, 可选

是否在整个迭代过程中保持约束分量的可行性。单个值会为所有分量设置此属性。默认值为 False。对等式约束无效。

方法

residual(x)

计算约束函数与限制之间的残差