Pierre Flener
Division of Computing Science
Department of Information Technology
Uppsala University
Constraint Programming (CP) is a relatively recent programming paradigm, geared towards
the elegant modelling and efficient solving of combinatorial problems, which are so ubiquitous
and important in management, engineering, and science. CP works in a way orthogonal and
complementary to other optimisation technologies, such as linear programming (LP), integer
programming (IP), Boolean satisfiability (SAT), etc. CP handles satisfaction and
optimisation problems, discrete and continuous variables, linear and non-linear constraints,
in any combination thereof, by global search (if optimality is more important than speed)
or by local search (if speed is more important than optimality). CP has become the technology
of choice in some areas, such as scheduling, time-tabling, rostering, and configuration.
CP was identified by the ACM as a strategic direction in computing research.
I will first present the essential principles of CP and contrast them with those of LP/IP/SAT/etc, thereby revealing opportunities for hybridisation. I will also present some of the activities at my ASTRA research group within CP and with CP, such as modelling language design, symmetry detection and exploitation, local search, air traffic control, computational finance, and bioinformatics.