Constraints
https://doi.org/10.1007/s10601-019-09307-9
XCSP
3
and its ecosystem
Gilles Audemard
1
· Fr´ ed´ eric Boussemart
1
· Christophe Lecoutre
1
· C´ edric Piette
1
·
Olivier Roussel
1
© Springer Science+Business Media, LLC, part of Springer Nature 2020
Abstract
In this paper, we present a summary of XCSP
3
, together with its ecosystem. XCSP
3
is
a format used to build integrated representations of combinatorial constrained problems.
Interestingly, XCSP
3
preserves the structure of models, by handling arrays of variables and
groups/blocks of constraints, which makes it rather unique in the literature. Furthermore, the
ecosystem of XCSP
3
is well supplied: it includes companion tools (parsers and checkers),
a website with a search engine for selecting and downloading instances, and competitions
of solvers. The Java-based modeling API, called JvCSP
3
, is the last developed piece of this
complete production chain.
Keywords Format · Modeling
1 Introduction
In this paper, we present XCSP
3
and its ecosystem. XCSP
3
is a major extension of the basic
format XCSP 2.1 [42] that was introduced in 2009. XCSP
3
is a format that allows us to build
integrated representations of combinatorial constrained problems. Actually, XCSP
3
can be
seen as an intermediate Constraint Programming format preserving the structure of models.
In other words, XCSP
3
is neither a flat format, such as XCSP 2.1 [42] or FlatZinc [2], nor
a modeling language such as MiniZinc [36] or ESSENCE [17]. This is shown graphically
in Fig. 1, and discussed throughout this paper. While modeling languages provide facilities
Gilles Audemard
audemard@cril.fr
Fr´ ed´ eric Boussemart
boussemart@cril.fr
Christophe Lecoutre
lecoutre@cril.fr
C´ edric Piette
piette@cril.fr
Olivier Roussel
roussel@cril.fr
1
CRIL-CNRS, UMR 8188, University of Artois, Lens, France