属性


属性

如前一节所述,与Gurobi模型关联的大部分信息存储在一组属性.一些属性与模型的变量相关联,一些属性与模型的约束相关联,还有一些属性与模型本身相关联。例如,在优化模型之后,解决方案将存储在X变量属性。由Gurobi优化器计算的属性(如解决方案属性)不能由用户直接修改,而表示输入数据的属性(如属性,该属性存储变量下界)可以。

每个Gurobi语言接口都包含查询或修改属性值的例程。要检索或修改特定属性的值,只需将属性的名称传递给适当的查询或修改例程。例如,在C接口中,您可以执行以下调用来查询变量1的当前解决方案值:

双x1;error = grbgetdbltrelement(模型,GRB_DBL_ATTR_X, 1, &x1);
这个例程从包含双精度数据的数组值属性返回一个元素。提供了查询和修改类型的标量值和数组值属性的例程int字符,或char *

在面向对象的接口中,您可以通过适当的对象查询或修改属性值。例如,if变量v是一个Gurobi变量对象(aGRBVar),然后使用下面的调用来修改上的下限v

c++: v.set(GRB_DoubleAttr_LB, 0.0)c#: v.Set(GRB.DoubleAttr, 0.0)磅,0.0) or v.LB = 0.0 Python: v.lb = 0.0
查询或修改属性的确切语法因语言的不同而略有不同,但基本方法保持一致:使用所需属性的名称作为参数调用适当的查询或修改方法。

完整的Gurobi属性列表可以在属性部分的Gurobi参考手册