58 lines
9.8 KiB
MiniZinc
58 lines
9.8 KiB
MiniZinc
var 0..25: INT____00001 :: is_defined_var :: var_is_introduced;
|
|
array [1..25] of var 0..1: a :: output_array([1..5, 1..5]);
|
|
var 0..25: numa :: output_var = INT____00001;
|
|
array [1..25] of var 0..1: x :: output_array([1..5, 1..5]);
|
|
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], [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]], 5);
|
|
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], [INT____00001, a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19], a[20], a[21], a[22], a[23], a[24], a[25]], 0) :: defines_var(INT____00001);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2], [a[25], x[1], x[5], x[7], x[10], x[13], x[15], x[19], x[20], x[21], x[22], x[23], x[24], x[25]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1], [a[24], x[4], x[6], x[9], x[12], x[14], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1], [a[20], x[2], x[5], x[8], x[10], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[24], x[25]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1], [a[23], x[3], x[8], x[11], x[13], x[15], x[17], x[18], x[19], x[21], x[22], x[23], x[24], x[25]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1], [a[22], x[2], x[7], x[10], x[12], x[14], x[16], x[17], x[18], x[21], x[22], x[23], x[24], x[25]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1], [a[15], x[3], x[5], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[19], x[20], x[23], x[25]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1], [a[21], x[1], x[5], x[6], x[9], x[11], x[13], x[16], x[17], x[21], x[22], x[23], x[24], x[25]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1], [a[10], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[14], x[15], x[18], x[20], x[22], x[25]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1], [a[16], x[1], x[4], x[6], x[8], x[11], x[12], x[16], x[17], x[18], x[19], x[20], x[21], x[22]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1], [a[5], x[1], x[2], x[3], x[4], x[5], x[9], x[10], x[13], x[15], x[17], x[20], x[21], x[25]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1], [a[11], x[1], x[3], x[6], x[7], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[21], x[23]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1], [a[4], x[1], x[2], x[3], x[4], x[5], x[8], x[9], x[10], x[12], x[14], x[16], x[19], x[24]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [a[3], x[1], x[2], x[3], x[4], x[5], x[7], x[8], x[9], x[11], x[13], x[15], x[18], x[23]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [a[6], x[1], x[2], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[16], x[18], x[21], x[24]], 0);
|
|
constraint int_lin_le([-5, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [a[2], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[12], x[14], x[17], x[20], x[22]], 0);
|
|
constraint int_lin_le([-5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [a[1], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[11], x[13], x[16], x[19], x[21], x[25]], 0);
|
|
constraint int_lin_le([1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [a[1], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[11], x[13], x[16], x[19], x[21], x[25]], 0);
|
|
constraint int_lin_le([1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [a[2], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[12], x[14], x[17], x[20], x[22]], 0);
|
|
constraint int_lin_le([1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [a[3], x[1], x[2], x[3], x[4], x[5], x[7], x[8], x[9], x[11], x[13], x[15], x[18], x[23]], 0);
|
|
constraint int_lin_le([1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [a[6], x[1], x[2], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[16], x[18], x[21], x[24]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1], [a[4], x[1], x[2], x[3], x[4], x[5], x[8], x[9], x[10], x[12], x[14], x[16], x[19], x[24]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1], [a[5], x[1], x[2], x[3], x[4], x[5], x[9], x[10], x[13], x[15], x[17], x[20], x[21], x[25]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1], [a[11], x[1], x[3], x[6], x[7], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[21], x[23]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1], [a[10], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[14], x[15], x[18], x[20], x[22], x[25]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1], [a[16], x[1], x[4], x[6], x[8], x[11], x[12], x[16], x[17], x[18], x[19], x[20], x[21], x[22]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1], [a[15], x[3], x[5], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[19], x[20], x[23], x[25]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1], [a[21], x[1], x[5], x[6], x[9], x[11], x[13], x[16], x[17], x[21], x[22], x[23], x[24], x[25]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1], [a[22], x[2], x[7], x[10], x[12], x[14], x[16], x[17], x[18], x[21], x[22], x[23], x[24], x[25]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1], [a[20], x[2], x[5], x[8], x[10], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[24], x[25]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1], [a[23], x[3], x[8], x[11], x[13], x[15], x[17], x[18], x[19], x[21], x[22], x[23], x[24], x[25]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1], [a[24], x[4], x[6], x[9], x[12], x[14], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2], [a[25], x[1], x[5], x[7], x[10], x[13], x[15], x[19], x[20], x[21], x[22], x[23], x[24], x[25]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1], [a[19], x[1], x[4], x[7], x[9], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[23], x[24], x[25]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1], [a[18], x[3], x[6], x[8], x[10], x[12], x[13], x[14], x[16], x[17], x[18], x[19], x[20], x[22], x[23], x[24]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1], [a[14], x[2], x[4], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[18], x[19], x[20], x[22], x[24]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1], [a[17], x[2], x[5], x[7], x[9], x[11], x[12], x[13], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1], [a[9], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[13], x[14], x[15], x[17], x[19], x[21], x[24]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1], [a[12], x[2], x[4], x[6], x[7], x[8], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[22], x[24]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1], [a[8], x[2], x[3], x[4], x[6], x[7], x[8], x[9], x[10], x[12], x[13], x[14], x[16], x[18], x[20], x[23]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [a[7], x[1], x[2], x[3], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[17], x[19], x[22], x[25]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [a[7], x[1], x[2], x[3], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[17], x[19], x[22], x[25]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1], [a[8], x[2], x[3], x[4], x[6], x[7], x[8], x[9], x[10], x[12], x[13], x[14], x[16], x[18], x[20], x[23]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1], [a[9], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[13], x[14], x[15], x[17], x[19], x[21], x[24]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1], [a[12], x[2], x[4], x[6], x[7], x[8], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[22], x[24]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1], [a[14], x[2], x[4], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[18], x[19], x[20], x[22], x[24]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1], [a[17], x[2], x[5], x[7], x[9], x[11], x[12], x[13], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1], [a[18], x[3], x[6], x[8], x[10], x[12], x[13], x[14], x[16], x[17], x[18], x[19], x[20], x[22], x[23], x[24]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1], [a[19], x[1], x[4], x[7], x[9], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[23], x[24], x[25]], 0);
|
|
constraint int_lin_le([-5, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1], [a[13], x[1], x[3], x[5], x[7], x[8], x[9], x[11], x[12], x[13], x[14], x[15], x[17], x[18], x[19], x[21], x[23], x[25]], 0);
|
|
constraint int_lin_le([1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1], [a[13], x[1], x[3], x[5], x[7], x[8], x[9], x[11], x[12], x[13], x[14], x[15], x[17], x[18], x[19], x[21], x[23], x[25]], 0);
|
|
solve :: int_search([a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19], a[20], a[21], a[22], a[23], a[24], a[25]], first_fail, indomain, complete) minimize INT____00001;
|