过滤内容,
版本
文本搜索
属性的例子
Gurobi属性处理被设计成正交的,这意味着你只需要使用少量的例程来处理大量的属性。特别是:
- 的名称和含义的各种Gurobi属性保持不变在不同编程语言api,尽管一些装饰在每个语言是必需的。
- 给一个属性的类型(双、整数等)和编程语言你想使用它,你只需要确定合适的常规属性类型的语言来查询或修改属性。
考虑到磅
属性,它抓住了上下界一个变量。你指的是在不同Gurobi api这个属性如下:
语言 | 属性 |
---|---|
C | GRB_DBL_ATTR_LB |
c++ | GRB_DoubleAttr_LB |
Java | GRB.DoubleAttr.LB |
net | GRB.DoubleAttr.LB,或者只是var.LB |
Python | GRB.Attr.LB,或者只是var.lb |
查询该属性的值为一个单独的变量在不同的api,您将执行以下操作:
语言 | 属性查询示例 |
---|---|
C | GRBgetdblattrelement(模型、GRB_DBL_ATTR_LB var_index平均数); |
c++ | var.get(GRB_DoubleAttr_LB) |
Java | var.get(GRB.DoubleAttr.LB) |
net | var.Get(GRB.DoubleAttr.LB),或者只是var.LB |
Python | var.getAttr(GRB.Attr.LB),或者只是var.lb |
api还包括日常查询属性值为多个变量或约束,这是更有效率。
属性是指使用一组枚举
类型在c++、Java和。net(一个enum双值属性,一个用于int-valued属性,等等)。在C和Python,上面列出的名字仅仅是常量字符串值。例如,GRB_DBL_ATTR_LB
在C层定义为:
#定义GRB_DBL_ATTR_LB“磅”在C和Python,您可以选择使用字符串直接当调用属性的方法。如果您希望这样做,注意字符,下划线将被忽略。因此,
MIN_COEFF
和MinCoeff
是等价的。
很重要的一点需要注意是在属性修改懒惰的时尚。修改并不影响模型,直到下一个请求更新或优化模型(GRBupdatemodel或GRBoptimize在C)。
请参考以下部分更详细的例子如何从我们的各种api查询或修改属性:
你也可以浏览我们的例子为了更好地了解如何使用我们的属性界面。部分