gurobi_iis ()
gurobi_iis ()
gurobi_iis | (模型) |
gurobi_iis | (模型,参数) |
gurobi_iis | (model, params, env) |
计算不可约不一致子系统(IIS)。
IIS是以下属性的约束和变量边界的子集:
- 这仍然是不可行的,而且
- 如果去掉单个约束或界限,子系统就变得可行。
IIS结果以许多属性的形式返回:IISConstr,IISLB,IISUB,IISSOS,IISQConstr,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中。