计算分离变量边界

(类来自 pyomo.contrib.gdp_bounds.compute_bounds)

class pyomo.contrib.gdp_bounds.compute_bounds.ComputeDisjunctiveVarBounds(**kwds)[source]

基础类:Transformation

在给定模型中计算析取边界。

尝试计算在给定模型下,约束中所有变量的析取边界,这些约束位于析取中。

Two strategies are available to compute the disjunctive bounds:
  • 使用contrib.fbbt包进行基于可行性的边界收紧。(默认)

  • 通过求解模型的线性松弛来进行基于最优性的边界收紧。

此转换引入了名为 _disj_var_bounds 的 ComponentMap 对象到每个 Disjunct 和顶层模型对象。这些映射为每个分离范围 var –> (var.disj_lb, var.disj_ub)。

Parameters:
  • model (Component) – 用于查找disjuncts的模型。

  • solver (string) – 用于OBBT的求解器,或为FBBT使用None。

__init__(**kwds)

方法

__init__(**kwds)

apply(model, **kwds)

已弃用。

apply_to(model, **kwds)

将转换应用于给定的模型。

create_using(model, **kwds)

使用此转换创建一个新模型

成员文档

apply(model, **kwds)

已弃用。

自版本4.3.11323起已弃用:Transformation.apply() 已被弃用。请使用 Transformation.apply_to() 进行原地转换,或使用 Transformation.create_using() 创建新的独立转换模型实例。

apply_to(model, **kwds)

将转换应用于给定的模型。

create_using(model, **kwds)

使用此转换创建一个新模型