| 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