1
0
This repository has been archived on 2025-03-06. You can view files and clone it, but cannot push or open issues or pull requests.
Jip J. Dekker 9b7e65e00b Squashed 'software/minizinc/' content from commit 5a577826
git-subtree-dir: software/minizinc
git-subtree-split: 5a577826da4d7cf6195f28b5604d8d20a01fbc6e
2021-06-18 09:34:50 +10:00

84 lines
1.5 KiB
MiniZinc

/***
!Test
expected:
- !Result
solution: !Solution
invs_f1:
- !!set {1}
- !Range 3..4
- !Range 2..4
- !Range 1..3
invs_f2:
- !!set {1, 4}
- !Range 3..4
- !Range 2..4
- !Range 2..3
- !Result
solution: !Solution
invs_f1:
- !!set {1}
- !Range 2..4
- !Range 2..4
- !Range 1..2
invs_f2:
- !!set {1, 4}
- !Range 2..4
- !Range 2..3
- !Range 2..3
- !Result
solution: !Solution
invs_f1:
- !!set {1}
- !Range 1..4
- !Range 2..4
- !!set {1}
invs_f2:
- !!set {1, 2, 4}
- !Range 2..3
- !Range 2..3
- !Range 2..3
- !Result
solution: !Solution
invs_f1:
- !!set {1}
- !!set {4}
- !Range 2..4
- !!set {}
invs_f2:
- !!set {1}
- !!set {3}
- !!set {3}
- !Range 2..3
- !Result
solution: !Solution
invs_f1:
- !!set {1}
- !Range 1..4
- !Range 2..4
- !Range 1..3
invs_f2:
- !!set {1, 2, 4}
- !Range 2..4
- !Range 2..4
- !Range 2..3
***/
include "inverse_set.mzn";
%-----------------------------------------------------------------------------%
% inverse_set
%-----------------------------------------------------------------------------%
array[1..4] of var set of 1..5: invs_f1 :: add_to_output =
[{1}, _, {2,3,4}, _ ];
array[1..4] of var set of 1..5: invs_f2 :: add_to_output =
[_, _, _, {3,2}];
constraint inverse_set(invs_f1, invs_f2);
solve satisfy;
output [
"invs_f1 = array1d(1..4, ", show(invs_f1), ");\n",
"invs_f2 = array1d(1..4, ", show(invs_f2), ");\n"
];