git-subtree-dir: software/minizinc git-subtree-split: 4f10c82056ffcb1041d7ffef29d77a7eef92cf76
84 lines
1.5 KiB
MiniZinc
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"
|
|
];
|