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:
Comparison
- allDifferent
- allEqual
- ordered (lex)
- precedence
Counting/Summing
Packing/Scheduling
- stretch
- noOverlap
- cumulative
- binPacking
- knapsack
Misc
- instantiation
- slide
- circuit
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