hitchcock_transporation_problem.fzn 2.3 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
array [1..5] of int: cc = [1250, 200, 300, 401, 500];
array [1..5] of int: rr = [101, 200, 350, 1400, 600];
var int: INT____00001 :: is_defined_var :: var_is_introduced;
var int: total :: output_var = INT____00001;
array [1..25] of var int: x :: output_array([1..5, 1..5]);
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_lin_eq([1, 1, 1, 1, 1], [x[1], x[2], x[3], x[4], x[5]], 101);
constraint int_lin_eq([1, 1, 1, 1, 1], [x[1], x[6], x[11], x[16], x[21]], 1250);
constraint int_lin_eq([1, 1, 1, 1, 1], [x[2], x[7], x[12], x[17], x[22]], 200);
constraint int_lin_eq([1, 1, 1, 1, 1], [x[3], x[8], x[13], x[18], x[23]], 300);
constraint int_lin_eq([1, 1, 1, 1, 1], [x[4], x[9], x[14], x[19], x[24]], 401);
constraint int_lin_eq([1, 1, 1, 1, 1], [x[5], x[10], x[15], x[20], x[25]], 500);
constraint int_lin_eq([1, 1, 1, 1, 1], [x[6], x[7], x[8], x[9], x[10]], 200);
constraint int_lin_eq([1, 1, 1, 1, 1], [x[11], x[12], x[13], x[14], x[15]], 350);
constraint int_lin_eq([1, 1, 1, 1, 1], [x[16], x[17], x[18], x[19], x[20]], 1400);
constraint int_lin_eq([1, 1, 1, 1, 1], [x[21], x[22], x[23], x[24], x[25]], 600);
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, 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]], 0) :: defines_var(INT____00001);
solve  :: int_search([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]], first_fail, indomain, complete) minimize INT____00001;