transportation2.fzn 1.43 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
array [1..3] of int: capacity = [500, 300, 400];
array [1..12] of int: cost = [10, 8, 5, 9, 7, 5, 5, 3, 11, 10, 8, 7];
array [1..4] of int: demand = [200, 400, 300, 100];
var int: INT____00001 :: is_defined_var :: var_is_introduced;
array [1..12] of var int: x :: output_array([1..3, 1..4]);
var int: z :: output_var = INT____00001;
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_lin_eq([1, 1, 1], [x[1], x[5], x[9]], 200);
constraint int_lin_eq([1, 1, 1], [x[2], x[6], x[10]], 400);
constraint int_lin_eq([1, 1, 1], [x[3], x[7], x[11]], 300);
constraint int_lin_eq([1, 1, 1], [x[4], x[8], x[12]], 100);
constraint int_lin_eq([-1, 10, 8, 5, 9, 7, 5, 5, 3, 11, 10, 8, 7], [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]], 0) :: defines_var(INT____00001);
constraint int_lin_le([1, 1, 1, 1], [x[1], x[2], x[3], x[4]], 500);
constraint int_lin_le([1, 1, 1, 1], [x[5], x[6], x[7], x[8]], 300);
constraint int_lin_le([1, 1, 1, 1], [x[9], x[10], x[11], x[12]], 400);
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]], first_fail, indomain, complete) minimize INT____00001;