属性

上一节中提到的,大部分的信息与Gurobi关联模型存储在一组属性。一些属性与模型的变量相关联,一些模型的约束,和一些与模型本身。优化模型后,例如,中存储的解决方案X变量属性。属性计算Gurobi优化器(如解决方案属性)直接由用户不能修改,而那些代表输入数据(如属性存储变量下界)可以。

每个Gurobi语言接口包含查询或修改属性值的例程。检索或修改某一特定属性的值,只要属性的名称传递给适当的查询或修改程序。在C接口,例如,你可以打以下电话查询当前解决方案价值变量1:

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

在面向对象的接口,您查询或修改属性值通过适当的对象。例如,如果变量v是一个Gurobi变量对象(一个吗GRBVar),然后下面的调用将用于修改的下界v:

c++: v。集(GRB_DoubleAttr_LB, 0.0) Java: v.set (GRB.DoubleAttr。磅,c# 0.0): v.Set (GRB.DoubleAttr。磅,0.0)或v。磅= 0.0 Python: v.lb = 0.0
查询或修改属性的确切语法略有变化从一种语言到另一个地方,但基本的方法保持一致:您调用适当的查询或修改方法使用所需的属性的名称作为参数。

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