Investigating the Grounding Bottleneck for a Large-Scale Configuration Problem: Existing Tools and Constraint-Aware Guessing
Veronika Semmelrock, Gerhard Friedrich
TL;DR
This paper investigates the grounding bottleneck in large-scale ASP configuration problems, exemplified by a house configuration problem (HCP) that can involve thousands of components. It benchmarks existing grounding mitigation strategies (lazy grounding via Alpha, compilation in ProASP, body-decoupled grounding in Newground) and standard ground-and-solve tools, then introduces constraint-aware guessing (CAG) to prune inconsistent guesses during incremental solving. Empirical results show lazy grounding scales to about 2,000 modules, while ground-and-solve struggles beyond a few hundred; CAG with incremental solving achieves up to 6,200 modules within an hour and delivers substantial memory savings (often exceeding 95% compared with alternatives). The study demonstrates that ASP can scale further for large configuration tasks when advanced grounding strategies and CAG are employed, and it outlines future directions including multi-shot ASP and CSP-based comparisons to address remaining scalability gaps.
Abstract
Answer set programming (ASP) aims to realize the AI vision: The user specifies the problem, and the computer solves it. Indeed, ASP has made this vision true in many application domains. However, will current ASP solving techniques scale up for large configuration problems? As a benchmark for such problems, we investigated the configuration of electronic systems, which may comprise more than 30,000 components. We show the potential and limits of current ASP technology, focusing on methods that address the so-called grounding bottleneck, i.e., the sharp increase of memory demands in the size of the problem instances. To push the limits, we investigated the incremental solving approach, which proved effective in practice. However, even in the incremental approach, memory demands impose significant limits. Based on an analysis of grounding, we developed the method constraint-aware guessing, which significantly reduced the memory need.
