UpdateMode


UpdateMode

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

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

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

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

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

如果您想更改这个参数,您需要在创建Gurobi环境后立即设置它。

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

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