15 lines
943 B
MiniZinc
15 lines
943 B
MiniZinc
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;
|