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
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