Files
ortools-clone/examples/flatzinc/knapsack2.fzn
2012-09-03 18:26:36 +00:00

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;