MLinExpr
Gurobi线性矩阵表达式对象。一个线性矩阵表达式从算术运算的结果兆乏对象。一个常见的例子是一个矩阵向量乘积,矩阵是一个NumPy ndarray或SciPy Gurobi稀疏矩阵和向量兆乏对象。线性矩阵表达式是用来构建线性目标和约束。他们临时对象,通常短寿命。
你一般使用重载操作符构建线性矩阵表达式,通常由一个二维矩阵(稠密或稀疏)乘以一个一维兆乏使用Python对象矩阵相乘(@
)操作符(例如,expr = @ x
)。你也可以促进一个兆乏
对象一个MLinExpr
使用算术表达式(例如,expr = x + 1
)。支持大多数的算术运算MLinExpr
对象,包括加法和减法(例如,expr = @ x - B @ y
(如),乘以一个常数。expr = 2 * @ x
),逐点与ndarray或稀疏矩阵乘法。一个MLinExpr
对象包含空表达式可以使用创建0方法。
一个MLinExpr
对象有形状
代表它的维度,大小
重要的元素的总数,以及一个ndim
出的数量维度。这些属性依赖同行在NumPy ndarray类。
在处理MLinExpr
对象,您需要确保操作数的形状是兼容的。矩阵乘法,我们遵守规则的Python的矩阵乘法运算符:两个操作数需要至少有一个维度,和他们的内在维度必须同意。有关更多信息,请向Python的文档。manbet体育手机客户端加法和乘法等其他二进制操作简单理解如果两个操作数具有相同的形状:操作应用逐点匹配指数。操作数,有不同的形状,算术遵循NumPy广播的规定。我们请您留意NumPy文档了解更多信息。manbet体育手机客户端
重载操作符的完整列表MLinExpr对象如下:+
,+ =
,- - - - - -
,- =
,*
,* =
,@
。在Python的说法,我们定义以下MLinExpr
功能:__add__
,__radd__
,__iadd__
,__sub__
,__rsub__
,__isub__
,__neg__
,__mul__
,__rmul__
,__imul__
,__matmul__
,__rmatmul__
。
我们也比较运算符重载(= =,< =,> =),使其更容易构建约束线性矩阵表达式。
部分