什么好的工具来解决linux上的整数程序?

时间:2012-05-19 17:17:35

标签: linux solver linear-programming

在Linux上有解决整数程序的好工具吗?

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

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

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

或者还有其他好办法吗?

5 个答案:

答案 0 :(得分:9)

我会尝试GLPKSCIP

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

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

答案 1 :(得分:4)

您是否曾尝试使用LibreOffice Calc Solver

如果您了解C#,Mono Framework上的

Microsoft Solver Foundation 也可以帮到您。

答案 2 :(得分:1)

试试Lindo/Lingo。他们不是免费的,但你可以试试。

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

答案 3 :(得分:0)

你可以尝试gnu octave - 它是matlab的一个子集

答案 4 :(得分:0)

我想为@Ali提出的GLPK建议添加一个选项。我建议有兴趣解决LP / IP的人也会研究R语言提供的优化包。

如果您已经知道并使用R,那么只需下载正确的软件包即可。即使你不这样做,这也是引入R的一种好方法,它在分析领域真正起步。

这个vignette是了解哪些R包相关的非常好的方法。 对您而言,RSymphonyRglpk可能就是您的首选。