this repo has no description
1% RUNS ON mzn20_fd
2% RUNS ON mzn-fzn_fd
3% RUNS ON mzn20_fd_linear
4% RUNS ON mzn20_mip
5% latin_squares_fd.mzn
6% vim: ft=zinc ts=4 sw=4 et tw=0
7% Author: Peter Stuckey
8% Edited: Ralph Becket
9%
10% Latin squares FD only.
11
12int: size = 9;
13
14set of int: range = 1..size;
15
16array[range, range, range] of var 0..1: x;
17
18constraint forall (i, j in range) ((sum (k in range) (x[i,j,k]) = 1));
19constraint forall (i, k in range) ((sum (j in range) (x[i,j,k]) = 1));
20constraint forall (j, k in range) ((sum (i in range) (x[i,j,k]) = 1));
21
22solve satisfy;
23
24output [ if j = 1 /\ k = 1 then "\n" else "" endif ++
25 if fix(x[i,j,k]) = 1 then show(k) else "" endif
26 | i, j, k in range ] ++ ["\n"];