Skip to main content

Abstract Domains in Constraint Programming

  • 1st Edition - May 6, 2015
  • Author: Marie Pelleau
  • Language: English
  • Hardback ISBN:
    9 7 8 - 1 - 7 8 5 4 8 - 0 1 0 - 2
  • eBook ISBN:
    9 7 8 - 0 - 0 8 - 1 0 0 4 6 4 - 7

Constraint Programming aims at solving hard combinatorial problems, with a computation time increasing in practice exponentially. The methods are today efficient enough to solve la… Read more

Abstract Domains in Constraint Programming

Purchase options

Limited Offer

Save 50% on book bundles

Immediately download your ebook while waiting for your print delivery. No promo code is needed.

Book bundle cover eBook and print

Institutional subscription on ScienceDirect

Request a sales quote

Constraint Programming aims at solving hard combinatorial problems, with a computation time increasing in practice exponentially. The methods are today efficient enough to solve large industrial problems, in a generic framework. However, solvers are dedicated to a single variable type: integer or real. Solving mixed problems relies on ad hoc transformations. In another field, Abstract Interpretation offers tools to prove program properties, by studying an abstraction of their concrete semantics, that is, the set of possible values of the variables during an execution. Various representations for these abstractions have been proposed. They are called abstract domains. Abstract domains can mix any type of variables, and even represent relations between the variables.

In this work, we define abstract domains for Constraint Programming, so as to build a generic solving method, dealing with both integer and real variables. We also study the octagons abstract domain, already defined in Abstract Interpretation. Guiding the search by the octagonal relations, we obtain good results on a continuous benchmark. We also define our solving method using Abstract Interpretation techniques, in order to include existing abstract domains. Our solver, AbSolute, is able to solve mixed problems and use relational domains.