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.