[ library(range_eplex) | The ECLiPSe Libraries | Reference Manual | Alphabetic Index ]

EplexInstance:piecewise_linear_hull(?X, ++Points, ?Y)

Relates X and Y according to a piecewise linear function.
X
Parameter/domain of the piecewise function
Points
List of points defining the piecewise function
Y
Result/range of piecewise the function

Description

This predicate imposes the constraint Y = f(X), where f is a piecewise linear function defined by Points. Please see the documentation for piecewise_linear/3 for details of how the piecewise linear function is specified.

This predicate extends piecewise_linear/3 by also computing the convex hull of the portions of the constraint which are feasible with respect to the current bounds of X and Y. Constraints defining this convex hull are then passed to the eplex solver. These constraints are updated whenever new bounds on X or Y change the convex hull.

Whilst the IC-based implementation (lib(ic_eplex)) of the piecewise constraint accepts bounded reals in its arguments, the current implementation does not fully support bounded reals of non-zero width (i.e. those which do not correspond to a single floating point value). As a result, use of such bounded reals is not recommended at this time. (Bounded reals should not be used at all with the non-IC version (lib(eplex)), because it is based on the obsolete RIA library, which does not support bounded reals.)

See Also

ria : piecewise_linear / 3, ic : piecewise_linear / 3