41
1

Automatic Tabulation in Constraint Models

Main:51 Pages
21 Figures
Bibliography:7 Pages
6 Tables
Abstract

The performance of a constraint model can often be improved by converting a subproblem into a single table constraint. In this paper we study heuristics for identifying promising candidate subproblems, where converting the candidate into a table constraint is likely to improve solver performance. We propose a small set of heuristics to identify common cases, such as expressions that will propagate weakly. The process of discovering promising subproblems and tabulating them is entirely automated in the constraint modelling tool Savile Row. Caches are implemented to avoid tabulating equivalent subproblems many times. We give a simple algorithm to generate table constraints directly from a constraint expression in \savilerow. We demonstrate good performance on the benchmark problems used in earlier work on tabulation, and also for several new problem classes. In some cases, the entirely automated process leads to orders of magnitude improvements in solver performance.

View on arXiv
@article{akgün2025_2202.13250,
  title={ TabID: Automatic Identification and Tabulation of Subproblems in Constraint Models },
  author={ Özgür Akgün and Ian P. Gent and Christopher Jefferson and Zeynep Kiziltan and Ian Miguel and Peter Nightingale and András Z. Salamon and Felix Ulrich-Oltean },
  journal={arXiv preprint arXiv:2202.13250},
  year={ 2025 }
}
Comments on this paper