git-subtree-dir: software/minizinc git-subtree-split: 4f10c82056ffcb1041d7ffef29d77a7eef92cf76
24 lines
1.2 KiB
MiniZinc
24 lines
1.2 KiB
MiniZinc
%-----------------------------------------------------------------------------%
|
|
% Requires that for all 'i', the value 'cover[i]' appears at least 'lbound[i]'
|
|
% and at most 'ubound[i]' times in the array 'x'.
|
|
%-----------------------------------------------------------------------------%
|
|
|
|
predicate global_cardinality_low_up(array[int] of var int: x,
|
|
array[int] of int: cover,
|
|
array[int] of int: lbound,
|
|
array[int] of int: ubound) =
|
|
g12fd_global_cardinality_open(x, cover, lbound, ubound);
|
|
|
|
%-----------------------------------------------------------------------------%
|
|
|
|
% The implementation in the G12/FD solver. This should not be called directly;
|
|
% instead the definition above should be used.
|
|
|
|
predicate g12fd_global_cardinality_open(array[int] of var int: x,
|
|
array[int] of int: cover,
|
|
array[int] of int: lbound,
|
|
array[int] of int: ubound);
|
|
|
|
%-----------------------------------------------------------------------------%
|
|
%-----------------------------------------------------------------------------%
|