懒惰的


懒惰的

类型: int
可修改:

确定是否将线性约束视为线性约束惰性约束或者用户切割.

在MIP解决方案过程开始时,任何约束懒惰的属性设置为1、2或3(默认值为0)将被视为惰性约束;它将从模型中删除并放置在惰性约束池中。惰性约束保持非活动状态,直到找到可行的解决方案,此时将对照惰性约束池检查解决方案。如果解决方案违反任何惰性约束,则将丢弃该解决方案,并将一个或多个违反的惰性约束拉入活动模型。

此属性的值越大,约束将被更积极地拉入模型。值为1时,该约束可用于切断可行的解决方案,但如果另一个惰性约束也切断了该解决方案,则不一定会将其拉入。值为2时,可行解决方案违反的所有惰性约束将被拉入模型。值为3时,也会引入在根节点处切断松弛解决方案的惰性约束。

懒惰属性设置为-1的任何约束都被视为用户剪切;它将从模型中删除并放置在用户剪切池中。用户切割可以添加到分支和切割搜索树中任何节点的模型中,以切断松弛解。

用户切割和惰性约束之间的主要区别在于前者不允许切割整数可行解。换句话说,它们对于MIP模型是多余的,解算器可以自由决定是否使用它们来切断松弛解。希望是添加它们可以加快整个解决方案过程。惰性约束没有这样的限制。它们对于模型来说是必不可少的,当解决方案不满足它们时,解算器将被迫应用它们。手机万博登录

请注意,从模型中删除约束将导致放弃此属性。如果希望它保持不变,则在删除约束并进行后续模型更新调用后,程序需要重新填充它。

请注意,其他约束类型(二次约束、SOS约束或常规约束)没有相应的属性可用。此属性仅影响MIP模型。

有关如何查询或修改属性的示例,请参阅属性示例.