GRBModel: computeIIS ()

计算一个不可约子系统(IIS)不一致。IIS是约束和变量的子集界限以下属性:

  • 它仍然是不可行的
  • 如果删除单个约束或绑定,子系统变得可行。
注意,一个不可行的模型可能有多个国际战略研究所。返回的一个Gurobi不一定是最小的;用更少的约束或范围可能存在其他。

IIS的结果返回的属性:IISConstr,IISLB,IISUB,IISSOS,IISQConstr,IISGenConstr。每个显示相应的模型元素是否计算IIS的一员。

IIS日志提供了算法的进展信息,包括猜测最终的IIS的大小。

如果一个IIS计算中断完成之前,Gurobi将返回最小的不可行子系统发现这一点。

IISConstrForce,IISLBForce,IISUBForce,IISSOSForce,IISQConstrForce,IISGenConstrForce属性允许您标记模型元素从IIS计算包括或排除。这个属性设置为1到IIS部队相应的元素,将它设置为0部队的IIS,和设置它为1允许算法来决定。

给一个例子,当这些属性可能是有用的,考虑一下这种情况:一个初始模型是可行的,但它添加约束或紧缩之后变得不可行。如果你只是感兴趣的变化引起的不可行性,可以强制修改的范围和约束到IIS。允许IIS算法只关注新的约束,将经常会快得多。

注意,设置的属性为0可能使结果子系统可行的,这将使它不可能构造一个IIS。尝试将导致GRB_ERROR_IIS_NOT_INFEASIBLE错误。同样,这个属性设置为1可能会导致一个IIS,不是束缚。更准确地说,系统只会束缚对力的模型元素的值1或0。

这种方法填充IISConstr,IISQConstr,IISGenConstr约束属性,IISSOS、SOS属性IISLBIISUB变量的属性。你也可以获得的信息通过写一个IIS计算的结果.ilp格式文件(见GRBModel:写)。这个文件只包含IIS从原始模型。

使用IISMethodIIS算法的参数调整行为。

注意,这个方法可以用来计算IISs连续和MIP模型。

无效 computeIIS()