Decomposing the Infinite: Bridging Formal Grammars and SAT Solvers
Decompositions of Grammar Constraints
This paper presents a framework for decomposing complex global constraints, specifically REGULAR and GRAMMAR constraints, into primitive constraints. It enables the use of formal languages (automata and context-free grammars) to specify combinatorial problems, allowing them to be solved efficiently using state-of-the-art SAT and MIP solvers.
TL;DR
This work revolutionizes how we handle complex structural constraints by treating them as formal languages. By decomposing REGULAR and GRAMMAR constraints into primitive logical units, the authors allow standard SAT and MIP solvers to reason about complex schedules and configurations with the efficiency of specialized algorithms, achieving or even propagation complexity.
The Gap Between Modeling and Solving
In the world of Constraint Programming (CP), there is a persistent friction between expressivity and performance. While tools like Mixed Integer Programming (MIP) are "model and run," CP often requires hand-crafted "global constraints" to be efficient.
The authors identify a massive opportunity: Formal Language Theory. Many real-world problems—like rostering (where shifts must follow specific patterns) or configuration (where parts must fit hierarchies)—are essentially strings that must belong to a specific language. However, monolithic propagators for these grammars are "black boxes" that don't benefit from modern solver techniques like conflict-driven clause learning or fast unit propagation.
Methodology: The Power of Decomposition
The core insight is that a Context-Free Grammar (CFG) can be broken down. Instead of one giant constraint, the authors use an AND/OR decomposition based on the Cocke-Younger-Kasami (CYK) parsing algorithm.
1. The REGULAR Constraint
For regular languages, the constraint is decomposed into a sequence of ternary constraints representing state transitions: Where represents the state of the automaton. This allows the solver to "see" the internal state of the process, making it trivial to add costs or cardinality constraints to specific states.
2. The GRAMMAR Constraint
For more complex, hierarchical rules (Context-Free), the authors map the CYK parser's logic into a SAT-friendly structure.

By representing the production rules () as logical implications, the solver can prune the search space incrementally.
Why this is a breakthrough:
- Incrementality: Unlike a monolithic propagator that might re-run from scratch, a decomposed constraint only wakes up the specific variables that changed.
- Backtracking: Using "watched literals" in SAT solvers, the system can backtrack in constant time, a massive win over traditional CP engines.
Experiments: Shift-Scheduling Sovereignty
The authors tested their approach on complex shift-scheduling benchmarks. An employee's day is divided into 96 slots (15 mins each), and their sequence of activities must satisfy a grammar (e.g., "Work cannot be followed by Rest without a Break").
Key Results:
- Efficiency: The SAT decomposition prunes as much as the most expensive monolithic propagators but does so faster in practice.
- MIP Synergy: When translated to Mixed Integer Programming, the decomposition provides a tight linear relaxation, making "hard" scheduling problems solvable by off-the-shelf MIP solvers.
Critical Analysis & Future Outlook
The beauty of this work lies in its Inductive Bias. By forcing the problem into the structure of a grammar, we provide the solver with a high-level "map" of the valid solution space.
Limitations: While is standard for CFG parsing, it can still be slow for extremely long sequences (e.g., thousands of variables). The memory footprint of the decomposition also grows with the size of the grammar.
The Future: This research paves the way for "Grammar Induction"—where a system learns the constraints of a business process just by looking at past schedules. As we move towards more "AI-driven" optimization, the ability to decompose high-level linguistic rules into low-level bits and bytes will be the cornerstone of hybridized solvers.
Takeaway
Don't build a better propagator; build a better decomposition. By exposing the internal logic of a constraint to the solver, we allow the solver's native intelligence (heuristics and learning) to do the heavy lifting.
