Table of Contents
Fetching ...

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.

XCSP3-core: A Format for Representing Constraint Satisfaction/Optimization Problems

TL;DR

The paper defines -core as a compact, structured subset of the broader 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.

Paper Structure

This paper contains 260 sections, 4 equations, 7 figures, 3 tables.

Figures (7)

  • Figure 1: Modeling Languages, Intermediate and Flat Formats.
  • Figure 2: Complete process for modeling and solving combinatorial constrained problems.
  • Figure 3: A toy constraint network.
  • Figure 4: The different types of variables
  • Figure 5: The domain of an undirected graph variable $g$
  • ...and 2 more figures

Theorems & Definitions (53)

  • Remark 1
  • Remark 2
  • Remark 3
  • Remark 4
  • Remark 5
  • Remark 6
  • Remark 7
  • Remark 8
  • Remark 9
  • Remark 10
  • ...and 43 more