A Rewriting System for Convex Optimization Problems

@article{Agrawal2017ARS,
  title={A Rewriting System for Convex Optimization Problems},
  author={Akshay Agrawal and Robin Verschueren and Steven Diamond and Stephen P. Boyd},
  journal={ArXiv},
  year={2017},
  volume={abs/1709.04494}
}
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… Expand
Minimizing Oracle-Structured Composite Functions
We consider the problem of minimizing a composite convex function with two different access methods: an oracle, for which we can evaluate the value and gradient, and a structured function, which weExpand
GENO - GENeric Optimization for Classical Machine Learning
TLDR
The optimization framework GENO (GENeric Optimization) is designed and implemented that combines a modeling language with a generic solver that is as efficient as well-engineered specialized solvers and orders of magnitude more efficient than classical modeling language plus solver approaches. Expand
A General Modeling Framework for Robust Optimization
This paper introduces pyropt, a Python programming language package for robust optimization. The package provides a convenient way for expressing robust optimization problems using simple and conciseExpand
OSQP: An Operator Splitting Solver for Quadratic Programs
TLDR
This technique is the first operator splitting method for quadratic programs able to reliably detect primal and dual infeasible problems from the algorithm iterates, making it particularly efficient when solving parametrized problems arising in finance, control, and machine learning. Expand
OSQP: an operator splitting solver for quadratic programs
We present a general-purpose solver for convex quadratic programs based on the alternating direction method of multipliers, employing a novel operator splitting technique that requires the solutionExpand
Differentiating Through a Conic Program
We consider the problem of efficiently computing the derivative of the solution map of a convex cone program, when it exists. We do this by implicitly differentiating the residual map for itsExpand
Differentiable Convex Optimization Layers
TLDR
This paper introduces disciplined parametrized programming, a subset of disciplined convex programming, and demonstrates how to efficiently differentiate through each of these components, allowing for end-to-end analytical differentiation through the entire convex program. Expand
Differentiating Through a Cone Program
We consider the problem of efficiently computing the derivative of the solution map of a convex cone program, when it exists. We do this by implicitly differentiating the residual map for itsExpand
A Steepest Descent Method for Set Optimization Problems with Set-Valued Mappings of Finite Cardinality
In this paper, we study a first order solution method for a particular class of set optimization problems where the solution concept is given by the set approach. We consider the case in which theExpand
Disciplined geometric programming
We introduce log-log convex programs, which are optimization problems with positive variables that become convex when the variables, objective functions, and constraint functions are replaced withExpand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 83 REFERENCES
Convex Optimization in Julia
TLDR
Convex translates problems from a user-friendly functional language into an abstract syntax tree describing the problem, which allows Convex to infer whether the problem complies with the rules of disciplined convex programming (DCP), and to pass the problem to a suitable solver. Expand
CVXPY: A Python-Embedded Modeling Language for Convex Optimization
TLDR
CVXPY allows the user to express convex optimization problems in a natural syntax that follows the math, rather than in the restrictive standard form required by solvers. Expand
JuMP: A Modeling Language for Mathematical Optimization
JuMP is an open-source modeling language that allows users to express a wide range of optimization problems (linear, mixed-integer, quadratic, conic-quadratic, semidefinite, and nonlinear) in aExpand
Code generation for embedded second-order cone programming
TLDR
A code generation system that takes high-level descriptions of convex optimization problems and generates code that maps the parameters in the original problem to data in an equivalent second-order cone program, which is then solved by a single, external solver that can be verified once and for all. Expand
AMPL: A Modeling Language for Mathematical Programming
TLDR
An efficient translator is implemented that takes as input a linear AMPL model and associated data, and produces output suitable for standard linear programming optimizers. Expand
Parameter Selection and Preconditioning for a Graph Form Solver
TLDR
This chapter addresses the critical practical issues of how to select the proximal parameter in each iteration, and how to scale the original problem variables, so as to achieve reliable practical performance. Expand
Block splitting for distributed optimization
TLDR
A general purpose method for solving convex optimization problems in a distributed computing environment that allows for handling each sub-block of $$A$$A on a separate machine if the problem data includes a large linear operator or matrix, and is the only general Purpose method with this property. Expand
Matrix-Free Convex Optimization Modeling
We introduce a convex optimization modeling framework that transforms a convex optimization problem expressed in a form natural and convenient for the user into an equivalent cone program in a wayExpand
A tutorial on geometric programming
Abstract A geometric program (GP) is a type of mathematical optimization problem characterized by objective and constraint functions that have a special form. Recently developed solution methods canExpand
Presolving in linear programming
TLDR
This paper presents a comprehensive survey of presolve methods and discusses the restoration procedure in detail, i.e., the procedure that undoes the presolve. Expand
...
1
2
3
4
5
...