<aside> 🧸 a python-embedded modeling language for convex optimization problems.

</aside>

<aside>

DSL domain specific language 域特定语言

https://opensource.com/article/20/2/domain-specific-languages| 中文

与通用语言(如 C# 或 UML)不同,域特定语言 (DSL) 旨在表达特定问题空间或域中的语句。

https://learn.microsoft.com/zh-cn/visualstudio/modeling/about-domain-specific-languages?view=vs-2022

<aside>


cvxpylayers

输入cvxpy风格优化问题→ 可微映射到锥规划问题→ 求解锥规划问题 → 可微映射到原问题


mosek

MOSEK

  1. MOSEK 证书
  2. MOSEK 接口

DCP - 规范化凸规划

https://zhuanlan.zhihu.com/p/15134986176

https://docs.mosek.com/modeling-cookbook/index.html

问题建模:使用DSL 而非自定义语言变量→ 常用凸约束构成模型模块(原子库)+ 凸性规则集(DCP的保持凸性的变换规则)⇒ 约束是基本锥的交并集 ⇒ 求解器设计者支持基础锥作为标准输入。

image.png

https://docs.mosek.com/latest/pythonfusion/modeling.html

image.png

https://docs.mosek.com/latest/pythonfusion/list-of-domains.html#doc-shared-listdomains

  1. 检查函数凸性

    1. Verifying convexity is NP-hard!

      https://docs.mosek.com/slides/2022/kth/tutorial.html#:~:text=Verifying convexity is NP-hard!

  2. 原问题转换成(凸锥)求解器 的标准模型