product_lp.fzn 1.13 KB
Newer Older
Valentin Platzgummer's avatar
Valentin Platzgummer committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
array [1..2] of int: capacity = [200, 400];
array [1..6] of int: consumption = [5, 2, 4, 4, 3, 6];
array [1..3] of int: demand = [100, 200, 300];
array [1..3] of int: insideCost = [60, 80, 30];
array [1..3] of int: outsideCost = [80, 90, 40];
var int: INT____00001 :: is_defined_var :: var_is_introduced;
array [1..3] of var int: inside :: output_array([1..3]);
array [1..3] of var int: outside :: output_array([1..3]);
constraint int_le(0, inside[1]);
constraint int_le(0, inside[2]);
constraint int_le(0, inside[3]);
constraint int_le(0, outside[1]);
constraint int_le(0, outside[2]);
constraint int_le(0, outside[3]);
constraint int_lin_eq([-1, 60, 80, 30, 80, 90, 40], [INT____00001, inside[1], inside[2], inside[3], outside[1], outside[2], outside[3]], 0) :: defines_var(INT____00001);
constraint int_lin_le([-1, -1], [inside[1], outside[1]], -100);
constraint int_lin_le([-1, -1], [inside[2], outside[2]], -200);
constraint int_lin_le([-1, -1], [inside[3], outside[3]], -300);
constraint int_lin_le([2, 4, 6], [inside[1], inside[2], inside[3]], 400);
constraint int_lin_le([5, 4, 3], [inside[1], inside[2], inside[3]], 200);
solve minimize INT____00001;