MConstr


MConstr

Gurobi矩阵约束对象。一个MConstr对象是一个类数组的数据结构,它表示多个线性约束(与若干对象,它表示单个约束)。它的行为类似于NumPyndarray例如,它有一个形状,可以被索引和切片。矩阵约束总是与一个特定的模型相关联。您通常使用Model.addConstr,使用重载的比较操作符矩阵变量线性矩阵表达式,或使用该方法Model.addMConstr

约束对象有许多属性。完整的列表可以在属性章节。有些约束属性只能查询,有些则可以设置。回想一下,Gurobi优化器使用了一种延迟更新方法,因此属性的更改直到下一次调用才会生效Model.updateModel.optimize,或Model.write在相关的模型上。

我们应该指出一些关于约束属性的事情。考虑到园艺学会属性。矩阵约束的值mc可以使用mc.rhs.Gurobi库忽略了属性名中的字母大小写,所以它也可以被查询为mc.RHS.属性值作为NumPy返回ndarray它的形状和mc.可以使用标准赋值语句设置属性(例如,若干。rhs = b),b被一个ndarray使用适当的形状或标量,然后应用于所有相关的约束。然而,正如前面提到的,属性修改是以一种惰性方式完成的,因此您不会立即看到更改的效果。并且有些属性无法设置(例如π属性),因此尝试给它们赋新值将引发异常。

你也可以用MConstr.getAttr/MConstr.setAttr访问属性。属性名可以作为字符串传递给这些例程,也可以使用伽马射线爆发。Attr类(例如,GRB.Attr.RHS).



部分