Creative Commons Attribution 4.0 International license
Constraint programming (CP) is used widely for solving real-world problems. However, designing these models require substantial expertise. In this paper, we tackle this problem by synthesizing models automatically from past solutions. We introduce COUNT-CP, which uses simple grammars and a generate-and-aggregate approach to learn expressive first-order constraints typically used in CP as well as their parameters from data. The learned constraints generalize across instances over different sizes and can be used to solve unseen instances - e.g., learning constraints from a 4×4 Sudoku to solve a 9×9 Sudoku or learning nurse staffing requirements across hospitals. COUNT-CP is implemented using the CPMpy constraint programming and modelling environment to produce constraints with nested mathematical expressions. The method is empirically evaluated on a set of suitable benchmark problems and shows to learn accurate and compact models quickly.
@InProceedings{kumar_et_al:LIPIcs.CP.2022.29,
author = {Kumar, Mohit and Kolb, Samuel and Guns, Tias},
title = {{Learning Constraint Programming Models from Data Using Generate-And-Aggregate}},
booktitle = {28th International Conference on Principles and Practice of Constraint Programming (CP 2022)},
pages = {29:1--29:16},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-240-2},
ISSN = {1868-8969},
year = {2022},
volume = {235},
editor = {Solnon, Christine},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.CP.2022.29},
URN = {urn:nbn:de:0030-drops-166580},
doi = {10.4230/LIPIcs.CP.2022.29},
annote = {Keywords: Constraint Learning, Constraint Programming, Model Synthesis}
}