0

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

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

  1. 取一个随机的约束子集并求解受限线性程序。

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

  3. 如果存在受限线性规划的解,则检查它是否是原始线性规划的解。如果是,请停止。如果不是,请从 1. 开始重复。使用包含此迭代约束的更大约束集。

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

如果在从 3. 移到 1. 时,我提供mosekopt了受限线性程序的旧解决方案,我可以做些改进吗?

4

1 回答 1

1

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

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

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

于 2021-09-15T12:35:05.933 回答