Java 二进制整数规划求解器

4
我的问题是在尝试通过Java解决二元整数规划问题。我想运行一系列实验,这些实验的一个组成部分是解决一个整数规划问题,其中变量被限制为0和1之间。
过去我用MatLab中的bintprog函数解决这样的问题。在寻找在Java中使用的类(或函数?我非常新手)时,我没有找到这样的函数。
是否有可用于解决整数规划的Java库,并且具有非常好的文档?
在我的搜索中,我看到建议使用一个名为LP_Solve的包,它已经有了一个Java封装器,并且还为一个名为GLPK的包构建了一个类似的封装器(封装器herehere)(我以前用过)。这些工具的问题在于它们并不是专门为Java设计的,因此缺乏我觉得需要的文档,更糟糕的是,甚至开始在我的代码中使用它们也有复杂的说明。由于我目前正在学习Java语言,我想知道是否有任何真正好的包可用于从我的Java代码中解决二进制整数程序、混合整数线性规划或仅整数程序。
另外一件事,我真的不想切换到另一种语言,因为我正在构建过去的代码和执行我所需任务的类。

2
Java是一种通用语言。MatLab是一种数学编程语言。您需要自己编写功能,或者找到第三方库来进行计算。 - mellamokb
@Walter:那么你应该澄清你的问题。去掉无关紧要的内容,问清楚你的意思。 - Matt Ball
@Matt 最近的编辑是否提高了我的问题质量?我想确保人们能够理解我的问题核心,但仍然能够看到一些背景信息。 - Walter
你看过http://javailp.sourceforge.net/吗? - Mark Elliot
看一下apache.commons.math。也许它有你需要的东西:http://commons.apache.org/math/userguide/optimization.html - MicSim
显示剩余3条评论
4个回答

1

我对此非常有希望,但是JILPS似乎不是一个完整的项目。它更像是一个正在进行中的项目,没有可用的下载或相关信息。谢谢你,如果我在链接中漏掉了什么明显的东西,请随时纠正我! - Walter
@Walter:代码似乎有很好的文档,但你需要进行检出而不是下载。例如,可以参考这个测试程序:http://code.google.com/p/jilps/source/browse/trunk/src/jilps/cop4j/TestSimplexMethodPrimal.java - Mark Elliot

1

使用Java包装器的LP_Solve是我将要使用的。它是一个免费的混合整数线性规划求解器。按照这些说明,安装Java的LP_Solve非常容易。在您下载的软件包中包含有大量示例代码文件,我发现这非常有用。唯一让我放慢速度的安装部分是必须加入Yahoo群组以找到下载文件。


0

IBM cplex虽然是C库,但有Java包装器和文档


-1

如果你想要取值为0或1,尝试使用布尔数据类型...如果你正在处理介于0到1之间的概率,请限制浮点值使其大于等于0且小于等于1;


谢谢您的回答,但它并没有解决我的问题。我已经编辑了我的问题,试图澄清我所寻找的内容。 - Walter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接