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.
on-restart-benchmarks/tests/spec/unit/globals/alldifferent/globals_alldiff_set_nosets.mzn
Jip J. Dekker fad1b07018 Squashed 'software/minizinc/' content from commit 4f10c8205
git-subtree-dir: software/minizinc
git-subtree-split: 4f10c82056ffcb1041d7ffef29d77a7eef92cf76
2021-06-16 14:06:46 +10:00

46 lines
1.1 KiB
MiniZinc

/***
!Test
expected:
- !Result
solution: !Solution
alldiff_avsi2: !Unordered
- !!set {}
- !!set {1}
- !Range 1..2
- !Range 1..3
- !!set {1, 3}
- !!set {2}
- !Range 2..3
- !!set {3}
***/
% Test all_different for var set of int.
include "all_different.mzn";
include "nosets.mzn";
% set of int version
% alldiff_avsi2 = [{1, 2, 3}, {1, 2}, {1, 3}, {1}, {2, 3}, {2}, {3}, {}]
set of int: aa0 = {};
array[1..8] of var set of 1..3: alldiff_avsi2 :: add_to_output = [ aa0, _,_,_,_,_,_,_, ];
constraint alldiff_avsi2[1] = {};
constraint all_different(alldiff_avsi2);
constraint forall(i in index_set( alldiff_avsi2 ) diff { max( index_set( alldiff_avsi2 ) ) } )
( alldiff_avsi2[i] <= alldiff_avsi2[i+1] );
array[int] of var bool: adsab = setarray2bools( alldiff_avsi2 );
solve satisfy;
output ["alldiff_avsi2 = array1d(1..8, ", show(alldiff_avsi2), ");\n",
% "setaray2bools(alldiff_avsi2) = ", show(adsab), ";\n"
]
++ [ show(set2bools( alldiff_avsi2[i], ub_array(alldiff_avsi2) )) | i in index_set( alldiff_avsi2 ) ]
++ [ "\n" ]
;