Optimizing Optimizations: Case Study on Detecting Specific Types of Mathematical Optimization Constraints with E-Graphs in JijModeling
Hiromi Ishii (1), Taro Shimizu (1), Toshiki Teramura (1) ((1) Jij, Inc.)

TL;DR
This paper presents a case study on using e-graphs for detecting specific constraint types in mathematical optimization models, demonstrating performance improvements and introducing a utility library for easier rewriting system development.
Contribution
It introduces a novel constraint detection mechanism using e-graphs in JijModeling and provides heuristics and tools for designing effective rewriting systems.
Findings
Constraint detection improves optimization performance.
Benchmark results show significant speedups.
egg_recursive simplifies rewriting system implementation.
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Mathematics, Computing, and Information Processing · Model-Driven Software Engineering Techniques
