NestedInnerRepresentationGDPTransformation
(class from pyomo.contrib.piecewise.transform.nested_inner_repn
)
- class pyomo.contrib.piecewise.transform.nested_inner_repn.NestedInnerRepresentationGDPTransformation[source]
Bases:
PiecewiseLinearTransformationBase
Represent a piecewise linear function by using a nested GDP to determine which polytope a point is in, then representing it as a convex combination of extreme points, with multipliers “local” to that particular polytope, i.e., not shared with neighbors. This method of formulating the piecewise linear function imposes no restrictions on the family of polytopes. Note that this is NOT a logarithmic formulation - it has linearly many Boolean variables. However, it is inspired by the disaggregated logarithmic formulation of [1]. Up to variable substitution, the amount of Boolean variables is logarithmic, as in [1].
References
- [1] J.P. Vielma, S. Ahmed, and G. Nemhauser, “Mixed-integer models
for nonseparable piecewise-linear optimization: unifying framework and extensions,” Operations Research, vol. 58, no. 2, pp. 305-315, 2010.
- __init__()
Methods
__init__
()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
Attributes
CONFIG
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