Logic Programming

Volume 2237 of the series Lecture Notes in Computer Science pp 59-73


Revisiting the Cardinality Operator and Introducing the Cardinality-PathConstraint Family

  • Nicolas BeldiceanuAffiliated withSICS
  • , Mats CarlssonAffiliated withSICS

* Final gross prices may vary according to local VAT.

Get Access


This paper revisits the classical cardinality operator introducing new propagation rules that operate on variables that occur in more than one constraint. It also introduces a restricted case of the cardinality operator which is characterized by a structure of sliding constraints on consecutive variables. We call it cardinality-path and take advantage of these restrictions in order to come up with more efficient propagation algorithms. From an application point of view the cardinality-path constraint allows to express a host of regulation constraints occurring in personnel planning problems. We have used the metaprogramming services of Prolog in order to implement the cardinality-path constraint within SICStus Prolog.