过滤内容,
版本
文本搜索
GRBCallback: addCut ()
添加一个剖切面MIP模型在一个回调函数。注意,这个方法只能当调用在哪里
成员变量等于GRB_CB_MIPNODE(见回调代码部分获取更多信息)。
切割branch-and-cut的飞机可以添加在任何节点树。然而,他们应该添加很少,因为它们的大小增加松弛模型,该模型解决了在每个节点,可以显著降低节点处理速度。
减少飞机通常用于切断放松当前的解决方案。在当前节点检索放松的解决方案,你应该第一个电话getNodeRel。
你应该考虑设置参数PreCrush值1当添加自己的削减。这个设置关闭了几个presolve减少,有时可以防止你被应用于presolved模型(这将导致你的削减是默默地忽略)。
注意,减少飞机添加通过这种方法真正必须削减飞机——他们可以切断连续的解决方案,但他们可能不切断整数解,尊重原始模型的约束。忽略这一限制将导致错误的解决方案。
无效 | addCut( | const GRBLinExpr& | lhsExpr, |
字符 | 意义上说, | ||
双 | rhsVal) |
参数:
lhsExpr新剖切面:左边的表达式。
感觉:对新剖切面(GRB_LESS_EQUAL,GRB_EQUAL,或GRB_GREATER_EQUAL)。
rhsVal新剖切面:右边的值。
无效 | addCut( | GRBTempConstr& | tc) |
参数:
tc:临时约束对象,使用重载比较运算符创建。看到GRBTempConstr为更多的信息。