scispace - formally typeset
Open AccessProceedings ArticleDOI

Code generation for embedded second-order cone programming

Reads0
Chats0
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.
Abstract
This paper describes a framework for generating easily verifiable code to solve convex optimization problems in embedded applications by transforming them into equivalent second-order cone programs. In embedded applications, it is critical to be able to verify code correctness, but it is also desirable to be able to rapidly prototype and deploy high-performance solvers for different problems. To balance these two requirements, we propose 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. A novel aspect is that we restrict the parameters in the original problem to only appear in affine functions, which lets us map the parameters to problem data without performing any floating point operations. As a result, the generated code is lightweight, fast, and trivial to verify. The approach thus marries the benefits of high-level parser/solvers with custom, high-performance, high-reliability solvers for embedded applications.

read more

Content maybe subject to copyright    Report

Citations
More filters
Posted Content

CVXPY: A Python-Embedded Modeling Language for Convex Optimization

TL;DR: 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.
Journal Article

CVXPY: a python-embedded modeling language for convex optimization

TL;DR: CVXPY as mentioned in this paper is a domain-specific language for convex optimization embedded in Python, which allows the user to express convex optimisation problems in a natural syntax that follows the math, rather than in the restrictive standard form required by solvers.
Proceedings Article

Differentiable Convex Optimization Layers

TL;DR: 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.
Posted Content

A Rewriting System for Convex Optimization Problems

TL;DR: In this article, a modular rewriting system for translating optimization problems written in a domain-specific language to forms compatible with low-level solver interfaces is described, facilitated by reductions which accept a category of problems and transform instances of that category to equivalent instances of another category.
Journal ArticleDOI

Survey of convex optimization for aerospace applications

TL;DR: This paper attempts to provide an overview on the problems to date in aerospace guidance, path planning, and control where convex optimization has been applied and various convexification techniques are reviewed that have been used to convexify the originally nonconvex aerospace problems.
References
More filters
Book

Convex Optimization

TL;DR: In this article, the focus is on recognizing convex optimization problems and then finding the most appropriate technique for solving them, and a comprehensive introduction to the subject is given. But the focus of this book is not on the optimization problem itself, but on the problem of finding the appropriate technique to solve it.
Proceedings ArticleDOI

YALMIP : a toolbox for modeling and optimization in MATLAB

TL;DR: Free MATLAB toolbox YALMIP is introduced, developed initially to model SDPs and solve these by interfacing eternal solvers by making development of optimization problems in general, and control oriented SDP problems in particular, extremely simple.
Book ChapterDOI

Graph Implementations for Nonsmooth Convex Programs

TL;DR: Graph implementations as mentioned in this paper is a generic method for representing a convex function via its epigraph, described in a disciplined convex programming framework, which allows a very wide variety of smooth and nonsmooth convex programs to be easily specified and efficiently solved.
MonographDOI

Lectures on modern convex optimization: analysis, algorithms, and engineering applications

TL;DR: The authors present the basic theory of state-of-the-art polynomial time interior point methods for linear, conic quadratic, and semidefinite programming as well as their numerous applications in engineering.
Journal ArticleDOI

Applications of second-order cone programming

TL;DR: In this paper, an efficient primal-dual interior-point method for solving second-order cone programs (SOCP) is presented. But it is not a generalization of interior point methods for convex problems.