MConstr
MConstr
Gurobi矩阵约束对象。一个MConstr
对象是一个类数组的数据结构,它表示多个线性约束(与若干对象,它表示单个约束)。它的行为类似于NumPyndarray
例如,它有一个形状,可以被索引和切片。矩阵约束总是与一个特定的模型相关联。您通常使用Model.addConstr,使用重载的比较操作符矩阵变量和线性矩阵表达式,或使用该方法Model.addMConstr.
约束对象有许多属性。完整的列表可以在属性章节。有些约束属性只能查询,有些则可以设置。回想一下,Gurobi优化器使用了一种延迟更新方法,因此属性的更改直到下一次调用才会生效Model.update,Model.optimize,或Model.write在相关的模型上。
我们应该指出一些关于约束属性的事情。考虑到园艺学会
属性。矩阵约束的值mc
可以使用mc.rhs
.Gurobi库忽略了属性名中的字母大小写,所以它也可以被查询为mc.RHS
.属性值作为NumPy返回ndarray
它的形状和mc
.可以使用标准赋值语句设置属性(例如,若干。rhs = b
),b
被一个ndarray
使用适当的形状或标量,然后应用于所有相关的约束。然而,正如前面提到的,属性修改是以一种惰性方式完成的,因此您不会立即看到更改的效果。并且有些属性无法设置(例如π
属性),因此尝试给它们赋新值将引发异常。
你也可以用MConstr.getAttr/MConstr.setAttr访问属性。属性名可以作为字符串传递给这些例程,也可以使用伽马射线爆发。Attr类(例如,GRB.Attr.RHS
).
部分