Linux 上有没有什么好的工具可以解决整数规划问题?

我有一个小问题想要计算以节省时间:D。这是一种子集和问题。我有一个大约 20 个整数值的列表,我想计算满足特定最小值的最小总和的子集。你可以用整数程序来表达它......就像是

\sum_{i=1}^{n} w*x -> min

\sum_{i=1}^{n} w*x >= c with x \in \{0,1\}

或者还有其他好的方法可以做到这一点吗?

有帮助吗?

解决方案

我会尝试 GLPK 或者 SCIP.

他们有自己的建模语言,GLPK 有 GNU MathProg,SCIP 有 ZIMPL,因此您可以方便地编写您的 LP 问题。

GNU MathProg 的优点是兼容 AMPL. 。因此,您可以尝试使用 CPLEX 的 AMPL 学生版或使用 GNU MathProg 模型的 Gurobi。请记住,AMPL、CPLEX 和 Gurobi 是商业软件。

其他提示

你有没有尝试过这样做 自由办公计算器 求解器?

微软求解器基金会 如果您了解 C#,Mono Framework 也可以为您完成这项工作。

尝试 林多/行话. 。它们不是免费的,但您可以尝试一下。

它们允许您以非常简洁的数学方式指定您的问题。

你可以尝试 gnu Octave - 它是 matlab 的子集

我想在 @Ali 提出的 GLPK 建议中再添加一个选项。我建议任何对解决 LP/IP 感兴趣的人也研究一下 R 语言提供的优化包。

如果您已经了解并使用 R,那么只需下载正确的软件包即可。即使您不这样做,这也是了解 R 的好方法,R 确实在分析领域取得了飞速发展。

小插图 是了解哪些 R 包相关的好方法。为你, 交响乐 或者 糖蛋白激酶 可能是从这些开始的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top