XCSP3 Specifications
XCSP3
XCSP3 is an XML-based format designed to represent combinatorial constrained problems. XCSP3
- is compact, easy to read and to parse,
- captures the structure of the problem models,
- introduces a limited set of basic constraint forms, and allows many variations of them,
- supports many frameworks introduced in the litterature: CSP, COP, WCSP, QCSP, DisCSP, SCSP, ...
See full specifications.
XCSP3-core
This is a subset of XCSP3, composed of the main concepts of Constraint Programming (although, of course, this is quite subjective). The interest of XCSP3-core is multiple:
- focusing on the most popular constraints,
- facilitating parsing through dedicated parsers in Java and C++,
- defining a core format for future competitions of constraint solvers.
See core specifications
XCSP3-core, targeted for CSP (Constraint Satisfaction Problem) and COP (Constrained Optimization problem), handles integer variables, mono-objective optimization, and 20 important constraints:
Counting/Summing
Packing/Scheduling
Misc
Importantly, as for full XCSP3, the structure of problems (models) can be preserved in XCSP3-core thanks to the following mechanisms:
- arrays of variables
- groups of constraints
- blocks of constraints
- annotations to express search and filtering advices
- a Java 8 parser for XCSP3-core (and also for XCSP3-full)
- a C++ parser for XCSP3-core