Between Steps (P-Split) reformulation for GDPs from [KMT21].
Classes
PartitionDisjuncts_Transformation()
PartitionDisjuncts_Transformation
Transform disjunctive model to equivalent disjunctive model (with potentially tighter hull relaxation) by taking the "P-split" formulation from Kronqvist et al. 2021 [KMT21].
Functions
arbitrary_partition(disjunction, P)
arbitrary_partition
Returns a valid partition into P sets of the variables that appear in algebraic additively separable constraints in the Disjuncts in 'disjunction'.
compute_fbbt_bounds(expr, ...)
compute_fbbt_bounds
Calls fbbt on expr and returns the lower and upper bounds on the expression based on the bounds of the Vars that appear in the expression.
compute_optimal_bounds(expr, ...)
compute_optimal_bounds
Returns a tuple (LB, UB) where LB and UB are the results of minimizing and maximizing expr over the variable bounds and the constraints on the global_constraints block.