this repo has no description
1% RUNS ON mzn20_fd
2% RUNS ON mzn-fzn_fd
3% RUNS ON mzn20_mip
4% Copied from the queens.mzn benchmark.
5%
6% In some very rare cases some literals in MiniSAT are labeled during
7% backjumping but never actually propagated
8% (if invoke is never entered again),
9% which leads to the output of flatzinc showing unfixed int variables.
10%
11%
12
13int: n = 20; % The number of queens.
14
15array [1..n] of var 1..n: q;
16
17predicate
18 noattack(int: i, int: j, var int: qi, var int: qj) =
19 qi != qj /\
20 qi + i != qj + j /\
21 qi - i != qj - j;
22
23constraint
24 forall (i in 1..n, j in i+1..n) (
25 noattack(i, j, q[i], q[j])
26 );
27
28solve satisfy;
29
30output ["% ", show(n), "-queens:\n"] ++
31 ["% "] ++ [show(q[i]) ++ " " | i in 1..n] ++
32 ["\n%\n"] ++
33 ["q = ", show(q), ";\n"];