this repo has no description
at develop 697 B view raw
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"];