gpt4 book ai didi

java - 如何在 Apache Commons Math 中执行整数线性规划

转载 作者:行者123 更新时间:2023-12-01 17:57:16 25 4
gpt4 key购买 nike

Apache Commons Math Library中的org.apache.commons.math3.optim.linear包允许线性优化,但返回值是双倍的。有没有办法使用这个库执行整数线性规划?我尝试用谷歌搜索,但似乎没有任何地方提到 ILP。

或者,是否有其他 Java 库可以执行 ILP?请注意,我需要在 Android 上运行它,所以 SCPSolver、GLPK、Or-tools。等等都是不可能的。

提前致谢。

最佳答案

由于这个问题和“Android 中的线性编程”一般是一个很少讨论的话题,我想我会在这里发布我的发现,供将来搜索的任何人使用。

顺便说一句,我最终使用了 Ojalgo 的端口,如下所示。

这些是我发现可以轻松导入到 Android 项目中的 LP 库:

Apache Commons Math

这可能是维护得最好的库,它支持线性优化,但没有“整数”LP

The next two libraries do support Integer LP and/or Mixed Integer LP.

Choco Solver

尽管最新版本的 Choco (4.0) 基于 Java 8,但还有版本 3.3.3 的 Java 7 变体。可以找到here 。这会毫无问题地导入 Android Studio。

您可能遇到的另一个问题是,即使他们的网站上有版本 4 的指南和教程,您也无法找到除 Javadocs 之外的任何 Choco 3 指南。但幸运的是,有人制作了旧指南的 PDF 文件,您可以通过 Google 搜索 "Choco3 User Manual" 获取该指南。 .

另请注意,Choco 已获得 Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License 许可。因此,如果您想在商业项目中使用 LP,请考虑下一个选项。

Oj! Algorithms

Ojalgo 是另一个很棒的图书馆,它有 MIT Licence并支持 Java 7。但据我发现,它使用了一些 Android 中不可用的 Java 调用。

幸运的是,MVP已将该库移植到 Android 中:KIC/ojAlgoAndroid

该端口运行没有任何问题。我已经在 J​​itpack 上 fork 并创建了一个版本:shahimclt/ojAlgoAndroid .

关于java - 如何在 Apache Commons Math 中执行整数线性规划,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43698304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com