• DocumentCode
    646304
  • Title

    Code generation for embedded second-order cone programming

  • Author

    Chu, Eric ; Parikh, N. ; Domahidi, Alexander ; Boyd, Stephen

  • Author_Institution
    Electr. Eng. Dept., Stanford Univ., Stanford, CA, USA
  • fYear
    2013
  • fDate
    17-19 July 2013
  • Firstpage
    1547
  • Lastpage
    1552
  • 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.
  • Keywords
    convex programming; grammars; investment; program compilers; affine functions; code correctness verification; code generation system; convex optimization problem; easily verifiable code generation; embedded application; embedded second-order cone programming; equivalent second-order cone program; floating point operations; high-level parser; high-level solver; high-performance solvers; portfolio optimization problem; Convex functions; Electronic mail; Generators; Optimization; Portfolios; Programming; Vectors;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Control Conference (ECC), 2013 European
  • Conference_Location
    Zurich
  • Type

    conf

  • Filename
    6669712