[ library(ic) | Reference Manual | Alphabetic Index ]

locate(+LocateVars, +SquashVars, ++Precision, ++LinLog)

Locate solution intervals for LocateVars, interleaving search with squashing.
LocateVars
Collection (a la collection_to_list/2) of variables
SquashVars
Collection of variables
Precision
Minimum required precision (float)
LinLog
Domain splitting method (lin or log)

Description

A variant of locate/2,3 with interleaved squashing. The squash algorithm is applied once to the SquashVars initially, and then again after each splitting step (i.e. each time one of the LocateVars has been split nondeterministically during the search). A variable may occur in both LocateVars and SquashVars.

The LinLog parameter guides the way domains are split. If it is set to lin then the split is linear (i.e. the arithmetic mean of the bounds is used). If it is set to log, the split is logarithmic (i.e. the geometric mean of the bounds is used). Note that if log is used, there will be roughly the same number of representable floating point numbers on either side of the split, due to the logarithmic distribution of these numbers.

See Also

locate / 2, locate / 3, squash / 3, lists : collection_to_list / 2