{ "id": "1709.04494", "version": "v1", "published": "2017-09-13T18:31:24.000Z", "updated": "2017-09-13T18:31:24.000Z", "title": "A Rewriting System for Convex Optimization Problems", "authors": [ "Akshay Agrawal", "Robin Verschueren", "Steven Diamond", "Stephen Boyd" ], "categories": [ "math.OC" ], "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.", "revisions": [ { "version": "v1", "updated": "2017-09-13T18:31:24.000Z" } ], "analyses": { "keywords": [ "convex optimization problems", "rewriting system", "domain-specific language", "low-level solver interfaces", "translating optimization problems written" ], "note": { "typesetting": "TeX", "pages": 0, "language": "en", "license": "arXiv", "status": "editable" } } }