🤖 AI Summary
This work addresses the practical limitations of expensive yet powerful propagators—such as Energetic Reasoning—in constraint programming, which, despite their strong pruning capabilities, incur substantial computational overhead. To mitigate this issue, the paper proposes a hybrid framework that integrates static machine learning with dynamic search heuristics to control propagator activation. Specifically, a supervised learning approach is employed to construct a predictor function that dynamically decides whether to invoke the costly propagator during search. The authors design a set of effective instance-specific features and train a high-accuracy classification model, achieving, for the first time, seamless integration of such a predictive mechanism into a modern constraint solver. Experimental results demonstrate the feasibility of the approach and shed light on key challenges and design principles for building efficient propagator selection strategies.
📝 Abstract
One of the main strengths of Constraint Programming is the ability to reduce the search space via propagation. However, propagation is a double-edged sword, with more pruning power coming at the price of larger computation time. For each problem constraint, the best propagator depends on the specific instance and may change at search time. In the literature, Machine Learning (ML) techniques and activity-based heuristics have been applied respectively for choosing (statically) the propagators for a batch of problems and to adapt (dynamically) the propagation strength. We propose to merge those efforts by using an oracle function, obtained via ML, to decide whether to run complex propagators for a target constraint. A combination of design choices makes the approach flexible and easy to embed in state-of-the-art solvers. In this paper, we focus on investigating the feasibility of building an oracle for the Energetic Reasoning propagator. Our experiments show that high prediction accuracy can be obtained, provide suggestions for classification features, and highlight important issues to address when building such an oracle.