We study a family of problems, called Maximum
Solution, where the objective is to maximise a linear goal
function over the feasible integer assignments
to a set of variables subject to a set of constraints.
This problem is closely related to Integer Linear Programming.
When the domain is Boolean (i.e., restricted to $\{0,1\}$), the
maximum solution problem is identical to the well-studied Max
Ones problem, and the approximability is completely understood
for all restrictions on the underlying constraint language.
We continue this line of research by considering domains
containing more than two elements. We observe that the
approximability of the maximum solution problem is completely
determined by the polymorphisms of the underlying constraint
language. Using this observation we manage to classify the
complexity of the maximum solution problem for several
large classes of constraint languages.