var int: A1; var int: A2; var int: A3; var int: B1; var int: B2; var int: B3; var int: C1; var int: C2; var int: C3; var int: D1; var int: D2; var int: D3; var int: INT____00001 :: is_defined_var :: var_is_introduced; var int: Obj :: output_var = INT____00001; array [1..12] of var int: Vars :: output_array([1..12]) = [A1, A2, A3, B1, B2, B3, C1, C2, C3, D1, D2, D3]; constraint int_le(0, A1); constraint int_le(0, A2); constraint int_le(0, A3); constraint int_le(0, B1); constraint int_le(0, B2); constraint int_le(0, B3); constraint int_le(0, C1); constraint int_le(0, C2); constraint int_le(0, C3); constraint int_le(0, D1); constraint int_le(0, D2); constraint int_le(0, D3); constraint int_le(0, INT____00001); constraint int_le(0, Obj); constraint int_lin_eq([1, 1, 1], [A1, A2, A3], 200); constraint int_lin_eq([1, 1, 1], [B1, B2, B3], 400); constraint int_lin_eq([1, 1, 1], [C1, C2, C3], 300); constraint int_lin_eq([1, 1, 1], [D1, D2, D3], 100); constraint int_lin_eq([-1, 10, 7, 11, 8, 5, 10, 5, 5, 8, 9, 3, 7], [INT____00001, A1, A2, A3, B1, B2, B3, C1, C2, C3, D1, D2, D3], 0) :: defines_var(INT____00001); constraint int_lin_le([1, 1, 1, 1], [A1, B1, C1, D1], 500); constraint int_lin_le([1, 1, 1, 1], [A2, B2, C2, D2], 300); constraint int_lin_le([1, 1, 1, 1], [A3, B3, C3, D3], 400); solve :: int_search(Vars, first_fail, indomain_split, complete) minimize INT____00001;