25 lines
1.1 KiB
MiniZinc
25 lines
1.1 KiB
MiniZinc
array [1..8] of int: ratings = [2, 9, 3, 8, 10, 6, 4, 10];
|
|
array [1..8] of int: weights = [1, 3, 4, 3, 3, 1, 5, 10];
|
|
var int: INT____00001 :: is_defined_var :: var_is_introduced;
|
|
var int: profit :: output_var = INT____00001;
|
|
array [1..8] of var int: take :: output_array([1..8]);
|
|
constraint int_le(0, take[1]);
|
|
constraint int_le(0, take[2]);
|
|
constraint int_le(0, take[3]);
|
|
constraint int_le(0, take[4]);
|
|
constraint int_le(0, take[5]);
|
|
constraint int_le(0, take[6]);
|
|
constraint int_le(0, take[7]);
|
|
constraint int_le(0, take[8]);
|
|
constraint int_le(take[1], 1);
|
|
constraint int_le(take[2], 1);
|
|
constraint int_le(take[3], 1);
|
|
constraint int_le(take[4], 1);
|
|
constraint int_le(take[5], 1);
|
|
constraint int_le(take[6], 1);
|
|
constraint int_le(take[7], 1);
|
|
constraint int_le(take[8], 1);
|
|
constraint int_lin_eq([-1, 2, 9, 3, 8, 10, 6, 4, 10], [INT____00001, take[1], take[2], take[3], take[4], take[5], take[6], take[7], take[8]], 0) :: defines_var(INT____00001);
|
|
constraint int_lin_le([2, 9, 3, 8, 10, 6, 4, 10], [take[1], take[2], take[3], take[4], take[5], take[6], take[7], take[8]], 15);
|
|
solve maximize INT____00001;
|