partition_disjuncts

Between Steps (P-Split) reformulation for GDPs from [KMT21].

Classes

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)

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, ...)

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, ...)

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.