ComputeDisjunctiveVarBounds

(class from pyomo.contrib.gdp_bounds.compute_bounds)

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

Bases: Transformation

Compute disjunctive bounds in a given model.

Tries to compute the disjunctive bounds for all variables found in constraints that are in disjuncts under the given model.

Two strategies are available to compute the disjunctive bounds:
  • Feasibility-based bounds tightening using the contrib.fbbt package. (Default)

  • Optimality-based bounds tightening by solving the linear relaxation of the model.

This transformation introduces ComponentMap objects named _disj_var_bounds to each Disjunct and the top-level model object. These map var –> (var.disj_lb, var.disj_ub) for each disjunctive scope.

Parameters:
  • model (Component) – The model under which to look for disjuncts.

  • solver (string) – The solver to use for OBBT, or None for FBBT.

__init__(**kwds)

Methods

__init__(**kwds)

apply(model, **kwds)

DEPRECATED.

apply_to(model, **kwds)

Apply the transformation to the given model.

create_using(model, **kwds)

Create a new model with this transformation

Member Documentation

apply(model, **kwds)

DEPRECATED.

Deprecated since version 4.3.11323: Transformation.apply() has been deprecated. Please use either Transformation.apply_to() for in-place transformations or Transformation.create_using() for transformations that create a new, independent transformed model instance.

apply_to(model, **kwds)

Apply the transformation to the given model.

create_using(model, **kwds)

Create a new model with this transformation