TL;DR
This paper presents a modular rewriting system integrated into CVXPY that translates convex optimization problems into solver-compatible forms through analysis and canonicalization, enhancing solver matching and support.
Contribution
It introduces a novel modular rewriting framework with reductions as first-class objects for better problem-to-solver compatibility in convex optimization.
Findings
Implemented in CVXPY 1.0 for convex problems
Supports diverse solver standard forms
Facilitates problem matching to suitable solvers
Abstract
We describe a modular rewriting system for translating optimization problems written in a domain-specific language to forms compatible with low-level solver interfaces. Translation is facilitated by reductions, which accept a category of problems and transform instances of that category to equivalent instances of another category. Our system proceeds in two key phases: analysis, in which we attempt to find a suitable solver for a supplied problem, and canonicalization, in which we rewrite the problem in the selected solver's standard form. We implement the described system in version 1.0 of CVXPY, a domain-specific language for mathematical and especially convex optimization. By treating reductions as first-class objects, our method makes it easy to match problems to solvers well-suited for them and to support solvers with a wide variety of standard forms.
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
