UpdateMode


UpdateMode

更改延迟更新的行为
类型: int
默认值: 1
最小值: 0
最大值: 1

确定如何处理新添加的变量和线性约束。默认设置(1)允许您立即使用新的变量和约束来构建或修改模型。设置为0需要调用更新才能使用它们。

由于绝大多数程序从不查询Gurobi以获取它们构建的优化模型的详细信息,因此默认设置通常不需要调用更新,甚至了解我们的细节懒惰的更新处理模型修改的方法。但是,当您试图查询修改后的模型信息时,这些细节将会显示出来。

在Gurobi接口中,模型修改(绑定更改、右侧更改、目标更改等)被放置在一个队列中。这些排队的修改在三次应用于模型:调用时更新,当你打电话时优化或者当你打电话的时候将模型写入磁盘。当您查询关于模型的信息时,结果将依赖于两者是否这些信息被修改了这是修改后的。特别是,如果修改在队列中,您将获得修改之前的结果。方法的值独立于此延迟更新行为UpdateMode参数。

将参数更改为0的唯一潜在好处是,在特殊情况下,该设置可能允许simplex在模型修改后更积极地使用暖启动信息。

如果希望更改此参数,则需要在创建Gurobi环境后立即设置它。

注意你仍然需要打电话更新修改SOS约束、二次约束或一般约束上的属性。

关于如何从不同的api中查询或修改参数值的示例,请参考我们的参数的例子