are two general approaches for solving complex combinatorial
(optimization) problems. We present a unifying framework for both,
which is based on a distinction of primitive and non-primitive
constraints and a general notion of branch-and-infer. We use this
framework to compare the two approaches with respect to their
modeling and solving capabilities.
Finite domain constraint programming offers a variety of arithmetic
and symbolic constraints, which allow one to model and solve
combinatorial problems in many different ways. Integer linear
programming admits only linear equations and inequalities, but
has developed very efficient methods to handle them (in a global
way).
Our framework shows how integer linear programming can be extended
by symbolic constraints and how algorithmic techniques from linear
programming can be used in combination with finite domain methods.