3

我有一个带有整数约束的 LP,我想使用 Python 以精确的算术求解。其实我只需要一个可行的点。

编辑:这里的“精确算术”是指无界枚举数和分母的有理数。

以前的尝试:

  • 找到线性程序提到 qsoptex 的确切解决方案,但是当我尝试导入它时,我得到了ImportError: libqsopt_ex.so.2: cannot open shared object file: No such file or directory,尽管据我所知,我给出了该库的路径。
  • SoPlex 在控制台上工作,但我找不到 Python 接口。
  • PySCIPOpt ( https://github.com/SCIP-Interfaces/PySCIPOpt ) 是 SCIP 的 Python 接口,包括 SoPlex,但我不知道如何调用特定的求解器(带有特定选项)。
  • cdd(https://pycddlib.readthedocs.io/en/latest/linprog.html)做了一些事情,称之为LP,但我不知道他们实际解决了哪个问题。

速度只是一个中等问题。我的较大实例有大约 500 个带有框约束和 40 个等式的变量,但所涉及的数字可能很大。

4

1 回答 1

1

也许我错过了这一点,但任何需要有理数解决方案的线性规划任务实际上都是整数规划问题,您可以在其中找到所有小数变量的 LCD(最小公分母)并同意您以后用作整数的分子。因此,似乎问题只需要重新制定,您就可以获得确切的解决方案。

于 2020-01-14T10:35:17.900 回答