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 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.
- Ground set values
- Although set variables are not supported, ground set values
are. For example, the MiniZinc global constraint
sum_pred/4
takes as second argument an array of such ground set values.
- Solve annotations
-
- The solve annotations currently recognized are
bool_search,
int_search, labelling_ff, and seq_search.
- The FlatZinc specification describes several exploration
strategies. Currently, the only recognized exploration strategies are
complete and fail.
- Variables not included in any solve or
var_is_introduced
annotation are labeled with a default first-fail domain splitting
heuristic. This corresponds to labeling/2 of
library(clpfd) with the option list [ff,bisect].
- 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 of the form
domain, bounds, and
value are recognized in relevant
FlatZinc-to-library(clpfd) constraint translations. Any other
constraint annotation is ignored.
- Variable annotations
- 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.
var_is_introduced- the variable will not be considered in any
default labeling (such as when the search annotations don't include all variables)
Send feedback on this subject.