Title
On matrices, automata, and double counting in constraint programming
Abstract
Matrix models are ubiquitous for constraint problems. Many such problems have a matrix of variables $\mathcal{M}$ , with the same constraint C defined by a finite-state automaton $\mathcal{A}$ on each row of $\mathcal{M}$ and a global cardinality constraint $\mathit{gcc}$ on each column of $\mathcal{M}$ . We give two methods for deriving, by double counting, necessary conditions on the cardinality variables of the $\mathit{gcc}$ constraints from the automaton $\mathcal{A}$ . The first method yields linear necessary conditions and simple arithmetic constraints. The second method introduces the cardinality automaton, which abstracts the overall behaviour of all the row automata and can be encoded by a set of linear constraints. We also provide a domain consistency filtering algorithm for the conjunction of lexicographic ordering constraints between adjacent rows of $\mathcal{M}$ and (possibly different) automaton constraints on the rows. We evaluate the impact of our methods in terms of runtime and search effort on a large set of nurse rostering problem instances.
Year
DOI
Venue
2013
10.1007/s10601-012-9134-y
Constraints
Keywords
Field
DocType
Double counting,Necessary (implied) constraint,Matrix model,Automaton constraint,Nurse scheduling
Row,Discrete mathematics,Combinatorics,Mathematical optimization,Matrix (mathematics),Automaton,Constraint programming,Cardinality,Filter (signal processing),Nurse scheduling problem,Lexicographical order,Mathematics
Journal
Volume
Issue
ISSN
18
1
1383-7133
Citations 
PageRank 
References 
2
0.37
15
Authors
4
Name
Order
Citations
PageRank
Nicolas Beldiceanu154751.14
Mats Carlsson297579.24
Pierre Flener353350.28
Justin Pearson423724.28