set_covering4b.fzn 943 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
array [1..10] of int: costs = [19, 16, 18, 13, 15, 19, 15, 17, 16, 15];
array [1..10] of var set of 1..8: a :: output_array([1..10]) = [{1, 6}, {2, 6, 8}, {1, 4, 7}, {2, 3, 5}, {2, 5}, 2..3, 2..4, {4, 5, 8}, {3, 6, 8}, {1, 6, 7}];
array [1..10] of var 0..1: x :: output_array([1..10]);
var 0..163: z;
constraint int_lin_eq([1, 1], [x[3], x[10]], 1);
constraint int_lin_eq([1, 1, 1], [x[1], x[3], x[10]], 1);
constraint int_lin_eq([1, 1, 1], [x[2], x[8], x[9]], 1);
constraint int_lin_eq([1, 1, 1], [x[3], x[7], x[8]], 1);
constraint int_lin_eq([1, 1, 1], [x[4], x[5], x[8]], 1);
constraint int_lin_eq([1, 1, 1, 1], [x[1], x[2], x[9], x[10]], 1);
constraint int_lin_eq([1, 1, 1, 1], [x[4], x[6], x[7], x[9]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1], [x[2], x[4], x[5], x[6], x[7]], 1);
constraint int_lin_eq([-1, 19, 16, 18, 13, 15, 19, 15, 17, 16, 15], [z, x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10]], 0);
solve minimize z;