基于 CVXPY 的嵌入式代码生成
最优化与控制
2022-04-01 v2
摘要
我们介绍 CVXPYgen,一种用于生成适用于嵌入式应用的定制 C 代码的工具,可求解参数化类的凸优化问题。CVXPYgen 基于 CVXPY——一种 Python 嵌入式领域特定语言,支持以自然语法(遵循数学描述)来指定凸优化问题。除定制求解器的 C 实现外,CVXPYgen 还创建一个用于原型开发与桌面(非嵌入式)应用的 Python 封装。我们给出两个示例:四旋翼飞行器的位置控制与投资组合优化模型的回测。CVXPYgen 在可处理的问题规模、二进制代码大小与求解时间方面均优于最先进的代码生成工具。CVXPYgen 与所生成的求解器均为开源。
引用
@article{arxiv.2203.11419,
title = {Embedded Code Generation with CVXPY},
author = {Maximilian Schaller and Goran Banjac and Steven Diamond and Akshay Agrawal and Bartolomeo Stellato and Stephen Boyd},
journal= {arXiv preprint arXiv:2203.11419},
year = {2022}
}