GRBCallback::addLazy()


GRBCallback::addLazy()

在回调函数中向MIP模型添加延迟约束。请注意,此方法只能在哪里成员变量等于GRB_CB_MIPNODEGRB_CB_MIPSOL(见回拨码第节了解更多信息)。

当MIP模型的全套约束太大而无法显式表示时,通常使用惰性约束。通过只包含分支和切割搜索期间发现的解决方案实际违反的约束,有时可以找到经验证的最佳解决方案,同时只添加一部分完整约束集。

您通常会通过首先查询当前节点解决方案(通过调用获取解决方案GRB_CB_MIPSOL回拨,或格诺德雷GRB_CB_MIPNODE回调),然后调用addLazy()添加切断解决方案的约束。古洛比保证,您将有机会切断任何可能的解决方案。

您的回调应该准备好切断违反任何延迟约束的解决方案,包括已经添加的解决方案。节点解决方案通常会考虑以前添加的惰性约束,但并不总是如此。

请注意,您必须设置懒散约束参数,如果要使用惰性约束。

无效的 愚蠢的( 常量GRBLinExpr& lhsExpr,
烧焦 感觉
双重的 rhsVal)
    论据:

    lhsExpr:新惰性约束的左侧表达式。

    感觉:检测新的惰性约束(GRB_小于等于,GRB_相等GRB_大于等于).

    拉斯瓦尔:新惰性约束的右侧值。

无效的 愚蠢的( GRBTempcontr& (tc)

    论据:

    tc:临时约束对象,使用重载比较运算符创建。看见GRBTempcontr了解更多信息。