Overview | Group | Tree | Graph | Index | Concepts |
This function creates and returns a goal, a primitive in the Solver algorithms that search for
solutions. This goal binds each constrained variable in its argument vars
.
IlcSplit
scans the variables from the first to the last and repeats its procedure
until all the variables are bound.
At each step of the scan, if the current variable is not yet bound, IlcSplit
sets
a choice point, replaces the domain of the current variable by one of the halves, and examines
the next variable.
The optional argument increaseMinFirst
must be a Boolean value, either
IlcTrue
or IlcFalse
. If it is IlcTrue
, then the upper
half of the domain is tried first; otherwise, the lower half is tried first.
When the optional argument precSolveBounds
is strictly positive,
IlcSolveBounds
is called before each choice point.
For example, IlcSplit
starts with the first variable; if the first variable
has not already been bound, IlcSplit
sets a choice point, then replaces the
domain of that variable by one of the halves; IlcSplit
then examines the second
variable. In contrast, if the first variable has already been bound, IlcSplit
examines the second variable directly.
See Also:
IlcBestGenerate, IlcDichotomize, IlcGenerate, IlcSolveBounds