git-subtree-dir: software/mza git-subtree-split: f970a59b177c13ca3dd8aaef8cc6681d83b7e813
12 lines
452 B
MiniZinc
12 lines
452 B
MiniZinc
include "fzn_inverse_set.mzn";
|
|
include "fzn_inverse_set_reif.mzn";
|
|
|
|
/** @group globals.channeling
|
|
Constrains two arrays of set of int variables, \a f and \a invf, so that
|
|
a \p j in f[\p i] iff \p i in invf[\p j]. All the values in each array's sets
|
|
must be within the index set of the other array.
|
|
*/
|
|
predicate inverse_set(array[int] of var set of int: f,
|
|
array[int] of var set of int: invf) =
|
|
fzn_inverse_set(f,invf);
|