关于大型线性规划的 mosekopt 迭代实现

On the iterative implementation of mosekopt for large linear programs

我必须求解具有大量约束的线性规划。我使用 MOSEK(mosekoptMSK_IPAR_INTPNT_BASIS 设置为 MSK_BI_NEVER 以节省时间)。 由于维数较大,求解器需要时间来求解程序。

我考虑过手动编写以下迭代过程:

  1. 取约束的随机子集并求解受限线性规划。

  2. 如果受限线性规划的解不存在,则停止。

  3. 若存在受限线性规划的解,则判断是否为原线性规划的解。如果是,停止。如果不是,则从 1. 开始重复,并使用包括本次迭代约束的更大约束集。

该过程似乎没有显着节省时间。我想知道这是不是因为1.,2.,3.本质上是求解器在不需要我输入的情况下所做的。你能建议一下吗?

如果在从 3. 移动到 1. 时,我向 mosekopt 提供受限线性程序的旧解,我可以改进吗?

这可能比在完整问题上使用 Mosek 更快,也可能不会更快。至少理论上你的方法是劣等的。

你没说问题的维度很有趣。 或解决完整问题需要多长时间。

一个棘手的问题是您在 3 中添加了多少约束以及哪些约束。这将非常重要。