10.39.1 Notes
- Domain variables
- 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 constrained to -1073741823..1073741823
before any search is performed on them.
- Optimization problems
- Only variables with finite integer domains can be optimized in
minimize
and maximize
solve items. The
int_float_lin/4
expression as described in the FlatZinc
specification is thus not supported.
- Solve annotations
-
- The solve annotations currently supported are
bool_search/4
,
int_search/4
, labelling_ff/0
, and seq_search/1
.
- The FlatZinc specification describes several exploration
strategies. Currently, the only supported exploration strategies are
complete
and fail
.
- When no solve annotation is given, a most constrained heuristic is used
on all problem variables (excluding those that have a
var_is_introduced
annotation; see below). This corresponds to
labeling/2
of library(clpfd)
with the option ffc
.
- The choice method
indomain_random
as described in the
FlatZinc specification uses random_member/2
of
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_random
on each start up. This
behavior can be changed by setting a different random seed using
setrand/1
of library(random)
.
- Constraint annotations
- Constraint annotations are currently ignored.
- Variable annotations
- Variable annotations are currently ignored, except
var_is_introduced
, which means that the corresponding
variable is not considered in any default labeling (such as when no
search annotation is given or when the labelling_ff
search
annotation is given).
Send feedback on this subject.