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

118 lines
4.5 KiB
MiniZinc

array [1..36] of var int: x :: output_array([1..2, 1..2, 1..3, 1..3]);
constraint int_eq(x[5], 0);
constraint int_eq(x[14], 0);
constraint int_eq(x[23], 0);
constraint int_eq(x[32], 0);
constraint int_le(0, x[1]);
constraint int_le(0, x[2]);
constraint int_le(0, x[3]);
constraint int_le(0, x[4]);
constraint int_le(0, x[5]);
constraint int_le(0, x[6]);
constraint int_le(0, x[7]);
constraint int_le(0, x[8]);
constraint int_le(0, x[9]);
constraint int_le(0, x[10]);
constraint int_le(0, x[11]);
constraint int_le(0, x[12]);
constraint int_le(0, x[13]);
constraint int_le(0, x[14]);
constraint int_le(0, x[15]);
constraint int_le(0, x[16]);
constraint int_le(0, x[17]);
constraint int_le(0, x[18]);
constraint int_le(0, x[19]);
constraint int_le(0, x[20]);
constraint int_le(0, x[21]);
constraint int_le(0, x[22]);
constraint int_le(0, x[23]);
constraint int_le(0, x[24]);
constraint int_le(0, x[25]);
constraint int_le(0, x[26]);
constraint int_le(0, x[27]);
constraint int_le(0, x[28]);
constraint int_le(0, x[29]);
constraint int_le(0, x[30]);
constraint int_le(0, x[31]);
constraint int_le(0, x[32]);
constraint int_le(0, x[33]);
constraint int_le(0, x[34]);
constraint int_le(0, x[35]);
constraint int_le(0, x[36]);
constraint int_le(1, x[1]);
constraint int_le(1, x[2]);
constraint int_le(1, x[3]);
constraint int_le(1, x[4]);
constraint int_le(1, x[6]);
constraint int_le(1, x[7]);
constraint int_le(1, x[8]);
constraint int_le(1, x[9]);
constraint int_le(1, x[10]);
constraint int_le(1, x[11]);
constraint int_le(1, x[12]);
constraint int_le(1, x[13]);
constraint int_le(1, x[15]);
constraint int_le(1, x[16]);
constraint int_le(1, x[17]);
constraint int_le(1, x[18]);
constraint int_le(1, x[19]);
constraint int_le(1, x[20]);
constraint int_le(1, x[21]);
constraint int_le(1, x[22]);
constraint int_le(1, x[24]);
constraint int_le(1, x[25]);
constraint int_le(1, x[26]);
constraint int_le(1, x[27]);
constraint int_le(1, x[28]);
constraint int_le(1, x[29]);
constraint int_le(1, x[30]);
constraint int_le(1, x[31]);
constraint int_le(1, x[33]);
constraint int_le(1, x[34]);
constraint int_le(1, x[35]);
constraint int_le(1, x[36]);
constraint int_le(x[1], 3);
constraint int_le(x[2], 3);
constraint int_le(x[3], 3);
constraint int_le(x[4], 3);
constraint int_le(x[6], 3);
constraint int_le(x[7], 3);
constraint int_le(x[8], 3);
constraint int_le(x[9], 3);
constraint int_le(x[10], 3);
constraint int_le(x[11], 3);
constraint int_le(x[12], 3);
constraint int_le(x[13], 3);
constraint int_le(x[15], 3);
constraint int_le(x[16], 3);
constraint int_le(x[17], 3);
constraint int_le(x[18], 3);
constraint int_le(x[19], 3);
constraint int_le(x[20], 3);
constraint int_le(x[21], 3);
constraint int_le(x[22], 3);
constraint int_le(x[24], 3);
constraint int_le(x[25], 3);
constraint int_le(x[26], 3);
constraint int_le(x[27], 3);
constraint int_le(x[28], 3);
constraint int_le(x[29], 3);
constraint int_le(x[30], 3);
constraint int_le(x[31], 3);
constraint int_le(x[33], 3);
constraint int_le(x[34], 3);
constraint int_le(x[35], 3);
constraint int_le(x[36], 3);
constraint int_lin_eq([1, 1, 1, 1, 1, 1], [x[1], x[2], x[3], x[10], x[11], x[12]], 11);
constraint int_lin_eq([1, 1, 1, 1, 1, 1], [x[1], x[4], x[7], x[10], x[13], x[16]], 11);
constraint int_lin_eq([1, 1, 1, 1, 1, 1], [x[3], x[6], x[9], x[12], x[15], x[18]], 11);
constraint int_lin_eq([1, 1, 1, 1, 1, 1], [x[7], x[8], x[9], x[16], x[17], x[18]], 11);
constraint int_lin_eq([1, 1, 1, 1, 1, 1], [x[19], x[20], x[21], x[28], x[29], x[30]], 11);
constraint int_lin_eq([1, 1, 1, 1, 1, 1], [x[19], x[22], x[25], x[28], x[31], x[34]], 11);
constraint int_lin_eq([1, 1, 1, 1, 1, 1], [x[21], x[24], x[27], x[30], x[33], x[36]], 11);
constraint int_lin_eq([1, 1, 1, 1, 1, 1], [x[25], x[26], x[27], x[34], x[35], x[36]], 11);
constraint int_lin_eq([2, 2, 2, 2, 2, 2, 2, 2, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18]], 0);
constraint int_lin_eq([2, 2, 2, 2, 2, 2, 2, 2, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36]], 0);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36]], -3);
solve satisfy;