20 lines
1.1 KiB
MiniZinc
20 lines
1.1 KiB
MiniZinc
|
|
array [1..3] of int: value = [3000, 1800, 2500];
|
||
|
|
array [1..3] of int: volume = [25, 15, 2];
|
||
|
|
array [1..3] of int: weight = [3, 2, 20];
|
||
|
|
var int: INT____00001 :: is_defined_var :: var_is_introduced;
|
||
|
|
var int: INT____00002 :: is_defined_var :: var_is_introduced;
|
||
|
|
var int: INT____00003 :: is_defined_var :: var_is_introduced;
|
||
|
|
var int: total_value :: output_var = INT____00003;
|
||
|
|
var int: total_volume :: output_var = INT____00001;
|
||
|
|
var int: total_weight :: output_var = INT____00002;
|
||
|
|
array [1..3] of var int: x :: output_array([1..3]);
|
||
|
|
constraint int_le(0, x[1]);
|
||
|
|
constraint int_le(0, x[2]);
|
||
|
|
constraint int_le(0, x[3]);
|
||
|
|
constraint int_le(INT____00001, 250);
|
||
|
|
constraint int_le(INT____00002, 250);
|
||
|
|
constraint int_lin_eq([-1, 3, 2, 20], [INT____00002, x[1], x[2], x[3]], 0) :: defines_var(INT____00002);
|
||
|
|
constraint int_lin_eq([-1, 25, 15, 2], [INT____00001, x[1], x[2], x[3]], 0) :: defines_var(INT____00001);
|
||
|
|
constraint int_lin_eq([-1, 3000, 1800, 2500], [INT____00003, x[1], x[2], x[3]], 0) :: defines_var(INT____00003);
|
||
|
|
solve :: int_search(x, first_fail, indomain_max, complete) maximize INT____00003;
|