gurobi_iis ()

gurobi_iis ()

gurobi_iis (模型)
gurobi_iis (模型,参数)
gurobi_iis (model, params, env)

计算不可约不一致子系统(IIS)。

IIS是以下属性的约束和变量边界的子集:

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

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

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

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

您可以从返回的IIS结果(如下所述)中获得有关IIS计算结果的信息。注意,这种方法可以用于计算连续和MIP模型的IISs。

参数:

模型:模型结构体必须包含有效的Gurobi模型。看到模型参数部分获取更多信息。

参数个数:参数结构体,包含修改后的Gurobi参数列表。看到参数个数参数部分获取更多信息。

env: env结构体,允许您使用Gurobi计算服务器或Gurobi即时云。看到env参数部分获取更多信息。

使用示例:
模型= gurobi_read(例子/数据/ klein1.mps);
iis = gurobi_iis(模型);
返回值:

gurobi_iis ()函数返回一个结构体,将各种结果存储在其字段中。具体的结果取决于模型的类型。

返回的结构体将总是包含以下内容字段

最小的
指示计算的IIS是否最小的逻辑标量。它通常为true,但如果IIS计算提前停止(由于时间限制或用户中断),则可能为false。
持续地
指示线性约束是否出现在计算的IIS中的逻辑向量。
指示是否在计算的IIS中出现下界的逻辑向量。
乌兰巴托
指示是否在计算的IIS中出现上限的逻辑向量。

如果您的模型包含一般约束,则返回结构体还会包含以下内容字段

genconmax
一个逻辑向量,它指示在计算的IIS中是否出现一般的MAX约束。
genconmin
一个逻辑向量,它指示在计算的IIS中是否出现一般的MIN约束。
genconand
一种逻辑向量,它指示在计算的IIS中是否出现一般的AND约束。
genconor
一种逻辑向量,它指示在计算的IIS中是否出现一般OR约束。
genconabs
一个逻辑向量,它指示一个通用的ABS约束是否出现在计算的IIS中。
genconind
一个逻辑向量,它指示一个通用的INDICATOR约束是否出现在计算的IIS中。
genconpwl
一种逻辑向量,它指示在计算的IIS中是否出现一般的分段线性函数约束。
genconpoly
一种逻辑向量,它指示在计算的IIS中是否出现多项式函数约束。
genconexp
一种逻辑向量,它指示在计算的IIS中是否出现自然指数函数约束。
genconexpa
一种逻辑向量,它指示在计算的IIS中是否出现指数函数约束。
genconlog
一种逻辑向量,它指示在计算的IIS中是否出现自然对数函数约束。
genconloga
一种逻辑向量,它指示对数函数约束是否出现在计算的IIS中。
genconpow
一个逻辑向量,它指示在计算的IIS中是否出现幂函数约束。
genconsin
一个逻辑向量,它指示是否在计算的IIS中出现SIN函数约束。
genconcos
一个逻辑向量,它指示一个COS函数约束是否出现在计算的IIS中。
gencontan
一个逻辑向量,它指示TAN函数约束是否出现在计算的IIS中。

如果您的模型包含SOS约束,则返回结构体还会包含以下内容

紧急求救信号
指示SOS约束是否出现在计算的IIS中的逻辑向量

如果模型包含二次约束,则返回结构体还会包含以下内容

quadcon
一种逻辑向量,它指示二次约束是否出现在计算的IIS中。