如何通过MiniZinc接口(mzn-gurobi)从Gurobi获取IIS?
用mzn-gurobi获取Gurobi IIS的方法
嗨,关于你问的通过mzn-gurobi接口能不能获取Gurobi的不可约不可行集合(IIS),答案是肯定的,不过需要通过指定Gurobi的专属参数来触发这个功能,具体操作如下:
- 首先要确保你的Gurobi版本支持IIS计算(目前主流的Gurobi版本都具备这个功能),同时MiniZinc的gurobi驱动已经配置正常,可以正常调用Gurobi求解器。
- 在使用
mzn-gurobi命令时,需要添加两个关键的Gurobi选项:--gurobi-option=IISMethod=N:这里的N是IIS计算的方法,1是默认的快速算法,2是更精确的穷举式算法,你可以根据需求选择。--gurobi-option=ResultFile=文件名.ilp:这个参数让Gurobi把生成的IIS输出到指定的ILP文件中,方便后续查看。
- 举个完整的命令示例:
mzn-gurobi --gurobi-option=IISMethod=1 --gurobi-option=ResultFile=my_model_iis.ilp your_model.mzn your_data.dzn - 小提醒:Gurobi生成的ILP文件里的约束是其内部转换后的格式,和你MiniZinc原模型里的约束名称/写法可能不完全对应,你需要自己做一下映射,或者借助一些辅助工具来关联回原模型的约束。
内容的提问来源于stack exchange,提问作者Ofer strichman
相关产品推荐
相关产品推荐

