XCSP3 and its ecosystem


In this paper, we present a summary of XCSP3, together with its ecosystem. XCSP3 is a format used to build integrated representations of combinatorial constrained problems. Interestingly, XCSP3 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 XCSP3 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 JvCSP3, is the last developed piece of this complete production chain.

This is a preview of subscription content, log in to check access.

Fig. 1
Fig. 2


  1. 1.

    JvCSP3 was previously called MCSP3.

  2. 2.

    When ordered is defined over lists of variables, it becomes more complex. It can be called lex [19] in XCSP3.

  3. 3.

    Other competitions exist in the community: SAT, PB and MiniZinc competitions, for example.


  1. 1.

    Akgun, O., Frisch, A., Gent, I., Hussain, B., Jefferson, C., Kotthoff, L., Miguel, I., Nightingale, P. (2013). Automated symmetry breaking and model selection in Conjure. In Proceedings of CP’13 (pp. 107–116).

  2. 2.

    Becket, R. Specification of FlatZinc (2014) Technical report, G12. http://www.minizinc.org/downloads/doc-1.6/flatzinc-spec.pdf.

  3. 3.

    Beldiceanu, N., & Contejean, E. (1994). Introducing global constraints in CHIP. Mathematical and Computer Modelling, 20(12), 97–123.

    Article  Google Scholar 

  4. 4.

    Benedetti, M., Lallouet, A., Vautard, J. (2007). QCSP made practical by virtue of restricted quantification. In Proceedings of IJCAI’07 (pp. 6–12).

  5. 5.

    Bessiere, C., Cardon, S., Debruyne, R., Lecoutre, C. (2011). Efficient algorithms for singleton arc consistency. Constraints, 16(1), 25–53.

    MathSciNet  Article  Google Scholar 

  6. 6.

    Bessiere, C., Hebrard, E., Hnich, B., Kiziltan, Z., Walsh, T. (2008). SLIDE A useful special case of the CARDPATH constraint. In Proceedings of ECAI’08 (pp. 475–479).

  7. 7.

    Bessiere, C., Meseguer, P., Freuder, E. C., Larrosa, J. (2002). On Forward Checking for non-binary constraint satisfaction. Artificial Intelligence, 141, 205–224.

    MathSciNet  Article  Google Scholar 

  8. 8.

    Bordeaux, L., & Monfroy, E. (2002). Beyond NP Arc-Consistency for quantified constraints. In Proceedings of CP’02 (pp. 371–386).

  9. 9.

    Boussemart, F., Hemery, F., Lecoutre, C., Sais, L. (2004). Boosting systematic search by weighting constraints. In Proceedings of ECAI’04 (pp. 146–150).

  10. 10.

    Boussemart, F., Lecoutre, C., Audemard, G., Piette, C. (2016). XCSP3: an integrated format for benchmarking combinatorial constrained problems. CoRR, arXiv:1611.03398.

  11. 11.

    Carlier, J. (1982). The one-machine sequencing problem. European Journal of Operational Research, 11, 42–47.

    MathSciNet  Article  Google Scholar 

  12. 12.

    Carlsson, M., & Beldiceanu, N. (2004). From constraints to finite automata to filtering algorithms. In Proceedings of ESOP’04 (pp. 94–108).

  13. 13.

    Dechter, R. (2003). Constraint processing: Morgan Kaufmann.

  14. 14.

    Faltings, B. (1994). Arc consistency for continuous variables. Artificial Intelligence, 65, 363–376.

    MathSciNet  Article  Google Scholar 

  15. 15.

    Feydy, T., Somogyi, Z., Stuckey, P. (2011). Half reification and flattening. In Proceedings of CP’11 (pp. 286–301).

  16. 16.

    Flener, P., Pearson, J., Ågren, M. (2004). Introducing ESRA, a relational language for modelling combinatorial problems. In LOPSTR’03: Revised Selected Papers (pp. 214–232).

  17. 17.

    Frisch, A., Grum, M., Jefferson, C., Martinez Hernandez, B., Miguel, I. (2007). The design of ESSENCE: a constraint language for specifying combinatorial problems. In Proceedings of IJCAI’07 (pp. 80–87).

  18. 18.

    Frisch, A., Harvey, W., Jefferson, C., Martínez Hernández, B., Miguel, I. (2008). Essence: A constraint language for specifying combinatorial problems. Constraints, 13(3), 268–306.

    MathSciNet  Article  Google Scholar 

  19. 19.

    Frisch, A., Hnich, B., Kiziltan, Z., Miguel, I., Walsh, T. (2006). Propagation algorithms for lexicographic ordering constraints. Artificial Intelligence, 170(10), 803–834.

    MathSciNet  Article  Google Scholar 

  20. 20.

    Gervet, C. (1997). Interval propagation to reason about sets: Definition and implementation of a practical language. Constraints, 1(3), 191–244.

    MathSciNet  Article  Google Scholar 

  21. 21.

    Gervet, C. (2006). Constraints over structured domains. In Handbook of Constraint Programming, chapter 17 (pp. 603–636): Elsevier.

  22. 22.

    Hebrard, E., O’Mahony, E., O’Sullivan, B. (2010). Constraint programming and combinatorial optimisation in Numberjack. In Proceedings of CPAIOR’10 (pp. 181–185).

  23. 23.

    Hnich, B., Kiziltan, Z., Walsh, T. CSPLib Problem 030: Balanced academic curriculum problem. http://www.csplib.org/Problems/prob030.

  24. 24.

    Hoos, H. CSPLib Problem 007: All-interval series. http://www.csplib.org/Problems/prob007.

  25. 25.

    Hwang, J., & Mitchell, D.G. (2005). 2-way vs d-way branching for CSP. In Proceedings of CP’05 (pp. 343–357).

  26. 26.

    Jefferson, C., Miguel, I., Hnich, B., Walsh, T., Gent, I. (1999). CSPLib A problem library for constraints http://www.csplib.org.

  27. 27.

    Katsirelos, G., & Walsh, T. (2007). A compression algorithm for large arity extensional constraints. In Proceedings of CP’07 (pp. 379–393).

  28. 28.

    Larrosa, J. (2002). Node and arc consistency in weighted CSP. In Proceedings of AAAI’02 (pp. 48–53).

  29. 29.

    Lecoutre, C. MCSP3: Easy modeling for everybody (2018) Technical report, CRIL. https://github.com/xcsp3team/XCSP3-Java-Tools/tree/master/doc.

  30. 30.

    Lecoutre, C., & Roussel, O. Proceedings of the 2018 XCSP3 competition (2018) Technical report, CRIL, https://www.cril.univ-artois.fr/~lecoutre/papers/XCSP3_2018_Proceedings.pdf.

  31. 31.

    Ligozat, G., & Renz, J. (2004). What is a qualitative calculus? a general framework. In Proceedings of PRICAI’04 (pp. 53–64).

  32. 32.

    Mairy, J. B., Deville, Y., Lecoutre, C. (2015). The smart table constraint. In Proceedings of CPAIOR’15 (pp. 271–287).

  33. 33.

    Marriott, K., Nethercote, N., Rafeh, R., Stuckey, P., Garcia de la Banda, M., Wallace, M. (2008). The design of the Zinc modelling language. Constraints, 13(3), 229–267.

    MathSciNet  Article  Google Scholar 

  34. 34.

    Meseguer, P., Rossi, F., Schiex, T. (2006). Soft constraints. In Handbook of Constraint Programming, chapter 9 (pp. 281–328); Elsevier.

  35. 35.

    Montanari, U. (1974). Network of constraints: Fundamental properties and applications to picture processing. Information Science, 7, 95–132.

    MathSciNet  Article  Google Scholar 

  36. 36.

    Nethercote, N., Stuckey, P., Becket, R., Brand, S., Duck, G., Tack, G. (2007). MiniZinc Towards a standard CP modelling language. In Proceedings of CP’07 (pp. 529–543).

  37. 37.

    Nightingale, P., Akgün, O., Gent, I., Jefferson, C., Miguel, I., Spracklen, P. (2017). Automatically improving constraint models in Savile Row. Artificial Intelligence, 251, 35–61.

    MathSciNet  Article  Google Scholar 

  38. 38.

    Nightingale, P., Gent, I. P., Jefferson, C., Miguel, I. (2013). Short and long supports for constraint propagation. Journal of Artificial Intelligence Research, 46, 1–45.

    MathSciNet  Article  Google Scholar 

  39. 39.

    Nightingale, P., & Rendl, A. (2016). Essence’ description. Technical Report arXiv:1601.02865, coRR.

  40. 40.

    OscaR Team. OscaR: Scala in OR, 2012. Available from https://bitbucket.org/oscarlib/oscar.

  41. 41.

    Pesant, G. (2004). A regular language membership constraint for finite sequences of variables. In Proceedings of CP’04 (pp. 482–495).

  42. 42.

    Roussel, O., & Lecoutre, C. (2009). XML representation of constraint networks Format XCSP 2.1. Technical Report arXiv:0902.2362 coRR.

  43. 43.

    Schulte, C., & Tack, G. (2013). View-based propagator derivation. Constraints, 18(1), 75–107.

    MathSciNet  Article  Google Scholar 

  44. 44.

    The Choco Team. (2008). Choco: an open source Java constraint programming library. In van Dongen, M.R.C., Lecoutre, C., Roussel, O. (Eds.) Proceedings of the third constraint solver competition. http://www.cril.univ-artois.fr/CPAI08/Competition-08.pdf (pp. 8–14).

  45. 45.

    Tsang, E., Mills, P., Williams, R., Ford, J., Borrett, J. (1999). A computer-aided constraint programming system. In Proceedings of PACLP’99 (pp. 81–93).

  46. 46.

    van Dongen, M.R.C., Lecoutre, C., Roussel, O. (eds.) (2008). Proceedings of the third constraint solver competition. http://www.cril.univ-artois.fr/CPAI08/Competition-08.pdf.

  47. 47.

    van Hentenryck, P. (1999). The OPL Optimization Programming Language: The MIT Press.

  48. 48.

    World Wide Web Consortium (W3C) (1997). Extensible Markup Language (XML) http://www.w3.org/XML/.

  49. 49.

    Walsh, T. (2002). Stochastic constraint programming. In Proceedings of ECAI’02 (pp. 111–115).

  50. 50.

    Yokoo, M. (2001). Distributed constraint satisfaction: Springer.

  51. 51.

    Zhou, J. (2000). Introduction to the constraint language NCL. Journal of Logic Programming, 45(1-3), 71–103.

    MathSciNet  Article  Google Scholar 

  52. 52.

    Zhou, N.F., Kjellerstrand, H., Fruhman, J. (2017). Constraint solving and planning with picat: Springer.

Download references


This work has been supported by the project CPER Data from the region “Hauts-de-France”.

Author information



Corresponding author

Correspondence to Gilles Audemard.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Audemard, G., Boussemart, F., Lecoutre, C. et al. XCSP3 and its ecosystem. Constraints 25, 47–69 (2020). https://doi.org/10.1007/s10601-019-09307-9

Download citation


  • Format
  • Modeling