array [1..66] of int: items = [9, 150, 1, 13, 35, 1, 153, 200, 2, 50, 60, 2, 15, 60, 2, 68, 45, 3, 27, 60, 3, 39, 40, 3, 23, 30, 1, 52, 10, 3, 11, 70, 1, 32, 30, 1, 24, 15, 2, 48, 10, 2, 73, 40, 1, 42, 70, 1, 43, 75, 1, 22, 80, 1, 7, 20, 1, 18, 12, 2, 4, 50, 1, 30, 10, 2]; var 0..400: INT____00001 :: is_defined_var :: var_is_introduced; var 0..3516: INT____00002 :: is_defined_var :: var_is_introduced; var 0..3516: total_value :: output_var = INT____00002; var 0..2409: total_weight :: output_var = INT____00001; array [1..22] of var 0..3: x :: output_array([1..22]); constraint int_le(x[1], 1); constraint int_le(x[2], 1); constraint int_le(x[3], 2); constraint int_le(x[4], 2); constraint int_le(x[5], 2); constraint int_le(x[9], 1); constraint int_le(x[11], 1); constraint int_le(x[12], 1); constraint int_le(x[13], 2); constraint int_le(x[14], 2); constraint int_le(x[15], 1); constraint int_le(x[16], 1); constraint int_le(x[17], 1); constraint int_le(x[18], 1); constraint int_le(x[19], 1); constraint int_le(x[20], 2); constraint int_le(x[21], 1); constraint int_le(x[22], 2); constraint int_lin_eq([-1, 9, 13, 153, 50, 15, 68, 27, 39, 23, 52, 11, 32, 24, 48, 73, 42, 43, 22, 7, 18, 4, 30], [INT____00001, x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22]], 0) :: defines_var(INT____00001); constraint int_lin_eq([-1, 150, 35, 200, 60, 60, 45, 60, 40, 30, 10, 70, 30, 15, 10, 40, 70, 75, 80, 20, 12, 50, 10], [INT____00002, x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22]], 0) :: defines_var(INT____00002); solve :: int_search(x, anti_first_fail, indomain_max, complete) maximize INT____00002;