CP24 Tutorial: Constraint Acquisition - A tutorial on Learning Constraint Models

Date:

Constraint Programming (CP) is a powerful paradigm for solving complex combinatorial problems, but its adoption is often hindered by the expertise required for modeling. Constraint Acquisition (CA) aims to mitigate this bottleneck by semi-automating the modeling process. This tutorial provides a comprehensive introduction to CA, covering both passive and interactive learning approaches.

For passive acquisition, we explored CA techniques for learning constraint models from datasets of existing solutions and non-solutions. We discussed different approaches that focus on learning fixed-arity or global constraints, handling noise, and generalizing the learned models to handle varying problem instances. We also reviewed interactive CA techniques, highlighting the recent integration of statistical Machine Learning methods that enhance efficiency by reducing the number of queries needed. During the tutorial, state-of-the-art CA systems implemented in the open-source CPMpy modeling language were demonstrated, introducing the PyConA python library for constraint acquisition. Finally, we discussed current challenges and future directions in constraint acquisition research.

slides

demo notebook