GRBcomputeIIS


GRBcomputeIIS

int GRBcomputeIIS GRBmodel *模型)

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

  • 这仍然是不可行的,而且
  • 如果去掉单个约束或界限,子系统就变得可行。
注意,一个不可行的模型可能有多个IISs。古罗比返回的那个不一定是最小的那个;可能存在其他约束较少的人。

IIS结果以许多属性的形式返回:IISConstrIISLBIISUBIISSOSIISQConstr,IISGenConstr.每一个都指示对应的模型元素是否是计算的IIS的成员。

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

如果IIS计算在完成之前被中断,Gurobi将返回找到的那个点上最小的不可行子系统。

这个例程填充IISConstrIISGenConstrIISQConstrIISSOSIISLB,IISUB属性。您还可以通过编写一个.ilp格式文件(见GRBwrite).该文件仅包含来自原始模型的IIS。

使用IISMethod参数来调整IIS算法的行为。

注意,这个例程可以用于计算连续和MIP模型的IISs。

返回值:

非零返回值表明在计算IIS时发生了问题。指的是错误代码可能返回值列表的表。关于错误的详细信息可以通过调用来获得GRBgeterrormsg

参数:

模型:不可行模型。如果输入模型可行,这个例程将返回一个错误。

重要提示:

这个例程只报告计算是否发生错误。查询IISConstrIISGenConstrIISQConstrIISSOSIISLB,或IISUB属性来确定计算的结果(请参阅属性有关查询属性的更多信息)。

使用示例:

错误= GRBcomputeIIS(模型);