Effective compilation of constraint models
Abstract
Constraint Programming is a powerful technique for solving large-scale combinatorial (optimisation)
problems. However, it is often inaccessible to users without expert knowledge
in the area, precluding the wide-spread use of Constraint Programming techniques. This
thesis addresses this issue in three main contributions.
First, we propose a simple ‘model-and-solve’ approach, consisting of a framework where
the user formulates a solver-independent problem model, which is then automatically tailored
to the input format of a selected constraint solver (a process similar to compiling a
high-level modelling language to machine code). The solver is then executed on the input,
solver, and solutions (if they exist) are returned to the user. This allows the user to
formulate constraint models without requiring any particular background knowledge of the
respective solver and its solving technique. Furthermore, since the framework can target
several solvers, the user can explore different types of solvers.
Second, we extend the tailoring process with model optimisations that can compensate for a
wide selection of poor modelling choices that novices (and experts) in Constraint Programming
often make and hence result in redundancies. The elimination of these redundancies
by the proposed optimisation techniques can result in solving time speedups of over an
order of magnitude, in both naive and expert models. Furthermore, the optimisations are
particularly light-weight, adding negligible overhead to the overall translation process.
The third contribution is the implementation of this framework in the tool TAILOR, that
currently translates 2 different solver-independent modelling languages to 3 different solver
formats and is freely available online. It performs almost all optimisation techniques that
are proposed in this thesis and demonstrates its significance in our empirical analysis.
In summary, this thesis presents a framework that facilitates modelling for both experts
and novices: problems can be formulated in a clear, high-level fashion, without requiring
any particular background knowledge about constraint solvers and their solving techniques,
while (sometimes naturally occurring) redundancies in the model are eliminated for practically
no additional cost, improving the respective model in solving performance by up to
an order of magnitude.
Type
Thesis, PhD Doctor of Philosophy
Collections
Items in the St Andrews Research Repository are protected by copyright, with all rights reserved, unless otherwise indicated.