scipy.optimize.
LinearConstraint#
- class scipy.optimize.LinearConstraint(A, lb=-inf, ub=inf, keep_feasible=False)[source]#
对变量的线性约束。
约束的一般不等式形式为
lb <= A.dot(x) <= ub
这里,独立变量向量 x 作为形状为 (n,) 的 ndarray 传递,矩阵 A 的形状为 (m, n)。
可以使用相等的边界来表示等式约束,或使用无限边界来表示单侧约束。
- 参数::
- A{array_like, 稀疏矩阵}, 形状 (m, n)
定义约束的矩阵。
- lb, ub密集 array_like, 可选
约束的下限和上限。每个数组必须具有形状 (m,) 或为标量,在后一种情况下,所有约束组件的边界将相同。使用
np.inf
以及适当的符号来指定单侧约束。将 lb 和 ub 的组件设置为相等,以表示等式约束。请注意,您可以通过设置 lb 和 ub 的不同组件来混合不同类型的约束:间隔、单侧或等式。默认值为lb = -np.inf
和ub = np.inf
(无限制)。- keep_feasible密集 array_like of bool, 可选
是否在迭代过程中保持约束组件的可行性。单个值将为所有组件设置此属性。默认值为 False。对等式约束没有影响。
方法
residual
(x)计算约束函数和限制之间的残差