我想添加lazy参数并在我用python编写的问题中更改它。当我在http://www.gurobi.com/documentation/7.5/ampl-gurobi/parameters.html阅读有关惰性参数的手册时,它说:
懒: 是否在二元或整数变量问题的线性约束上使用后缀.lazy:
0 =否(忽略.lazy)
1 =是(默认) 惰性约束用.lazy值1,2或3表示,并且在找到对剩余约束可行的解决方案之前被忽略。接下来会发生什么取决于.lazy:
的值1 ==>如果另一个惰性约束切断当前解决方案,则仍然可以忽略约束;
2 ==>如果当前解决方案违反了约束,则此约束将被强制执行;
3 ==>此后,约束将被强制执行。:
我的目标是解救求解器。在许多参数中,懒惰似乎是一个值得尝试的好东西。我找不到一个例子或用例。它是适用于变量或约束还是适用于特定类型的约束。 “.lazy”对应的是什么?
答案 0 :(得分:0)
正如sascha和Erwin所指出的那样,您正在阅读的文档特定于AMPL。
AMPL是一个可用于定义优化问题的平台,与用于解决它们的求解器无关。然后,它将这些规范转换为适合用户选择的求解器的模型。它支持的解决方案之一是Gurobi,因此有一些特定于AMPL和Gurobi组合的文档。
如果您使用Python进行编程,则可能未使用AMPL,因此您可能希望改为使用http://www.gurobi.com/documentation/7.5/refman/lazy.html。
简而言之:"懒惰约束"当完整模型定义需要大量约束时,可以使用这个技巧,但是大多数约束不太可能改变解决方案。在这种情况下,您有时可以通过以下方法提高解决方案的速度:
根据文档,Gurobi仅支持线性约束的惰性选项,但原则上该方法可用于其他类型的约束。