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;