计算不可行性解释

(函数来自 pyomo.contrib.iis.mis)

pyomo.contrib.iis.mis.compute_infeasibility_explanation(model, solver, tee=False, tolerance=1e-08, logger=<Logger pyomo.contrib.iis (INFO)>)[source]

此函数尝试确定为什么给定的模型不可行。它部署了两种主要算法:

  1. 成功放宽了问题的约束,并向用户报告了一些约束集和变量边界,当这些约束被放宽时,会创建一个可行的模型。

  2. 使用从(1)收集的信息尝试计算最小不可行系统(MIS),这是一组似乎相互冲突的约束和变量边界。它在某种意义上是最小的,即移除任何单个约束或变量边界将导致一个可行的子系统。

Parameters:
  • model (一个 pyomo 块)

  • solver (一个pyomo求解器对象用于SolverFactory的字符串)

  • (可选的) (容差)

  • (可选) – 约束可行性 (1e-08)

  • logger (logging.Logger) – 用于记录消息的日志记录器。默认使用pyomo.contrib.mis的日志记录器。