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 b5f0d64642 Squashed 'prototype/' content from commit 91f7db00
git-subtree-dir: prototype
git-subtree-split: 91f7db00d45e7f991b5587ee07f09977ae311ee7
2021-07-29 14:28:24 +10:00

26 lines
867 B
MiniZinc

% RUNS ON mzn20_fd
% RUNS ON mzn-fzn_fd
include "among.mzn";
%-----------------------------------------------------------------------------%
% among
%-----------------------------------------------------------------------------%
var -100..100: among_vi;
array[1..10] of var -100..100: among_avi1 =
[4, 5, 5, 6, 6, 6, 7, 7, 7, 7];
array[1..10] of var -100..100: among_avi2 =
[4, 5, 5, 6, 6, 6, _, _, 8, 8];
% Testing it three ways, with different args unfixed each time.
constraint among(among_vi, among_avi1, {6,7}); % 1st arg unfixed -> 7
constraint among(5, among_avi2, {6,7}); % 2nd arg unfixed -> [...]
constraint forall(i in 7..10) ( among_avi2[i] != 6 );
solve satisfy;
output [
"among_avi1 = array1d(1..10, ", show(among_avi1), ");\n",
"among_avi2 = array1d(1..10, ", show(among_avi2), ");\n",
"among_vi = ", show(among_vi), ";\n"
];