Files
ortools-clone/examples/flatzinc/trial1.fzn
2012-09-03 18:26:36 +00:00

16 lines
770 B
MiniZinc

array [1..2] of var 0..1: d;
array [1..2] of var 0..1: t :: output_array([1..2]);
array [1..4] of var 0..1: x :: output_array([1..2, 1..2]);
constraint int_lin_eq([1, 1], [t[1], t[2]], 1);
constraint int_lin_eq([1, 1], [x[1], x[2]], 1);
constraint int_lin_eq([1, 1], [x[3], x[4]], 1);
constraint int_lin_le([-2, -1, 1], [d[2], x[1], x[4]], -1);
constraint int_lin_le([-2, 1, -1], [d[1], x[1], x[4]], -1);
constraint int_lin_le([-1, -1, 2], [d[1], d[2], t[2]], 0);
constraint int_lin_le([-1, 1, 1], [t[1], x[1], x[4]], 1);
constraint int_lin_le([1, -1, 1], [d[1], x[1], x[4]], 1);
constraint int_lin_le([1, 1, -1], [d[1], d[2], t[2]], 1);
constraint int_lin_le([2, -1, -1], [t[1], x[1], x[4]], 0);
constraint int_lin_le([2, 1, -1], [d[2], x[1], x[4]], 2);
solve satisfy;