The finite domain constraint solver of SWI-Prolog

  • Authors:
  • Markus Triska

  • Affiliations:
  • Database and Artificial Intelligence Group, Vienna University of Technology, Austria

  • Venue:
  • FLOPS'12 Proceedings of the 11th international conference on Functional and Logic Programming
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.