Only variables with finite integer domains are supported. This includes
boolean variables, which are considered finite integer domain variables
with the domain
0..1. Domain variables declared to be of type
var int are initially given the finite integer domain
inf..sup, and are given maximally wide bounded domains before any
search is performed on them, as well as before certain constraints that
demand bounded domains are posted on them.
Although set variables are not supported, ground set values
are. For example, the MiniZinc global constraint
takes as second argument an array of such ground set values.
is_defined_varannotation are labeled with a default first-fail domain splitting heuristic. This corresponds to
library(clpfd)with the option list
indomain_randomas described in the FlatZinc specification uses
library(random). The random generator of SICStus is initialized using the same seed on each start up, meaning that the same sequence will be tried for
indomain_randomon each start up. This behavior can be changed by setting a different random seed using
Constraint annotations of the form
value are recognized in relevant
library(clpfd) constraint translations. Any other
constraint annotation is ignored.
The following variable annotations are recognized. Any other variable annotation is ignored:
output_var since release 4.2
the variable may be written on the current output stream.
output_array since release 4.2
the variable array may be written on the current output stream.
the variable will not be considered in any default labeling (such as when the search annotations do not include all variables)