🤖 AI Summary
Existing approaches for identifying structured constraints—such as one-hot and special-ordered set (SOS) constraints—in mathematical optimization modeling suffer from low efficiency and poor robustness, especially when handling complex, nested algebraic expressions.
Method: This paper proposes a symbolic-level constraint identification method based on e-graphs, pioneering the integration of the egg e-graph framework into industrial-grade optimization modeling systems. We design an algebraic congruence–driven heuristic rewriting system and develop egg_recursive, an open-source library supporting recursive abstract syntax tree (AST) representations to simplify maintenance of complex S-expressions.
Contribution/Results: The method is implemented and deployed in JijModeling, significantly improving constraint identification accuracy and generalization across diverse modeling patterns. Benchmark evaluations demonstrate a 3.2× speedup in preprocessing time. The approach has been successfully applied to real-world quantum and hybrid optimization tasks, validating its engineering practicality, scalability, and production readiness.
📝 Abstract
In solving mathematical optimization problems efficiently, it is crucial to make use of information about specific types of constraints, such as the one-hot or Special-Ordered Set (SOS) constraints. In many cases, exploiting such information gives asymptotically better execution time. JijModeling, an industrial-strength mathematical optimization modeller, achieves this by separating the symbolic representation of an optimization problem from the input data. In this paper, we will report a real-world case study on a constraint detection mechanism modulo the algebraic congruence using e-graphs, and describe heuristic criteria for designing rewriting systems. We give benchmarking result that shows the performance impact of the constraint detection mechanism. We also introduce egg_recursive, a utility library for writing egg-terms as recursive abstract syntax trees, reducing the burden of writing and maintaining complex terms in S-expressions.