任何好的工具来解决Linux上的整数程序?

有什么好的工具来解决在Linux上的整数程序?

我有一个小问题,我想计算,以节省时间:D。 这是一个子集和问题。 我有大约20个整数值的列表,我想计算满足一定最小值的最小和的子集。 你可以用一个整数程序来制定这个…类似的东西

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

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

或者还有其他的好办法吗?

Solutions Collecting From Web of "任何好的工具来解决Linux上的整数程序?"

我会尝试GLPK或SCIP 。

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

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

你有没有试图用LibreOffice计算器求解器(http://help.libreoffice.org/Calc/Solver)?

如果您了解C#,单声道框架上的Microsoft Solver Foundation也可以为您完成这项工作。

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

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

你可以尝试GNU倍频程 – 它是matlab的一个子集

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

如果您已经知道并使用R,那么只需下载正确的软件包即可。 即使你不这样做,这是一个很好的方式来引入R,这是真正在分析空间起飞。

这个小插曲是知道哪些R包相关的好方法。 对你来说, RSymphony或Rglpk可能是最开始的。