【问题标题】:Better Modelling language for MosekMosek 更好的建模语言
【发布时间】:2021-05-26 07:15:53
【问题描述】:

我们正在制定一个优化问题并使用 Mosek 求解器。

但对于 Mosek 来说,哪个是更好的建模框架,其中包括:

  1. Cvxpy:之前我们使用了 Cvxpy,但它缺少 Mosek 优化器 API 中的一些功能(例如解决方案初始化)。
  2. Mosek Optimizer API: Cvxpy 似乎对问题进行了重大转换,然后才将其交给 Mosek。如果我们直接使用 Mosek Optimizer API,这将丢失。这种转变对 mosek 真的有帮助(改变游戏规则)吗?

在一行中,两种选择是否有明显的赢家,或者我们需要找到一个平衡点?

【问题讨论】:

  • 你的意思是 Mosek 的 Fusion API 是三者中最好的吗?
  • 他们都有优点。 Fusion 接近 Mosek API,因此您可以例如传递初始解决方案,它还可以对变量进行线性代数并像在 cvxpy 中一样对线性表达式进行操作。它没有像 cvxpy 这样的现成圆锥原子,一些圆锥形的变换留给用户。但是你可以写 Ax+b \in Cone.

标签: optimization cvxpy mosek


【解决方案1】:

没有明确的赢家,这取决于您的问题。如果计算时间至关重要并且给出初始解决方案是改变游戏规则的:直接使用 mosek。但是,这将需要您仔细制定问题并放弃默认情况下 cvxpy 提供的转换和重新制定。 cvxpy 还提供了一些可能有用的附加功能(衍生物等)。

没有正确或错误的答案,两者都放在您的工具箱中很棒。这就像是在问“C 还是 Python 哪个更好?”这仅取决于您的需求。

【讨论】:

    猜你喜欢
    • 2012-05-18
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 2011-12-09
    • 1970-01-01
    • 2011-07-12
    • 2016-08-14
    • 2019-07-24
    相关资源
    最近更新 更多