过滤内容,
版本
文本搜索
GRBCallback: addLazy ()
添加一个懒惰MIP模型约束在一个回调函数。注意,这个方法只能当调用在哪里
成员变量等于GRB_CB_MIPNODE或GRB_CB_MIPSOL(见回调代码部分获取更多信息)。
懒惰的约束时通常使用约束的全套MIP模型太大代表明确。只包括约束实际上是由解决方案中发现违反branch-and-cut搜索,有时候可能会找到一个证明最优解只有添加约束的全套的一小部分。
你通常会添加一个懒惰约束首先查询当前节点的解决方案(通过调用getSolution从一个GRB_CB_MIPSOL回调,或者getNodeRel从一个GRB_CB_MIPNODE回调),然后调用addLazy ()
添加一个约束,切断了解决方案。Gurobi保证你将有机会切断任何解决方案,否则被认为是可行的。
你的回调应该准备切断你的懒惰约束违反任何的解决方案,包括那些已经补充道。节点的解决方案通常会尊重之前添加懒惰的约束,但并非总是如此。
注意,您必须设置LazyConstraints如果你想用懒惰的约束参数。
无效 | addLazy( | const GRBLinExpr& | lhsExpr, |
字符 | 意义上说, | ||
双 | rhsVal) |
参数:
lhsExpr:左边为新懒惰的约束表达式。
感觉:对新懒惰的约束(GRB_LESS_EQUAL,GRB_EQUAL,或GRB_GREATER_EQUAL)。
rhsVal:右边价值新懒惰的约束。
无效 | addLazy( | GRBTempConstr& | tc) |
参数:
tc:临时约束对象,使用重载比较运算符创建。看到GRBTempConstr为更多的信息。