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为更多的信息。