GRBCallback.addLazy ()
GRBCallback.addLazy ()
从回调函数中向MIP模型添加惰性约束。请注意,此方法只能在在哪里
成员变量等于伽马射线爆发。CB_MIPNODE
或伽马射线爆发。CB_MIPSOL
(见回调代码更多信息请参见参考手册中的部分)。
当MIP模型的全部约束集太大而无法显式表示时,通常使用惰性约束。通过只包括在分支-切割搜索过程中发现的解实际上违反的约束,有时可以找到一个已证明的最优解,而只添加整个约束集的一小部分。
通常可以通过首先查询当前节点解决方案(通过调用)来添加惰性约束getSolution从一个伽马射线爆发。CB_MIPSOL
回调,或者getNodeRel从一个伽马射线爆发。CB_MIPNODE
回调),然后调用addLazy ()
添加一个约束来截断解决方案。古罗比保证,你将有机会切断任何可能被认为可行的解决方案。
你的回调应该准备切断违反任何懒惰约束的解决方案,包括那些已经添加的。节点解决方案通常会遵守前面添加的惰性约束,但并不总是这样。
注意,您必须设置LazyConstraints参数,如果你想使用延迟约束。
无效 | addLazy( | GRBLinExpr | lhsExpr, |
字符 | 意义上说, | ||
双 | rhs) |
-
参数:
lhsExpr:左侧表达式表示新的惰性约束。
感觉:对新的惰性约束的感知(伽马射线爆发。LESS_EQUAL,伽马射线爆发。平等的,或伽马射线爆发。GREATER_EQUAL).
园艺学会:新懒惰约束的右边值。