XCSP3-core: A Format for Representing Constraint Satisfaction/Optimization Problems
Frédéric Boussemart, Christophe Lecoutre, Gilles Audemard, Cédric Piette
TL;DR
The paper defines $XCXSP^3$-core as a compact, structured subset of the broader $XCSP^3$ format, tailored to the most popular CSP and COP problems. It presents a thorough specification for representing variables, objectives, and a core set of constraints while preserving problem structure through arrays, groups, and views. By offering dedicated Java/C++ parsers and a complete modeling tool chain (including PyCSP3), the work enables reproducible experimentation and fair solver comparisons. The approach emphasizes readability, extensibility, and a clear separation between the modeling architecture and the instance data, supporting both single- and multi-objective optimization within a standardized intermediate format. This has practical impact by standardizing benchmarking, enabling cross-solver evaluation, and facilitating exchange of constraint problem instances across research and competition settings.
Abstract
In this document, we introduce XCSP3-core, a subset of XCSP3 that allows us to represent constraint satisfaction/optimization problems. The interest of XCSP3-core is multiple: (i) focusing on the most popular frameworks (CSP and COP) and constraints, (ii) facilitating the parsing process by means of dedicated XCSP3-core parsers written in Java and C++ (using callback functions), (iii) and defining a core format for comparisons (competitions) of constraint solvers.
