属性


属性

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

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

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

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

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

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