The Finite Domain Constraint Solver of SWI-Prolog

   Info_icon.svg       BibTeX_logo.svg   
Markus Triska
Tom Schrijvers, Peter Thiemann (eds.)
Functional and Logic Programming. FLOPS 2012, pages 307–316
Lecture Notes in Computer Science 7294
Springer
2012

We present a new constraint solver over finite domains, freely available as library(clpfd) in SWI-Prolog. Our solver has several unique features, which we describe in this paper: Reasoning over arbitrarily large integers, always terminating propagation, and a domain-specific language that concisely expresses the full semantics of constraint reification. The library is entirely written in Prolog and can be easily ported to other Prolog systems that support attributed variables. The constraint solver is fast enough for teaching and research purposes and is already being used in courses at several universities in France, Germany, Italy, Austria and other countries.

origin event
journal or series
Journal_icon.svg Lecture Notes in Computer Science (LNCS)